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