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