files.bcm2835 revision 1.32 1 # $NetBSD: files.bcm2835,v 1.32 2018/10/18 09:01:52 skrll 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) #, pic_splfuncs
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 attach bcmmbox at fdt with bcmmbox
20 file arch/arm/broadcom/bcm2835_mbox.c bcmmbox
21
22 # System Timer (BCM2835_TIMER_BASE)
23 device bcmtmr
24 attach bcmtmr at fdt with bcmtmr_fdt
25 file arch/arm/broadcom/bcm2835_tmr.c bcmtmr & !soc_bcm2836
26
27 # Power Management, Reset Controller, and Watchdog (BCM2835_PM_BASE)
28 device watchdog: sysmon_wdog
29 attach watchdog at fdt with bcmpmwdog_fdt
30 file arch/arm/broadcom/bcm2835_pmwdog.c bcmpmwdog_fdt
31
32 # Random number generator (BCM2835_RNG_BASE)
33 device bcmrng
34 attach bcmrng at fdt with bcmrng_fdt
35 file arch/arm/broadcom/bcm2835_rng.c bcmrng
36
37 # AUX
38 device bcmaux
39 attach bcmaux at fdt with bcmaux_fdt
40 file arch/arm/broadcom/bcm2835_aux.c bcmaux
41
42 # AUX UART (BCM2835_AUX_UART_BASE)
43 attach com at fdt with bcmcom
44 file arch/arm/broadcom/bcm2835_com.c bcmcom
45
46 # External Mass Media Controller (BCM2835_EMMC_BASE)
47 attach sdhc at fdt with bcmemmc
48 file arch/arm/broadcom/bcm2835_emmc.c bcmemmc
49
50 # SD Host Controller (BCM2835_SDHOST_BASE)
51 device sdhost: sdmmcbus
52 attach sdhost at fdt with bcmsdhost
53 file arch/arm/broadcom/bcm2835_sdhost.c bcmsdhost needs-flag
54
55 # DMA Controller (BCM2835_DMA0_BASE)
56 device bcmdmac
57 attach bcmdmac at fdt with bcmdmac_fdt
58 file arch/arm/broadcom/bcm2835_dmac.c bcmdmac needs-flag
59
60 # USB (BCM2835_USB_BASE)
61 attach dwctwo at fdt with bcmdwctwo
62 file arch/arm/broadcom/bcm2835_dwctwo.c bcmdwctwo needs-flag
63
64 # SPI controller (BCM2835_SPI0_BASE)
65 device bcmspi: spibus, bcm2835_gpio_subr
66 attach bcmspi at fdt
67 file arch/arm/broadcom/bcm2835_spi.c bcmspi needs-flag
68
69 # BSC (I2C) controller (BCM2835_BSC[01]_BASE)
70 device bsciic: i2cbus, bcm2835_gpio_subr
71 attach bsciic at fdt
72 file arch/arm/broadcom/bcm2835_bsc.c bsciic needs-flag
73
74 # Generic framebuffer console driver
75 attach genfb at fdt with bcmgenfb: edid
76 file arch/arm/broadcom/bcm2835_genfb.c bcmgenfb needs-flag
77
78 # VCHIQ
79 include "external/bsd/vchiq/conf/files.vchiq"
80
81 # VC audio
82 device vcaudio: audiobus, auconv, mulaw, aurateconv, auvolconv
83 attach vcaudio at vchiqbus
84 file arch/arm/broadcom/bcm2835_vcaudio.c vcaudio
85
86 # GPIO
87 device bcmgpio: gpiobus
88 attach bcmgpio at fdt
89 file arch/arm/broadcom/bcm2835_gpio.c
90
91 # Clock Manager (BCM2835_CM_BASE)
92 device bcmcprman
93 attach bcmcprman at fdt with bcmcprman_fdt
94 file arch/arm/broadcom/bcm2835_cprman.c bcmcprman needs-flag
95
96 # PWM Controller (BCM2835_PWM_BASE)
97 device bcmpwm
98 attach bcmpwm at fdt with bcmpwm
99 file arch/arm/broadcom/bcm2835_pwm.c bcmpwm needs-flag
100
101 # VideoCore IV property interface
102 file arch/evbarm/rpi/vcprop_subr.c bcmmbox
103 makeoptions "COPTS.vcprop_subr.c"+="-fno-stack-protector"
104
105 # Raspberry Pi Mailbox interface
106 device vcmbox: sysmon_envsys
107 attach vcmbox at bcmmboxbus
108 file arch/evbarm/rpi/rpi_vcmbox.c vcmbox
109
110 # Maximum command-line length
111 defparam opt_vcprop.h VCPROP_MAXCMDLINE
112 defflag opt_rpi.h RPI_HWCURSOR
113
114 # SOC parameters
115 defflag opt_bcm283x.h SOC_BCM2835
116 defflag opt_bcm283x.h SOC_BCM2836
117 defflag opt_bcm283x.h SOC_BCM2837: SOC_BCM2836
118