files.bcm2835 revision 1.21 1 # $NetBSD: files.bcm2835,v 1.21 2014/04/22 18:51:35 kardel Exp $
2 #
3 # Configuration info for Broadcom BCM2835 ARM Peripherals
4 #
5
6 include "arch/arm/pic/files.pic"
7
8 define bcmmboxbus { }
9
10 file arch/arm/arm32/irq_dispatch.S
11 file arch/arm/broadcom/bcm2835_dma.c
12 file arch/arm/broadcom/bcm2835_mbox_subr.c
13
14 # OBIO just an attach point
15 device obio { [addr=-1], [size=0], [intr=-1]
16 } : bus_space_generic, pic, pic_splfuncs
17 attach obio at mainbus
18 file arch/arm/broadcom/bcm2835_obio.c obio needs-count
19
20 # OBIO files
21 file arch/arm/broadcom/bcm2835_space.c obio
22 file arch/arm/arm/bus_space_a4x.S obio
23
24 # Interrupt Controller (BCM2835_ARMICU_BASE)
25 device bcmicu: pic, pic_splfuncs
26 attach bcmicu at obio with bcmicu
27 file arch/arm/broadcom/bcm2835_intr.c bcmicu
28
29 # VC Mailbox (BCM2835_ARMMBOX_BASE)
30 device bcmmbox: bcmmboxbus
31 attach bcmmbox at obio with bcmmbox
32 file arch/arm/broadcom/bcm2835_mbox.c bcmmbox
33
34 # System Timer (BCM2835_TIMER_BASE)
35 device bcmtmr
36 attach bcmtmr at obio with bcmtmr_amba
37 file arch/arm/broadcom/bcm2835_tmr.c bcmtmr
38
39 # Power Management, Reset Controller, and Watchdog (BCM2835_PM_BASE)
40 device bcmpm: sysmon_wdog
41 attach bcmpm at obio with bcmpm_amba
42 file arch/arm/broadcom/bcm2835_pm.c bcmpm
43
44 # Random number generator (BCM2835_RNG_BASE)
45 device bcmrng
46 attach bcmrng at obio with bcmrng_amba
47 file arch/arm/broadcom/bcm2835_rng.c bcmrng
48
49 # UART Interface (BCM2835_UART0_BASE)
50 attach plcom at obio with bcmplcom
51 file arch/arm/broadcom/bcm2835_plcom.c bcmplcom
52
53 # External Mass Media Controller (BCM2835_EMMC_BASE)
54 attach sdhc at obio with bcmemmc
55 file arch/arm/broadcom/bcm2835_emmc.c bcmemmc
56
57 # USB (BCM2835_USB_BASE)
58 attach dwctwo at obio with bcmdwctwo
59 file arch/arm/broadcom/bcm2835_dwctwo.c bcmdwctwo needs-flag
60
61 # GPIO misc. functions
62 define bcm2835_gpio_subr
63 file arch/arm/broadcom/bcm2835_gpio_subr.c bcm2835_gpio_subr
64
65 # SPI controller (BCM2835_SPI0_BASE)
66 device bcmspi: spibus, bcm2835_gpio_subr
67 attach bcmspi at obio
68 file arch/arm/broadcom/bcm2835_spi.c bcmspi needs-flag
69
70 # BSC (I2C) controller (BCM2835_BSC[01]_BASE)
71 device bsciic: i2cbus, bcm2835_gpio_subr
72 attach bsciic at obio
73 file arch/arm/broadcom/bcm2835_bsc.c bsciic needs-flag
74
75 # Generic framebuffer console driver
76 attach genfb at obio with bcmgenfb: edid
77 file arch/arm/broadcom/bcm2835_genfb.c bcmgenfb needs-flag
78
79 # VCHIQ
80 include "external/bsd/vchiq/conf/files.vchiq"
81
82 # VC audio
83 device vcaudio: audiobus, auconv, mulaw, aurateconv
84 attach vcaudio at vchiqbus
85 file arch/arm/broadcom/bcm2835_vcaudio.c vcaudio
86
87 # GPIO
88 device bcmgpio: gpiobus
89 attach bcmgpio at obio
90 file arch/arm/broadcom/bcm2835_gpio.c
91