aboutsummaryrefslogtreecommitdiff
path: root/sys/conf/files.arm64
blob: 5c9cc1ca7b769c82574bd835661dd4b456333f28 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
# $FreeBSD$

##
## Kernel
##

kern/msi_if.m					optional intrng
kern/pic_if.m					optional intrng
kern/subr_devmap.c				standard
kern/subr_intr.c				optional intrng
kern/subr_physmem.c				standard
libkern/bcmp.c					standard
libkern/memcmp.c				standard	\
	compile-with "${NORMAL_C:N-fsanitize*}"
libkern/memset.c				standard	\
	compile-with "${NORMAL_C:N-fsanitize*}"
libkern/strlen.c		standard
libkern/arm64/crc32c_armv8.S			standard

arm/arm/generic_timer.c				standard
arm/arm/gic.c					standard
arm/arm/gic_acpi.c				optional acpi
arm/arm/gic_fdt.c				optional fdt
arm/arm/pmu.c					standard
arm/arm/pmu_fdt.c				optional fdt
arm64/acpica/acpi_iort.c			optional acpi
arm64/acpica/acpi_machdep.c			optional acpi
arm64/acpica/OsdEnvironment.c			optional acpi
arm64/acpica/acpi_wakeup.c			optional acpi
arm64/acpica/pci_cfgreg.c			optional acpi pci
arm64/arm64/autoconf.c				standard
arm64/arm64/bus_machdep.c			standard
arm64/arm64/bus_space_asm.S			standard
arm64/arm64/busdma_bounce.c			standard
arm64/arm64/busdma_machdep.c			standard
arm64/arm64/bzero.S				standard
arm64/arm64/clock.c				standard
arm64/arm64/copyinout.S				standard
arm64/arm64/cpu_errata.c			standard
arm64/arm64/cpufunc_asm.S			standard
arm64/arm64/db_disasm.c				optional ddb
arm64/arm64/db_interface.c			optional ddb
arm64/arm64/db_trace.c				optional ddb
arm64/arm64/debug_monitor.c			standard
arm64/arm64/disassem.c				optional ddb
arm64/arm64/dump_machdep.c			standard
arm64/arm64/efirt_machdep.c			optional efirt
arm64/arm64/elf32_machdep.c			optional compat_freebsd32
arm64/arm64/elf_machdep.c			standard
arm64/arm64/exception.S				standard
arm64/arm64/freebsd32_machdep.c			optional compat_freebsd32
arm64/arm64/gdb_machdep.c			optional gdb
arm64/arm64/gicv3_its.c				optional intrng fdt
arm64/arm64/gic_v3.c				standard
arm64/arm64/gic_v3_acpi.c			optional acpi
arm64/arm64/gic_v3_fdt.c			optional fdt
arm64/arm64/identcpu.c				standard
arm64/arm64/in_cksum.c				optional inet | inet6
arm64/arm64/locore.S				standard no-obj
arm64/arm64/machdep.c				standard
arm64/arm64/machdep_boot.c			standard
arm64/arm64/mem.c				standard
arm64/arm64/memcpy.S				standard
arm64/arm64/memmove.S				standard
arm64/arm64/minidump_machdep.c			standard
arm64/arm64/mp_machdep.c			optional smp
arm64/arm64/nexus.c				standard
arm64/arm64/ofw_machdep.c			optional fdt
arm64/arm64/pmap.c				standard
arm64/arm64/stack_machdep.c			optional ddb | stack
arm64/arm64/support.S				standard
arm64/arm64/swtch.S				standard
arm64/arm64/sys_machdep.c			standard
arm64/arm64/trap.c				standard
arm64/arm64/uio_machdep.c			standard
arm64/arm64/uma_machdep.c			standard
arm64/arm64/undefined.c				standard
arm64/arm64/unwind.c				optional ddb | kdtrace_hooks | stack
arm64/arm64/vfp.c				standard
arm64/arm64/vm_machdep.c			standard

arm64/coresight/coresight.c			standard
arm64/coresight/coresight_acpi.c		optional acpi
arm64/coresight/coresight_fdt.c			optional fdt
arm64/coresight/coresight_if.m			standard
arm64/coresight/coresight_cmd.c			standard
arm64/coresight/coresight_cpu_debug.c		standard
arm64/coresight/coresight_etm4x.c		standard
arm64/coresight/coresight_etm4x_acpi.c		optional acpi
arm64/coresight/coresight_etm4x_fdt.c		optional fdt
arm64/coresight/coresight_funnel.c		standard
arm64/coresight/coresight_funnel_acpi.c		optional acpi
arm64/coresight/coresight_funnel_fdt.c		optional fdt
arm64/coresight/coresight_replicator.c		standard
arm64/coresight/coresight_replicator_acpi.c	optional acpi
arm64/coresight/coresight_replicator_fdt.c	optional fdt
arm64/coresight/coresight_tmc.c			standard
arm64/coresight/coresight_tmc_acpi.c		optional acpi
arm64/coresight/coresight_tmc_fdt.c		optional fdt

arm64/iommu/iommu.c				optional iommu
arm64/iommu/iommu_if.m				optional iommu
arm64/iommu/smmu.c				optional iommu
arm64/iommu/smmu_acpi.c				optional acpi iommu
arm64/iommu/smmu_quirks.c			optional iommu
dev/iommu/busdma_iommu.c			optional iommu
dev/iommu/iommu_gas.c				optional iommu

crypto/armv8/armv8_crypto.c			optional armv8crypto
armv8_crypto_wrap.o				optional armv8crypto	\
	dependency	"$S/crypto/armv8/armv8_crypto_wrap.c"		\
	compile-with	"${CC} -c ${CFLAGS:C/^-O2$/-O3/:N-nostdinc:N-mgeneral-regs-only} -I$S/crypto/armv8/ ${WERROR} ${NO_WCAST_QUAL} ${PROF} -march=armv8-a+crypto ${.IMPSRC}" \
	no-implicit-rule						\
	clean		"armv8_crypto_wrap.o"
aesv8-armx.o					optional armv8crypto	\
	dependency	"$S/crypto/openssl/aarch64/aesv8-armx.S"	\
	compile-with	"${CC} -c ${CFLAGS:C/^-O2$/-O3/:N-nostdinc:N-mgeneral-regs-only} -I$S/crypto/armv8/ -I$S/crypto/openssl/crypto ${WERROR} ${NO_WCAST_QUAL} ${PROF} -march=armv8-a+crypto ${.IMPSRC}" \
	no-implicit-rule						\
	clean		"aesv8-armx.o"
ghashv8-armx.o					optional armv8crypto	\
	dependency	"$S/crypto/openssl/aarch64/ghashv8-armx.S"	\
	compile-with	"${CC} -c ${CFLAGS:C/^-O2$/-O3/:N-nostdinc:N-mgeneral-regs-only} -I$S/crypto/armv8/ -I$S/crypto/openssl/crypto ${WERROR} ${NO_WCAST_QUAL} ${PROF} -march=armv8-a+crypto ${.IMPSRC}" \
	no-implicit-rule						\
	clean		"ghashv8-armx.o"

crypto/des/des_enc.c				optional netsmb
crypto/openssl/ossl_aarch64.c			optional ossl
crypto/openssl/aarch64/sha1-armv8.S		optional ossl		\
	compile-with	"${CC} -c ${CFLAGS:N-mgeneral-regs-only} ${WERROR} ${PROF} ${.IMPSRC}"
crypto/openssl/aarch64/sha256-armv8.S		optional ossl		\
	compile-with	"${CC} -c ${CFLAGS:N-mgeneral-regs-only} ${WERROR} ${PROF} ${.IMPSRC}"
crypto/openssl/aarch64/sha512-armv8.S		optional ossl		\
	compile-with	"${CC} -c ${CFLAGS:N-mgeneral-regs-only} ${WERROR} ${PROF} ${.IMPSRC}"

dev/acpica/acpi_bus_if.m			optional acpi
dev/acpica/acpi_if.m				optional acpi
dev/acpica/acpi_pci_link.c			optional acpi pci
dev/acpica/acpi_pcib.c				optional acpi pci
dev/acpica/acpi_pxm.c				optional acpi
dev/ahci/ahci_generic.c				optional ahci

cddl/dev/dtrace/aarch64/dtrace_asm.S		optional dtrace compile-with "${DTRACE_S}"
cddl/dev/dtrace/aarch64/dtrace_subr.c		optional dtrace compile-with "${DTRACE_C}"
cddl/dev/fbt/aarch64/fbt_isa.c			optional dtrace_fbt | dtraceall compile-with "${FBT_C}"

##
## Device drivers
##

dev/axgbe/if_axgbe.c				optional axa
dev/axgbe/xgbe-desc.c				optional axa
dev/axgbe/xgbe-dev.c				optional axa
dev/axgbe/xgbe-drv.c				optional axa
dev/axgbe/xgbe-mdio.c				optional axa
dev/axgbe/xgbe-sysctl.c				optional axa
dev/axgbe/xgbe-txrx.c				optional axa
dev/axgbe/xgbe_osdep.c				optional axa
dev/axgbe/xgbe-phy-v1.c				optional axa

dev/cpufreq/cpufreq_dt.c			optional cpufreq fdt

dev/gpio/pl061.c				optional pl061 gpio
dev/gpio/pl061_acpi.c				optional pl061 gpio acpi
dev/gpio/pl061_fdt.c				optional pl061 gpio fdt

dev/hwpmc/hwpmc_arm64.c				optional hwpmc
dev/hwpmc/hwpmc_arm64_md.c			optional hwpmc

dev/ice/if_ice_iflib.c				optional ice pci \
	compile-with "${NORMAL_C} -I$S/dev/ice"
dev/ice/ice_lib.c				optional ice pci \
	compile-with "${NORMAL_C} -I$S/dev/ice"
dev/ice/ice_osdep.c				optional ice pci \
	compile-with "${NORMAL_C} -I$S/dev/ice"
dev/ice/ice_resmgr.c				optional ice pci \
	compile-with "${NORMAL_C} -I$S/dev/ice"
dev/ice/ice_strings.c				optional ice pci \
	compile-with "${NORMAL_C} -I$S/dev/ice"
dev/ice/ice_iflib_recovery_txrx.c		optional ice pci \
	compile-with "${NORMAL_C} -I$S/dev/ice"
dev/ice/ice_iflib_txrx.c			optional ice pci \
	compile-with "${NORMAL_C} -I$S/dev/ice"
dev/ice/ice_common.c				optional ice pci \
	compile-with "${NORMAL_C} -I$S/dev/ice"
dev/ice/ice_controlq.c				optional ice pci \
	compile-with "${NORMAL_C} -I$S/dev/ice"
dev/ice/ice_dcb.c				optional ice pci \
	compile-with "${NORMAL_C} -I$S/dev/ice"
dev/ice/ice_flex_pipe.c				optional ice pci \
	compile-with "${NORMAL_C} -I$S/dev/ice"
dev/ice/ice_flow.c				optional ice pci \
	compile-with "${NORMAL_C} -I$S/dev/ice"
dev/ice/ice_nvm.c				optional ice pci \
	compile-with "${NORMAL_C} -I$S/dev/ice"
dev/ice/ice_sched.c				optional ice pci \
	compile-with "${NORMAL_C} -I$S/dev/ice"
dev/ice/ice_sriov.c				optional ice pci \
	compile-with "${NORMAL_C} -I$S/dev/ice"
dev/ice/ice_switch.c				optional ice pci \
	compile-with "${NORMAL_C} -I$S/dev/ice"
ice_ddp.c					optional ice_ddp	\
	compile-with	"${AWK} -f $S/tools/fw_stub.awk ice_ddp.fw:ice_ddp:0x01031000 -mice_ddp -c${.TARGET}"	\
	no-ctfconvert no-implicit-rule before-depend local	\
	clean		"ice_ddp.c"
ice_ddp.fwo					optional ice_ddp	\
	dependency	"ice_ddp.fw"			\
	compile-with	"${NORMAL_FWO}"			\
	no-implicit-rule				\
	clean		"ice_ddp.fwo"
ice_ddp.fw					optional ice_ddp	\
	dependency	"$S/contrib/dev/ice/ice-1.3.16.0.pkg" \
	compile-with	"${CP} $S/contrib/dev/ice/ice-1.3.16.0.pkg ice_ddp.fw" \
	no-obj no-implicit-rule				\
	clean		"ice_ddp.fw"

dev/iicbus/sy8106a.c				optional sy8106a fdt
dev/iicbus/twsi/mv_twsi.c			optional twsi fdt
dev/iicbus/twsi/a10_twsi.c			optional twsi fdt
dev/iicbus/twsi/twsi.c				optional twsi fdt

dev/ipmi/ipmi.c					optional ipmi
dev/ipmi/ipmi_acpi.c				optional ipmi acpi
dev/ipmi/ipmi_kcs.c				optional ipmi
dev/ipmi/ipmi_smic.c				optional ipmi

dev/mbox/mbox_if.m				optional soc_brcm_bcm2837

dev/mmc/host/dwmmc.c				optional dwmmc fdt
dev/mmc/host/dwmmc_altera.c			optional dwmmc dwmmc_altera fdt
dev/mmc/host/dwmmc_hisi.c			optional dwmmc dwmmc_hisi fdt
dev/mmc/host/dwmmc_rockchip.c			optional dwmmc rk_dwmmc fdt

dev/neta/if_mvneta_fdt.c			optional neta fdt
dev/neta/if_mvneta.c				optional neta mdio mii

dev/ofw/ofw_cpu.c				optional fdt
dev/ofw/ofwpci.c				optional fdt pci

dev/pci/controller/pci_n1sdp.c			optional pci_n1sdp acpi
dev/pci/pci_host_generic.c			optional pci
dev/pci/pci_host_generic_acpi.c			optional pci acpi
dev/pci/pci_host_generic_fdt.c			optional pci fdt
dev/pci/pci_dw_mv.c				optional pci fdt
dev/pci/pci_dw.c				optional pci fdt
dev/pci/pci_dw_if.m				optional pci fdt

dev/psci/psci.c					standard
dev/psci/smccc_arm64.S				standard
dev/psci/smccc.c				standard

dev/safexcel/safexcel.c				optional safexcel fdt

dev/sdhci/sdhci_xenon.c				optional sdhci_xenon sdhci fdt

dev/uart/uart_cpu_arm64.c			optional uart
dev/uart/uart_dev_mu.c				optional uart uart_mu
dev/uart/uart_dev_pl011.c			optional uart pl011

dev/usb/controller/dwc_otg_hisi.c		optional dwcotg fdt soc_hisi_hi6220
dev/usb/controller/dwc3.c			optional fdt dwc3
dev/usb/controller/ehci_mv.c			optional ehci_mv fdt
dev/usb/controller/generic_ehci.c		optional ehci
dev/usb/controller/generic_ehci_acpi.c		optional ehci acpi
dev/usb/controller/generic_ehci_fdt.c		optional ehci fdt
dev/usb/controller/generic_ohci.c		optional ohci fdt
dev/usb/controller/generic_usb_if.m		optional ohci fdt
dev/usb/controller/musb_otg_allwinner.c		optional musb fdt soc_allwinner_a64
dev/usb/controller/usb_nop_xceiv.c		optional fdt ext_resources
dev/usb/controller/generic_xhci.c		optional xhci
dev/usb/controller/generic_xhci_acpi.c		optional xhci acpi
dev/usb/controller/generic_xhci_fdt.c		optional xhci fdt

dev/vnic/mrml_bridge.c				optional vnic fdt
dev/vnic/nic_main.c				optional vnic pci
dev/vnic/nicvf_main.c				optional vnic pci pci_iov
dev/vnic/nicvf_queues.c				optional vnic pci pci_iov
dev/vnic/thunder_bgx_fdt.c			optional soc_cavm_thunderx pci vnic fdt
dev/vnic/thunder_bgx.c				optional soc_cavm_thunderx pci vnic pci
dev/vnic/thunder_mdio_fdt.c			optional soc_cavm_thunderx pci vnic fdt
dev/vnic/thunder_mdio.c				optional soc_cavm_thunderx pci vnic
dev/vnic/lmac_if.m				optional inet | inet6 | vnic

##
## SoC Support
##

# Allwinner common files
arm/allwinner/a10_timer.c			optional a10_timer fdt
arm/allwinner/a10_codec.c			optional sound a10_codec
arm/allwinner/a31_dmac.c			optional a31_dmac
arm/allwinner/sunxi_dma_if.m			optional a31_dmac
arm/allwinner/aw_cir.c				optional evdev aw_cir fdt
arm/allwinner/aw_dwc3.c				optional aw_dwc3 fdt
arm/allwinner/aw_gpio.c				optional gpio aw_gpio fdt
arm/allwinner/aw_mmc.c				optional mmc aw_mmc fdt | mmccam aw_mmc fdt
arm/allwinner/aw_nmi.c				optional aw_nmi fdt \
	compile-with "${NORMAL_C} -I$S/contrib/device-tree/include"
arm/allwinner/aw_pwm.c				optional aw_pwm fdt
arm/allwinner/aw_rsb.c				optional aw_rsb fdt
arm/allwinner/aw_rtc.c				optional aw_rtc fdt
arm/allwinner/aw_sid.c				optional aw_sid nvmem fdt
arm/allwinner/aw_spi.c				optional aw_spi fdt
arm/allwinner/aw_syscon.c			optional aw_syscon ext_resources syscon fdt
arm/allwinner/aw_thermal.c			optional aw_thermal nvmem fdt
arm/allwinner/aw_usbphy.c			optional ehci aw_usbphy fdt
arm/allwinner/aw_usb3phy.c			optional xhci aw_usbphy fdt
arm/allwinner/aw_wdog.c				optional aw_wdog fdt
arm/allwinner/axp81x.c				optional axp81x fdt
arm/allwinner/if_awg.c				optional awg ext_resources syscon aw_sid nvmem fdt

# Allwinner clock driver
arm/allwinner/clkng/aw_ccung.c			optional aw_ccu fdt
arm/allwinner/clkng/aw_clk_frac.c		optional aw_ccu fdt
arm/allwinner/clkng/aw_clk_m.c			optional aw_ccu fdt
arm/allwinner/clkng/aw_clk_mipi.c		optional aw_ccu fdt
arm/allwinner/clkng/aw_clk_nkmp.c		optional aw_ccu fdt
arm/allwinner/clkng/aw_clk_nm.c			optional aw_ccu fdt
arm/allwinner/clkng/aw_clk_nmm.c		optional aw_ccu fdt
arm/allwinner/clkng/aw_clk_np.c			optional aw_ccu fdt
arm/allwinner/clkng/aw_clk_prediv_mux.c		optional aw_ccu fdt
arm/allwinner/clkng/ccu_a64.c			optional soc_allwinner_a64 aw_ccu fdt
arm/allwinner/clkng/ccu_h3.c			optional soc_allwinner_h5 aw_ccu fdt
arm/allwinner/clkng/ccu_h6.c			optional soc_allwinner_h6 aw_ccu fdt
arm/allwinner/clkng/ccu_h6_r.c			optional soc_allwinner_h6 aw_ccu fdt
arm/allwinner/clkng/ccu_sun8i_r.c		optional aw_ccu fdt
arm/allwinner/clkng/ccu_de2.c			optional aw_ccu fdt

# Allwinner padconf files
arm/allwinner/a64/a64_padconf.c			optional soc_allwinner_a64 fdt
arm/allwinner/a64/a64_r_padconf.c		optional soc_allwinner_a64 fdt
arm/allwinner/h3/h3_padconf.c			optional soc_allwinner_h5 fdt
arm/allwinner/h3/h3_r_padconf.c			optional soc_allwinner_h5 fdt
arm/allwinner/h6/h6_padconf.c			optional soc_allwinner_h6 fdt
arm/allwinner/h6/h6_r_padconf.c			optional soc_allwinner_h6 fdt

# Altera/Intel
dev/altera/dwc/if_dwc_socfpga.c			optional fdt dwc_socfpga
arm64/intel/firmware.c				optional soc_intel_stratix10
arm64/intel/stratix10-soc-fpga-mgr.c		optional soc_intel_stratix10
arm64/intel/stratix10-svc.c			optional soc_intel_stratix10

# Annapurna
arm/annapurna/alpine/alpine_ccu.c		optional al_ccu fdt
arm/annapurna/alpine/alpine_nb_service.c	optional al_nb_service fdt
arm/annapurna/alpine/alpine_pci.c		optional al_pci fdt
arm/annapurna/alpine/alpine_pci_msix.c		optional al_pci fdt
arm/annapurna/alpine/alpine_serdes.c		optional al_serdes fdt		\
	no-depend	\
	compile-with "${CC} -c -o ${.TARGET} ${CFLAGS} -I$S/contrib/alpine-hal -I$S/contrib/alpine-hal/eth ${PROF} ${.IMPSRC}"

# Broadcom
arm64/broadcom/brcmmdio/mdio_mux_iproc.c		optional fdt
arm64/broadcom/brcmmdio/mdio_nexus_iproc.c		optional fdt
arm64/broadcom/brcmmdio/mdio_ns2_pcie_phy.c		optional fdt pci
arm64/broadcom/genet/if_genet.c				optional SOC_BRCM_BCM2838 fdt genet
arm/broadcom/bcm2835/bcm2835_audio.c			optional sound vchiq fdt \
	compile-with "${NORMAL_C} -DUSE_VCHIQ_ARM -D__VCCOREVER__=0x04000000 -I$S/contrib/vchiq"
arm/broadcom/bcm2835/bcm2835_bsc.c			optional bcm2835_bsc fdt
arm/broadcom/bcm2835/bcm2835_clkman.c			optional soc_brcm_bcm2837 fdt | soc_brcm_bcm2838 fdt
arm/broadcom/bcm2835/bcm2835_cpufreq.c			optional soc_brcm_bcm2837 fdt | soc_brcm_bcm2838 fdt
arm/broadcom/bcm2835/bcm2835_dma.c			optional soc_brcm_bcm2837 fdt | soc_brcm_bcm2838 fdt
arm/broadcom/bcm2835/bcm2835_fbd.c			optional vt soc_brcm_bcm2837 fdt | vt soc_brcm_bcm2838 fdt
arm/broadcom/bcm2835/bcm2835_firmware.c			optional soc_brcm_bcm2837 fdt | soc_brcm_bcm2838 fdt
arm/broadcom/bcm2835/bcm2835_ft5406.c			optional evdev bcm2835_ft5406 fdt
arm/broadcom/bcm2835/bcm2835_gpio.c			optional gpio soc_brcm_bcm2837 fdt | gpio soc_brcm_bcm2838 fdt
arm/broadcom/bcm2835/bcm2835_intr.c			optional soc_brcm_bcm2837 fdt | soc_brcm_bcm2838 fdt
arm/broadcom/bcm2835/bcm2835_mbox.c			optional soc_brcm_bcm2837 fdt | soc_brcm_bcm2838 fdt
arm/broadcom/bcm2835/bcm2835_rng.c			optional !random_loadable soc_brcm_bcm2837 fdt | !random_loadable soc_brcm_bcm2838 fdt
arm/broadcom/bcm2835/bcm2835_sdhci.c			optional sdhci soc_brcm_bcm2837 fdt | sdhci soc_brcm_bcm2838 fdt
arm/broadcom/bcm2835/bcm2835_sdhost.c			optional sdhci soc_brcm_bcm2837 fdt | sdhci soc_brcm_bcm2838 fdt
arm/broadcom/bcm2835/bcm2835_spi.c			optional bcm2835_spi fdt
arm/broadcom/bcm2835/bcm2835_vcbus.c			optional soc_brcm_bcm2837 fdt | soc_brcm_bcm2838 fdt
arm/broadcom/bcm2835/bcm2835_vcio.c			optional soc_brcm_bcm2837 fdt | soc_brcm_bcm2838 fdt
arm/broadcom/bcm2835/bcm2835_wdog.c			optional soc_brcm_bcm2837 fdt | soc_brcm_bcm2838 fdt
arm/broadcom/bcm2835/bcm2836.c				optional soc_brcm_bcm2837 fdt | soc_brcm_bcm2838 fdt
arm/broadcom/bcm2835/bcm283x_dwc_fdt.c			optional dwcotg fdt soc_brcm_bcm2837 | dwcotg fdt soc_brcm_bcm2838
arm/broadcom/bcm2835/bcm2838_pci.c			optional soc_brcm_bcm2838 fdt pci
arm/broadcom/bcm2835/bcm2838_xhci.c			optional soc_brcm_bcm2838 fdt pci xhci
arm/broadcom/bcm2835/raspberrypi_gpio.c			optional soc_brcm_bcm2837 gpio | soc_brcm_bcm2838 gpio
contrib/vchiq/interface/compat/vchi_bsd.c		optional vchiq soc_brcm_bcm2837 \
	compile-with "${NORMAL_C} -DUSE_VCHIQ_ARM -D__VCCOREVER__=0x04000000 -I$S/contrib/vchiq"
contrib/vchiq/interface/vchiq_arm/vchiq_2835_arm.c	optional vchiq soc_brcm_bcm2837 \
	compile-with "${NORMAL_C} -Wno-unused -DUSE_VCHIQ_ARM -D__VCCOREVER__=0x04000000 -I$S/contrib/vchiq"
contrib/vchiq/interface/vchiq_arm/vchiq_arm.c		optional vchiq soc_brcm_bcm2837 \
	compile-with "${NORMAL_C} -Wno-unused -DUSE_VCHIQ_ARM -D__VCCOREVER__=0x04000000 -I$S/contrib/vchiq"
contrib/vchiq/interface/vchiq_arm/vchiq_connected.c	optional vchiq soc_brcm_bcm2837 \
	compile-with "${NORMAL_C} -DUSE_VCHIQ_ARM -D__VCCOREVER__=0x04000000 -I$S/contrib/vchiq"
contrib/vchiq/interface/vchiq_arm/vchiq_core.c		optional vchiq soc_brcm_bcm2837 \
	compile-with "${NORMAL_C} -DUSE_VCHIQ_ARM -D__VCCOREVER__=0x04000000 -I$S/contrib/vchiq"
contrib/vchiq/interface/vchiq_arm/vchiq_kern_lib.c	optional vchiq soc_brcm_bcm2837 \
	compile-with "${NORMAL_C} -DUSE_VCHIQ_ARM -D__VCCOREVER__=0x04000000 -I$S/contrib/vchiq"
contrib/vchiq/interface/vchiq_arm/vchiq_kmod.c		optional vchiq soc_brcm_bcm2837 \
	compile-with "${NORMAL_C} -DUSE_VCHIQ_ARM -D__VCCOREVER__=0x04000000 -I$S/contrib/vchiq"
contrib/vchiq/interface/vchiq_arm/vchiq_shim.c		optional vchiq soc_brcm_bcm2837 \
	compile-with "${NORMAL_C} -DUSE_VCHIQ_ARM -D__VCCOREVER__=0x04000000 -I$S/contrib/vchiq"
contrib/vchiq/interface/vchiq_arm/vchiq_util.c		optional vchiq soc_brcm_bcm2837 \
	compile-with "${NORMAL_C} -DUSE_VCHIQ_ARM -D__VCCOREVER__=0x04000000 -I$S/contrib/vchiq"

# Cavium
arm64/cavium/thunder_pcie_fdt.c			optional soc_cavm_thunderx pci fdt
arm64/cavium/thunder_pcie_pem.c			optional soc_cavm_thunderx pci
arm64/cavium/thunder_pcie_pem_fdt.c		optional soc_cavm_thunderx pci fdt
arm64/cavium/thunder_pcie_common.c		optional soc_cavm_thunderx pci

# i.MX8 Clock support
arm64/freescale/imx/imx8mq_ccm.c		optional fdt soc_freescale_imx8
arm64/freescale/imx/clk/imx_clk_gate.c		optional fdt soc_freescale_imx8
arm64/freescale/imx/clk/imx_clk_mux.c		optional fdt soc_freescale_imx8
arm64/freescale/imx/clk/imx_clk_composite.c	optional fdt soc_freescale_imx8
arm64/freescale/imx/clk/imx_clk_sscg_pll.c	optional fdt soc_freescale_imx8
arm64/freescale/imx/clk/imx_clk_frac_pll.c	optional fdt soc_freescale_imx8

# iMX drivers
arm/freescale/imx/imx_gpio.c			optional gpio soc_freescale_imx8
arm/freescale/imx/imx_i2c.c			optional fsliic
arm/freescale/imx/imx_machdep.c			optional fdt soc_freescale_imx8
arm64/freescale/imx/imx7gpc.c			optional fdt soc_freescale_imx8
dev/ffec/if_ffec.c				optional ffec

# Marvell
arm/mv/a37x0_gpio.c				optional a37x0_gpio gpio fdt
arm/mv/a37x0_iic.c				optional a37x0_iic iicbus fdt
arm/mv/a37x0_spi.c				optional a37x0_spi spibus fdt
arm/mv/armada38x/armada38x_rtc.c		optional mv_rtc fdt
arm/mv/gpio.c					optional mv_gpio fdt
arm/mv/mvebu_gpio.c				optional mv_gpio fdt
arm/mv/mvebu_pinctrl.c				optional mvebu_pinctrl fdt
arm/mv/mv_ap806_clock.c				optional SOC_MARVELL_8K fdt
arm/mv/mv_ap806_gicp.c				optional mv_ap806_gicp fdt
arm/mv/mv_ap806_sei.c				optional mv_ap806_sei fdt
arm/mv/mv_cp110_clock.c				optional SOC_MARVELL_8K fdt
arm/mv/mv_cp110_icu.c				optional mv_cp110_icu fdt
arm/mv/mv_cp110_icu_bus.c			optional mv_cp110_icu fdt
arm/mv/mv_thermal.c				optional SOC_MARVELL_8K mv_thermal fdt
arm/mv/armada38x/armada38x_rtc.c		optional mv_rtc fdt

# NVidia
arm/nvidia/tegra_abpmisc.c			optional fdt soc_nvidia_tegra210
arm/nvidia/tegra_ahci.c				optional fdt soc_nvidia_tegra210
arm/nvidia/tegra_efuse.c			optional fdt soc_nvidia_tegra210
arm/nvidia/tegra_ehci.c				optional fdt soc_nvidia_tegra210
arm/nvidia/tegra_gpio.c				optional fdt soc_nvidia_tegra210
arm/nvidia/tegra_i2c.c				optional fdt soc_nvidia_tegra210
arm/nvidia/tegra_lic.c				optional fdt soc_nvidia_tegra210
arm/nvidia/tegra_mc.c				optional fdt soc_nvidia_tegra210
arm/nvidia/tegra_pcie.c				optional fdt soc_nvidia_tegra210
arm/nvidia/tegra_sdhci.c			optional fdt soc_nvidia_tegra210
arm/nvidia/tegra_soctherm_if.m			optional fdt soc_nvidia_tegra210
arm/nvidia/tegra_soctherm.c			optional fdt soc_nvidia_tegra210
arm/nvidia/tegra_uart.c				optional fdt soc_nvidia_tegra210
arm/nvidia/tegra_usbphy.c			optional fdt soc_nvidia_tegra210
arm/nvidia/tegra_xhci.c				optional fdt soc_nvidia_tegra210
arm64/nvidia/tegra210/max77620.c		optional fdt soc_nvidia_tegra210
arm64/nvidia/tegra210/max77620_gpio.c		optional fdt soc_nvidia_tegra210
arm64/nvidia/tegra210/max77620_regulators.c	optional fdt soc_nvidia_tegra210
arm64/nvidia/tegra210/max77620_rtc.c		optional fdt soc_nvidia_tegra210
arm64/nvidia/tegra210/tegra210_car.c		optional fdt soc_nvidia_tegra210
arm64/nvidia/tegra210/tegra210_clk_per.c	optional fdt soc_nvidia_tegra210
arm64/nvidia/tegra210/tegra210_clk_pll.c	optional fdt soc_nvidia_tegra210
arm64/nvidia/tegra210/tegra210_clk_super.c	optional fdt soc_nvidia_tegra210
arm64/nvidia/tegra210/tegra210_coretemp.c	optional fdt soc_nvidia_tegra210
arm64/nvidia/tegra210/tegra210_cpufreq.c	optional fdt soc_nvidia_tegra210
arm64/nvidia/tegra210/tegra210_pinmux.c		optional fdt soc_nvidia_tegra210
arm64/nvidia/tegra210/tegra210_pmc.c		optional fdt soc_nvidia_tegra210
arm64/nvidia/tegra210/tegra210_xusbpadctl.c	optional fdt soc_nvidia_tegra210

# Nvidia firmware for Tegra
tegra210_xusb_fw.c				optional tegra210_xusb_fw	\
	dependency	"$S/conf/files.arm64"					\
	compile-with	"${AWK} -f $S/tools/fw_stub.awk tegra210_xusb.fw:tegra210_xusb_fw -mtegra210_xusb_fw -c${.TARGET}" \
	no-ctfconvert no-implicit-rule before-depend local			\
	clean		"tegra210_xusb_fw.c"

tegra210_xusb.fwo				optional tegra210_xusb_fw	\
	dependency	"tegra210_xusb.fw"					\
	compile-with	"${NORMAL_FWO}"						\
	no-implicit-rule							\
	clean		"tegra210_xusb.fwo"

tegra210_xusb.fw				optional tegra210_xusb_fw	\
	dependency	"$S/contrib/dev/nvidia/tegra210_xusb.bin.uu"		\
	compile-with	"${NORMAL_FW}"						\
	no-obj no-implicit-rule							\
	clean		"tegra210_xusb.fw"

# NXP
arm/freescale/vybrid/vf_i2c.c			optional vf_i2c iicbus SOC_NXP_LS
arm64/qoriq/ls1046_gpio.c			optional ls1046_gpio gpio fdt SOC_NXP_LS
arm64/qoriq/qoriq_dw_pci.c			optional pci fdt SOC_NXP_LS
arm64/qoriq/qoriq_therm.c			optional pci fdt SOC_NXP_LS
arm64/qoriq/qoriq_therm_if.m			optional pci fdt SOC_NXP_LS
arm64/qoriq/clk/ls1046a_clkgen.c		optional clk SOC_NXP_LS
arm64/qoriq/clk/lx2160a_clkgen.c		optional clk SOC_NXP_LS
arm64/qoriq/clk/qoriq_clk_pll.c			optional clk SOC_NXP_LS
arm64/qoriq/clk/qoriq_clkgen.c			optional clk SOC_NXP_LS
dev/ahci/ahci_fsl_fdt.c				optional SOC_NXP_LS ahci fdt

# Qualcomm
arm64/qualcomm/qcom_gcc.c			optional qcom_gcc fdt

# RockChip Drivers
arm64/rockchip/rk3399_emmcphy.c			optional fdt rk_emmcphy soc_rockchip_rk3399
arm64/rockchip/rk_dwc3.c			optional fdt rk_dwc3 soc_rockchip_rk3399
arm64/rockchip/rk_i2c.c				optional fdt rk_i2c soc_rockchip_rk3328 | fdt rk_i2c soc_rockchip_rk3399
arm64/rockchip/rk805.c				optional fdt rk805 soc_rockchip_rk3328 | fdt rk805 soc_rockchip_rk3399
arm64/rockchip/rk_grf.c				optional fdt soc_rockchip_rk3328 | fdt soc_rockchip_rk3399
arm64/rockchip/rk_pinctrl.c			optional fdt rk_pinctrl soc_rockchip_rk3328 | fdt rk_pinctrl soc_rockchip_rk3399
arm64/rockchip/rk_gpio.c			optional fdt rk_gpio soc_rockchip_rk3328 | fdt rk_gpio soc_rockchip_rk3399
arm64/rockchip/rk_iodomain.c			optional fdt rk_iodomain
arm64/rockchip/rk_spi.c				optional fdt rk_spi
arm64/rockchip/rk_usb2phy.c			optional fdt rk_usb2phy soc_rockchip_rk3328 | soc_rockchip_rk3399
arm64/rockchip/rk_typec_phy.c			optional fdt rk_typec_phy soc_rockchip_rk3399
arm64/rockchip/if_dwc_rk.c			optional fdt dwc_rk soc_rockchip_rk3328 | fdt dwc_rk soc_rockchip_rk3399
arm64/rockchip/rk_tsadc_if.m			optional fdt soc_rockchip_rk3399
arm64/rockchip/rk_tsadc.c			optional fdt soc_rockchip_rk3399
arm64/rockchip/rk_pwm.c				optional fdt rk_pwm
arm64/rockchip/rk_pcie.c			optional fdt pci soc_rockchip_rk3399
arm64/rockchip/rk_pcie_phy.c			optional fdt pci soc_rockchip_rk3399
dev/dwc/if_dwc.c				optional fdt dwc_rk soc_rockchip_rk3328 | fdt dwc_rk soc_rockchip_rk3399
dev/dwc/if_dwc_if.m				optional fdt dwc_rk soc_rockchip_rk3328 | fdt dwc_rk soc_rockchip_rk3399

# RockChip Clock support
arm64/rockchip/clk/rk_cru.c			optional fdt soc_rockchip_rk3328 | fdt soc_rockchip_rk3399
arm64/rockchip/clk/rk_clk_armclk.c		optional fdt soc_rockchip_rk3328 | fdt soc_rockchip_rk3399
arm64/rockchip/clk/rk_clk_composite.c		optional fdt soc_rockchip_rk3328 | fdt soc_rockchip_rk3399
arm64/rockchip/clk/rk_clk_fract.c		optional fdt soc_rockchip_rk3328 | fdt soc_rockchip_rk3399
arm64/rockchip/clk/rk_clk_gate.c		optional fdt soc_rockchip_rk3328 | fdt soc_rockchip_rk3399
arm64/rockchip/clk/rk_clk_mux.c			optional fdt soc_rockchip_rk3328 | fdt soc_rockchip_rk3399
arm64/rockchip/clk/rk_clk_pll.c			optional fdt soc_rockchip_rk3328 | fdt soc_rockchip_rk3399
arm64/rockchip/clk/rk3328_cru.c			optional fdt soc_rockchip_rk3328
arm64/rockchip/clk/rk3399_cru.c			optional fdt soc_rockchip_rk3399
arm64/rockchip/clk/rk3399_pmucru.c		optional fdt soc_rockchip_rk3399

# Xilinx
arm/xilinx/uart_dev_cdnc.c			optional uart soc_xilinx_zynq

# Linuxkpi
compat/linuxkpi/common/src/linux_fpu.c		optional compat_linuxkpi \
	compile-with "${LINUXKPI_C}"

# Cloudabi
arm64/cloudabi32/cloudabi32_sysvec.c		optional compat_cloudabi32
arm64/cloudabi64/cloudabi64_sysvec.c		optional compat_cloudabi64

cloudabi32_vdso.o				optional compat_cloudabi32	\
	dependency	"$S/contrib/cloudabi/cloudabi_vdso_armv6_on_64bit.S"	\
	compile-with	"${CC} -x assembler-with-cpp -m32 -shared -nostdinc -nostdlib -Wl,-T$S/compat/cloudabi/cloudabi_vdso.lds $S/contrib/cloudabi/cloudabi_vdso_armv6_on_64bit.S -o ${.TARGET}" \
	no-obj no-implicit-rule						\
	clean		"cloudabi32_vdso.o"
cloudabi32_vdso_blob.o				optional compat_cloudabi32	\
	dependency 	"cloudabi32_vdso.o"			\
	compile-with	"${OBJCOPY} --input-target binary --output-target elf64-littleaarch64 --binary-architecture aarch64 cloudabi32_vdso.o ${.TARGET}" \
	no-implicit-rule						\
	clean		"cloudabi32_vdso_blob.o"
cloudabi64_vdso.o				optional compat_cloudabi64	\
	dependency	"$S/contrib/cloudabi/cloudabi_vdso_aarch64.S"	\
	compile-with	"${CC} -x assembler-with-cpp -shared -nostdinc -nostdlib -Wl,-T$S/compat/cloudabi/cloudabi_vdso.lds $S/contrib/cloudabi/cloudabi_vdso_aarch64.S -o ${.TARGET}" \
	no-obj no-implicit-rule						\
	clean		"cloudabi64_vdso.o"
cloudabi64_vdso_blob.o				optional compat_cloudabi64	\
	dependency 	"cloudabi64_vdso.o"			\
	compile-with	"${OBJCOPY} --input-target binary --output-target elf64-littleaarch64 --binary-architecture aarch64 cloudabi64_vdso.o ${.TARGET}" \
	no-implicit-rule						\
	clean		"cloudabi64_vdso_blob.o"