files.bcm2835 revision 1.41
1#	$NetBSD: files.bcm2835,v 1.41 2021/08/08 10:32:26 jmcneill 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
19file	arch/arm/broadcom/bcm2835_mbox.c	bcmmbox
20attach	bcmmbox at fdt with bcmmbox_fdt
21file    arch/arm/broadcom/bcm2835_mbox_fdt.c	bcmmbox_fdt
22
23ifdef acpinodebus
24attach  bcmmbox at acpinodebus with bcmmbox_acpi
25file	arch/arm/broadcom/bcm2835_mbox_acpi.c	bcmmbox_acpi
26endif
27
28# System Timer (BCM2835_TIMER_BASE)
29device	bcmtmr
30attach	bcmtmr at fdt with bcmtmr_fdt
31file	arch/arm/broadcom/bcm2835_tmr.c		bcmtmr & !soc_bcm2836
32
33# Power Management, Reset Controller, and Watchdog (BCM2835_PM_BASE)
34device	bcmpmwdog: sysmon_wdog
35attach	bcmpmwdog at fdt with bcmpmwdog_fdt
36file	arch/arm/broadcom/bcm2835_pmwdog.c	bcmpmwdog_fdt
37
38# Random number generator (BCM2835_RNG_BASE)
39device	bcmrng
40attach bcmrng at fdt with bcmrng_fdt
41file	arch/arm/broadcom/bcm2835_rng.c		bcmrng
42
43# Random number generator (BCM2835_RNG_BASE (!))
44device	bcm2838rng
45attach bcm2838rng at fdt with bcm2838rng_fdt
46file	arch/arm/broadcom/bcm2838_rng.c		bcm2838rng
47file	dev/ic/rng200.c				bcm2838rng
48
49# Broadcom STB PCIE host
50device	bcm2838pcie: pcibus
51attach bcm2838pcie at fdt with bcm2838pcie_fdt
52file	arch/arm/broadcom/bcm2838_pcie.c	bcm2838pcie
53
54# AUX
55device	bcmaux
56attach	bcmaux at fdt with bcmaux_fdt
57file	arch/arm/broadcom/bcm2835_aux.c		bcmaux
58
59# AUX UART (BCM2835_AUX_UART_BASE)
60attach	com at fdt with bcmcom
61file	arch/arm/broadcom/bcm2835_com.c		bcmcom
62
63# External Mass Media Controller (BCM2835_EMMC_BASE)
64attach	sdhc at fdt with bcmemmc
65file	arch/arm/broadcom/bcm2835_emmc.c	bcmemmc
66
67ifdef acpinodebus
68attach	sdhc at acpinodebus with bcmemmc_acpi
69file	arch/arm/broadcom/bcm2835_emmc_acpi.c	bcmemmc_acpi
70attach	sdhc at acpinodebus with bcmemmc2_acpi
71file	arch/arm/broadcom/bcm2838_emmc2_acpi.c	bcmemmc2_acpi
72endif
73
74# SD Host Controller (BCM2835_SDHOST_BASE)
75device	bcmsdhost: sdmmcbus
76attach	bcmsdhost at fdt with bcmsdhost
77file	arch/arm/broadcom/bcm2835_sdhost.c	bcmsdhost	needs-flag
78
79# DMA Controller (BCM2835_DMA0_BASE)
80device	bcmdmac
81attach	bcmdmac at fdt with bcmdmac_fdt
82file	arch/arm/broadcom/bcm2835_dmac.c	bcmdmac		needs-flag
83
84# USB (BCM2835_USB_BASE)
85attach dwctwo at fdt with bcmdwctwo
86file	arch/arm/broadcom/bcm2835_dwctwo.c	bcmdwctwo	needs-flag
87
88# SPI controller (BCM2835_SPI0_BASE)
89device	bcmspi: spibus, bcm2835_gpio_subr
90attach	bcmspi at fdt
91file	arch/arm/broadcom/bcm2835_spi.c		bcmspi	needs-flag
92
93# BSC (I2C) controller (BCM2835_BSC[01]_BASE)
94device	bsciic: i2cbus, bcm2835_gpio_subr
95file	arch/arm/broadcom/bcm2835_bsc.c		bsciic	needs-flag
96attach	bsciic at fdt with bsciic_fdt
97file	arch/arm/broadcom/bcm2835_bsc_fdt.c	bsciic_fdt
98ifdef acpinodebus
99attach	bsciic at acpinodebus with bsciic_acpi
100file	arch/arm/broadcom/bcm2835_bsc_acpi.c	bsciic_acpi
101endif
102
103# Generic framebuffer console driver
104attach genfb at fdt with bcmgenfb: edid
105file	arch/arm/broadcom/bcm2835_genfb.c	bcmgenfb	needs-flag
106
107# VCHIQ
108include "external/bsd/vchiq/conf/files.vchiq"
109
110# VC audio
111device	vcaudio: audiobus
112attach	vcaudio at vchiqbus
113file	arch/arm/broadcom/bcm2835_vcaudio.c	vcaudio
114
115# GPIO
116device	bcmgpio: gpiobus
117attach	bcmgpio at fdt
118file	arch/arm/broadcom/bcm2835_gpio.c
119
120# Clock Manager (BCM2835_CM_BASE)
121device	bcmcprman
122attach	bcmcprman at fdt with bcmcprman_fdt
123file	arch/arm/broadcom/bcm2835_cprman.c	bcmcprman	needs-flag
124
125# PWM Controller (BCM2835_PWM_BASE)
126device	bcmpwm
127attach	bcmpwm at fdt with bcmpwm
128file	arch/arm/broadcom/bcm2835_pwm.c		bcmpwm		needs-flag
129
130# VideoCore IV property interface
131file    arch/evbarm/rpi/vcprop_subr.c		bcmmbox
132makeoptions     "COPTS.vcprop_subr.c"+="-fno-stack-protector"
133
134# Raspberry Pi Mailbox interface
135device  vcmbox: sysmon_envsys
136attach  vcmbox at bcmmboxbus
137file    arch/evbarm/rpi/rpi_vcmbox.c            vcmbox
138
139# Maximum command-line length
140defparam opt_vcprop.h                           VCPROP_MAXCMDLINE
141defflag opt_rpi.h                               RPI_HWCURSOR
142
143# SOC parameters
144defflag	opt_bcm283x.h			SOC_BCM2835
145defflag	opt_bcm283x.h			SOC_BCM2836
146defflag opt_bcm283x.h			SOC_BCM2837: SOC_BCM2836
147