1 1.45 thorpej # $NetBSD: files.bcm2835,v 1.45 2025/09/10 13:06:22 thorpej Exp $ 2 1.1 skrll # 3 1.1 skrll # Configuration info for Broadcom BCM2835 ARM Peripherals 4 1.1 skrll # 5 1.1 skrll 6 1.1 skrll file arch/arm/broadcom/bcm2835_dma.c 7 1.5 jakllsch file arch/arm/broadcom/bcm2835_mbox_subr.c 8 1.29 skrll file arch/arm/broadcom/bcm283x_platform.c 9 1.29 skrll 10 1.29 skrll define bcmmboxbus { } 11 1.29 skrll 12 1.43 skrll # Interrupt Controller (BCM2835_ARMICU_BASE) 13 1.1 skrll device bcmicu: pic, pic_splfuncs 14 1.29 skrll attach bcmicu at fdt with bcmicu 15 1.1 skrll file arch/arm/broadcom/bcm2835_intr.c bcmicu 16 1.1 skrll 17 1.2 skrll # VC Mailbox (BCM2835_ARMMBOX_BASE) 18 1.9 jmcneill device bcmmbox: bcmmboxbus 19 1.2 skrll file arch/arm/broadcom/bcm2835_mbox.c bcmmbox 20 1.36 jmcneill attach bcmmbox at fdt with bcmmbox_fdt 21 1.36 jmcneill file arch/arm/broadcom/bcm2835_mbox_fdt.c bcmmbox_fdt 22 1.38 jmcneill 23 1.38 jmcneill ifdef acpinodebus 24 1.36 jmcneill attach bcmmbox at acpinodebus with bcmmbox_acpi 25 1.36 jmcneill file arch/arm/broadcom/bcm2835_mbox_acpi.c bcmmbox_acpi 26 1.38 jmcneill endif 27 1.2 skrll 28 1.1 skrll # System Timer (BCM2835_TIMER_BASE) 29 1.1 skrll device bcmtmr 30 1.29 skrll attach bcmtmr at fdt with bcmtmr_fdt 31 1.29 skrll file arch/arm/broadcom/bcm2835_tmr.c bcmtmr & !soc_bcm2836 32 1.1 skrll 33 1.1 skrll # Power Management, Reset Controller, and Watchdog (BCM2835_PM_BASE) 34 1.44 thorpej device bcmpmwdog: fdt_power, sysmon_wdog 35 1.34 skrll attach bcmpmwdog at fdt with bcmpmwdog_fdt 36 1.29 skrll file arch/arm/broadcom/bcm2835_pmwdog.c bcmpmwdog_fdt 37 1.1 skrll 38 1.14 jmcneill # Random number generator (BCM2835_RNG_BASE) 39 1.14 jmcneill device bcmrng 40 1.29 skrll attach bcmrng at fdt with bcmrng_fdt 41 1.14 jmcneill file arch/arm/broadcom/bcm2835_rng.c bcmrng 42 1.14 jmcneill 43 1.35 mlelstv # Random number generator (BCM2835_RNG_BASE (!)) 44 1.35 mlelstv device bcm2838rng 45 1.35 mlelstv attach bcm2838rng at fdt with bcm2838rng_fdt 46 1.35 mlelstv file arch/arm/broadcom/bcm2838_rng.c bcm2838rng 47 1.35 mlelstv file dev/ic/rng200.c bcm2838rng 48 1.35 mlelstv 49 1.40 mlelstv # Broadcom STB PCIE host 50 1.40 mlelstv device bcm2838pcie: pcibus 51 1.40 mlelstv attach bcm2838pcie at fdt with bcm2838pcie_fdt 52 1.40 mlelstv file arch/arm/broadcom/bcm2838_pcie.c bcm2838pcie 53 1.40 mlelstv 54 1.29 skrll # AUX 55 1.44 thorpej device bcmaux: fdt_clock 56 1.29 skrll attach bcmaux at fdt with bcmaux_fdt 57 1.29 skrll file arch/arm/broadcom/bcm2835_aux.c bcmaux 58 1.1 skrll 59 1.28 jmcneill # AUX UART (BCM2835_AUX_UART_BASE) 60 1.44 thorpej attach com at fdt with bcmcom: fdt_clock 61 1.28 jmcneill file arch/arm/broadcom/bcm2835_com.c bcmcom 62 1.28 jmcneill 63 1.42 jmcneill ifdef acpinodebus 64 1.42 jmcneill attach com at acpinodebus with bcmcom_acpi 65 1.42 jmcneill file arch/arm/broadcom/bcm2835_com_acpi.c bcmcom_acpi 66 1.42 jmcneill endif 67 1.42 jmcneill 68 1.1 skrll # External Mass Media Controller (BCM2835_EMMC_BASE) 69 1.44 thorpej attach sdhc at fdt with bcmemmc: fdt_clock 70 1.1 skrll file arch/arm/broadcom/bcm2835_emmc.c bcmemmc 71 1.6 jakllsch 72 1.38 jmcneill ifdef acpinodebus 73 1.37 jmcneill attach sdhc at acpinodebus with bcmemmc_acpi 74 1.37 jmcneill file arch/arm/broadcom/bcm2835_emmc_acpi.c bcmemmc_acpi 75 1.41 jmcneill attach sdhc at acpinodebus with bcmemmc2_acpi 76 1.41 jmcneill file arch/arm/broadcom/bcm2838_emmc2_acpi.c bcmemmc2_acpi 77 1.38 jmcneill endif 78 1.37 jmcneill 79 1.27 jmcneill # SD Host Controller (BCM2835_SDHOST_BASE) 80 1.34 skrll device bcmsdhost: sdmmcbus 81 1.44 thorpej attach bcmsdhost at fdt with bcmsdhost: fdt_clock 82 1.27 jmcneill file arch/arm/broadcom/bcm2835_sdhost.c bcmsdhost needs-flag 83 1.27 jmcneill 84 1.22 jmcneill # DMA Controller (BCM2835_DMA0_BASE) 85 1.22 jmcneill device bcmdmac 86 1.29 skrll attach bcmdmac at fdt with bcmdmac_fdt 87 1.23 skrll file arch/arm/broadcom/bcm2835_dmac.c bcmdmac needs-flag 88 1.22 jmcneill 89 1.12 skrll # USB (BCM2835_USB_BASE) 90 1.29 skrll attach dwctwo at fdt with bcmdwctwo 91 1.17 skrll file arch/arm/broadcom/bcm2835_dwctwo.c bcmdwctwo needs-flag 92 1.17 skrll 93 1.8 jakllsch # SPI controller (BCM2835_SPI0_BASE) 94 1.8 jakllsch device bcmspi: spibus, bcm2835_gpio_subr 95 1.45 thorpej attach bcmspi at fdt: fdt_spi 96 1.10 skrll file arch/arm/broadcom/bcm2835_spi.c bcmspi needs-flag 97 1.8 jakllsch 98 1.7 jakllsch # BSC (I2C) controller (BCM2835_BSC[01]_BASE) 99 1.7 jakllsch device bsciic: i2cbus, bcm2835_gpio_subr 100 1.10 skrll file arch/arm/broadcom/bcm2835_bsc.c bsciic needs-flag 101 1.44 thorpej attach bsciic at fdt with bsciic_fdt: fdt_clock, fdt_i2c 102 1.39 jmcneill file arch/arm/broadcom/bcm2835_bsc_fdt.c bsciic_fdt 103 1.39 jmcneill ifdef acpinodebus 104 1.39 jmcneill attach bsciic at acpinodebus with bsciic_acpi 105 1.39 jmcneill file arch/arm/broadcom/bcm2835_bsc_acpi.c bsciic_acpi 106 1.39 jmcneill endif 107 1.11 jmcneill 108 1.11 jmcneill # Generic framebuffer console driver 109 1.29 skrll attach genfb at fdt with bcmgenfb: edid 110 1.11 jmcneill file arch/arm/broadcom/bcm2835_genfb.c bcmgenfb needs-flag 111 1.15 jmcneill 112 1.15 jmcneill # VCHIQ 113 1.15 jmcneill include "external/bsd/vchiq/conf/files.vchiq" 114 1.16 jmcneill 115 1.16 jmcneill # VC audio 116 1.33 isaki device vcaudio: audiobus 117 1.16 jmcneill attach vcaudio at vchiqbus 118 1.16 jmcneill file arch/arm/broadcom/bcm2835_vcaudio.c vcaudio 119 1.21 kardel 120 1.21 kardel # GPIO 121 1.44 thorpej device bcmgpio: fdt_gpio, fdt_pinctrl, gpiobus 122 1.29 skrll attach bcmgpio at fdt 123 1.21 kardel file arch/arm/broadcom/bcm2835_gpio.c 124 1.26 mlelstv 125 1.26 mlelstv # Clock Manager (BCM2835_CM_BASE) 126 1.44 thorpej device bcmcprman: fdt_clock 127 1.29 skrll attach bcmcprman at fdt with bcmcprman_fdt 128 1.29 skrll file arch/arm/broadcom/bcm2835_cprman.c bcmcprman needs-flag 129 1.26 mlelstv 130 1.26 mlelstv # PWM Controller (BCM2835_PWM_BASE) 131 1.26 mlelstv device bcmpwm 132 1.44 thorpej attach bcmpwm at fdt with bcmpwm: fdt_clock 133 1.26 mlelstv file arch/arm/broadcom/bcm2835_pwm.c bcmpwm needs-flag 134 1.26 mlelstv 135 1.31 ryo # VideoCore IV property interface 136 1.31 ryo file arch/evbarm/rpi/vcprop_subr.c bcmmbox 137 1.31 ryo makeoptions "COPTS.vcprop_subr.c"+="-fno-stack-protector" 138 1.31 ryo 139 1.31 ryo # Raspberry Pi Mailbox interface 140 1.31 ryo device vcmbox: sysmon_envsys 141 1.31 ryo attach vcmbox at bcmmboxbus 142 1.31 ryo file arch/evbarm/rpi/rpi_vcmbox.c vcmbox 143 1.31 ryo 144 1.31 ryo # Maximum command-line length 145 1.31 ryo defparam opt_vcprop.h VCPROP_MAXCMDLINE 146 1.31 ryo defflag opt_rpi.h RPI_HWCURSOR 147 1.31 ryo 148 1.29 skrll # SOC parameters 149 1.31 ryo defflag opt_bcm283x.h SOC_BCM2835 150 1.29 skrll defflag opt_bcm283x.h SOC_BCM2836 151 1.31 ryo defflag opt_bcm283x.h SOC_BCM2837: SOC_BCM2836 152