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