files.bcm2835 revision 1.29 1 # $NetBSD: files.bcm2835,v 1.29 2017/12/10 21:38:26 skrll Exp $
2 #
3 # Configuration info for Broadcom BCM2835 ARM Peripherals
4 #
5
6 include "arch/arm/pic/files.pic"
7
8 file arch/arm/arm32/arm32_boot.c
9 file arch/arm/arm32/arm32_kvminit.c
10 file arch/arm/arm32/arm32_reboot.c
11 file arch/arm/arm32/irq_dispatch.S
12 file arch/arm/arm32/armv7_generic_space.c
13 file arch/arm/arm32/armv7_generic_dma.c
14 file arch/arm/arm/bus_space_a4x.S
15
16 file arch/arm/broadcom/bcm2835_dma.c
17 file arch/arm/broadcom/bcm2835_mbox_subr.c
18
19 file arch/arm/broadcom/bcm283x_platform.c
20
21 define mpcorebus { }
22
23 # ARMv7 Generic Timer
24 device armgtmr
25 attach armgtmr at mpcorebus
26 file arch/arm/cortex/gtmr.c armgtmr
27
28 define bcmmboxbus { }
29
30 file arch/arm/broadcom/bcm2835_space.c
31
32 # Interrupt Controller (BCM2835_ARMICU_BASE) #, pic_splfuncs
33 device bcmicu: pic, pic_splfuncs
34 attach bcmicu at fdt with bcmicu
35 file arch/arm/broadcom/bcm2835_intr.c bcmicu
36
37 # VC Mailbox (BCM2835_ARMMBOX_BASE)
38 device bcmmbox: bcmmboxbus
39 attach bcmmbox at fdt with bcmmbox
40 file arch/arm/broadcom/bcm2835_mbox.c bcmmbox
41
42 # System Timer (BCM2835_TIMER_BASE)
43 device bcmtmr
44 attach bcmtmr at fdt with bcmtmr_fdt
45 file arch/arm/broadcom/bcm2835_tmr.c bcmtmr & !soc_bcm2836
46
47 # Power Management, Reset Controller, and Watchdog (BCM2835_PM_BASE)
48 device watchdog: sysmon_wdog
49 attach watchdog at fdt with bcmpmwdog_fdt
50 file arch/arm/broadcom/bcm2835_pmwdog.c bcmpmwdog_fdt
51
52 # Random number generator (BCM2835_RNG_BASE)
53 device bcmrng
54 attach bcmrng at fdt with bcmrng_fdt
55 file arch/arm/broadcom/bcm2835_rng.c bcmrng
56
57 # AUX
58 device bcmaux
59 attach bcmaux at fdt with bcmaux_fdt
60 file arch/arm/broadcom/bcm2835_aux.c bcmaux
61
62 # AUX UART (BCM2835_AUX_UART_BASE)
63 attach com at fdt with bcmcom
64 file arch/arm/broadcom/bcm2835_com.c bcmcom
65
66 # External Mass Media Controller (BCM2835_EMMC_BASE)
67 attach sdhc at fdt with bcmemmc
68 file arch/arm/broadcom/bcm2835_emmc.c bcmemmc
69
70 # SD Host Controller (BCM2835_SDHOST_BASE)
71 device sdhost: sdmmcbus
72 attach sdhost at fdt with bcmsdhost
73 file arch/arm/broadcom/bcm2835_sdhost.c bcmsdhost needs-flag
74
75 # DMA Controller (BCM2835_DMA0_BASE)
76 device bcmdmac
77 attach bcmdmac at fdt with bcmdmac_fdt
78 file arch/arm/broadcom/bcm2835_dmac.c bcmdmac needs-flag
79
80 # USB (BCM2835_USB_BASE)
81 attach dwctwo at fdt with bcmdwctwo
82 file arch/arm/broadcom/bcm2835_dwctwo.c bcmdwctwo needs-flag
83
84 # SPI controller (BCM2835_SPI0_BASE)
85 device bcmspi: spibus, bcm2835_gpio_subr
86 attach bcmspi at fdt
87 file arch/arm/broadcom/bcm2835_spi.c bcmspi needs-flag
88
89 # BSC (I2C) controller (BCM2835_BSC[01]_BASE)
90 device bsciic: i2cbus, bcm2835_gpio_subr
91 attach bsciic at fdt
92 file arch/arm/broadcom/bcm2835_bsc.c bsciic needs-flag
93
94 # Generic framebuffer console driver
95 attach genfb at fdt with bcmgenfb: edid
96 file arch/arm/broadcom/bcm2835_genfb.c bcmgenfb needs-flag
97
98 # VCHIQ
99 include "external/bsd/vchiq/conf/files.vchiq"
100
101 # VC audio
102 device vcaudio: audiobus, auconv, mulaw, aurateconv, auvolconv
103 attach vcaudio at vchiqbus
104 file arch/arm/broadcom/bcm2835_vcaudio.c vcaudio
105
106 # GPIO
107 device bcmgpio: gpiobus
108 attach bcmgpio at fdt
109 file arch/arm/broadcom/bcm2835_gpio.c
110
111 # Clock Manager (BCM2835_CM_BASE)
112 device bcmcprman
113 attach bcmcprman at fdt with bcmcprman_fdt
114 file arch/arm/broadcom/bcm2835_cprman.c bcmcprman needs-flag
115
116 # PWM Controller (BCM2835_PWM_BASE)
117 device bcmpwm
118 attach bcmpwm at fdt with bcmpwm
119 file arch/arm/broadcom/bcm2835_pwm.c bcmpwm needs-flag
120
121 # SOC parameters
122 defflag opt_bcm283x.h SOC_BCM2836
123 defflag opt_bcm283x.h SOC_BCM2835
124
125