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