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