We could maintain the static conversions for the !AArch64 Raspberry Pis, but I'm not sure it's worth it -- we'll traverse the platform list exactly once (of which there are only two for armv7), then every conversion there-after traverses the memory map listing of which there are at-most two entries for these boards: sdram and peripheral space. Detecting this at runtime is necessary for the AArch64 SOC, though, because of the distinct IO windows being otherwise not discernible just from support compiled into the kernel. We currently select the correct window based on /compatible in the FDT. We also use a similar mechanism to describe the DMA restrictions- the RPi 4 can have up to 4GB of RAM while the DMA controller and mailbox mechanism can technically, kind of, only access the lowest 1GB. See the comment in bcm2835_vcbus.h for a fun description/clarification of this. Differential Revision: https://reviews.freebsd.org/D22301
46 lines
2.5 KiB
Plaintext
46 lines
2.5 KiB
Plaintext
# $FreeBSD$
|
|
|
|
arm/broadcom/bcm2835/bcm2835_bsc.c optional bcm2835_bsc
|
|
arm/broadcom/bcm2835/bcm2835_cpufreq.c standard
|
|
arm/broadcom/bcm2835/bcm2835_dma.c standard
|
|
arm/broadcom/bcm2835/bcm2835_fb.c optional sc
|
|
arm/broadcom/bcm2835/bcm2835_fbd.c optional vt
|
|
arm/broadcom/bcm2835/bcm2835_ft5406.c optional evdev bcm2835_ft5406
|
|
arm/broadcom/bcm2835/bcm2835_gpio.c optional gpio
|
|
arm/broadcom/bcm2835/bcm2835_intr.c standard
|
|
arm/broadcom/bcm2835/bcm2835_machdep.c optional platform
|
|
arm/broadcom/bcm2835/bcm2835_mbox.c standard
|
|
arm/broadcom/bcm2835/bcm2835_rng.c optional random
|
|
arm/broadcom/bcm2835/bcm2835_sdhci.c optional sdhci
|
|
arm/broadcom/bcm2835/bcm2835_sdhost.c optional sdhci
|
|
arm/broadcom/bcm2835/bcm2835_spi.c optional bcm2835_spi
|
|
arm/broadcom/bcm2835/bcm2835_vcbus.c standard
|
|
arm/broadcom/bcm2835/bcm2835_vcio.c standard
|
|
arm/broadcom/bcm2835/bcm2835_wdog.c standard
|
|
arm/broadcom/bcm2835/bcm283x_dwc_fdt.c optional dwcotg fdt
|
|
|
|
dev/mbox/mbox_if.m standard
|
|
|
|
arm/broadcom/bcm2835/bcm2835_audio.c optional sound vchiq \
|
|
compile-with "${NORMAL_C} -DUSE_VCHIQ_ARM -D__VCCOREVER__=0x04000000 -I$S/contrib/vchiq"
|
|
|
|
# VideoCore driver
|
|
contrib/vchiq/interface/compat/vchi_bsd.c optional vchiq \
|
|
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 \
|
|
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 \
|
|
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 \
|
|
compile-with "${NORMAL_C} -DUSE_VCHIQ_ARM -D__VCCOREVER__=0x04000000 -I$S/contrib/vchiq"
|
|
contrib/vchiq/interface/vchiq_arm/vchiq_core.c optional vchiq \
|
|
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 \
|
|
compile-with "${NORMAL_C} -DUSE_VCHIQ_ARM -D__VCCOREVER__=0x04000000 -I$S/contrib/vchiq"
|
|
contrib/vchiq/interface/vchiq_arm/vchiq_kmod.c optional vchiq \
|
|
compile-with "${NORMAL_C} -DUSE_VCHIQ_ARM -D__VCCOREVER__=0x04000000 -I$S/contrib/vchiq"
|
|
contrib/vchiq/interface/vchiq_arm/vchiq_shim.c optional vchiq \
|
|
compile-with "${NORMAL_C} -DUSE_VCHIQ_ARM -D__VCCOREVER__=0x04000000 -I$S/contrib/vchiq"
|
|
contrib/vchiq/interface/vchiq_arm/vchiq_util.c optional vchiq \
|
|
compile-with "${NORMAL_C} -DUSE_VCHIQ_ARM -D__VCCOREVER__=0x04000000 -I$S/contrib/vchiq"
|