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