summaryrefslogtreecommitdiff
path: root/sys/arch/arm/broadcom/files.bcm2835
blob: dccd85238cd61bff80aaa33ae709f6b02b1b7d65 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
#	$NetBSD: files.bcm2835,v 1.43 2022/04/22 12:41:06 skrll Exp $
#
# Configuration info for Broadcom BCM2835 ARM Peripherals
#

file	arch/arm/broadcom/bcm2835_dma.c
file	arch/arm/broadcom/bcm2835_mbox_subr.c
file	arch/arm/broadcom/bcm283x_platform.c

define bcmmboxbus { }

# Interrupt Controller (BCM2835_ARMICU_BASE)
device	bcmicu: pic, pic_splfuncs
attach	bcmicu at fdt with bcmicu
file	arch/arm/broadcom/bcm2835_intr.c	bcmicu

# VC Mailbox (BCM2835_ARMMBOX_BASE)
device	bcmmbox: bcmmboxbus
file	arch/arm/broadcom/bcm2835_mbox.c	bcmmbox
attach	bcmmbox at fdt with bcmmbox_fdt
file    arch/arm/broadcom/bcm2835_mbox_fdt.c	bcmmbox_fdt

ifdef acpinodebus
attach  bcmmbox at acpinodebus with bcmmbox_acpi
file	arch/arm/broadcom/bcm2835_mbox_acpi.c	bcmmbox_acpi
endif

# System Timer (BCM2835_TIMER_BASE)
device	bcmtmr
attach	bcmtmr at fdt with bcmtmr_fdt
file	arch/arm/broadcom/bcm2835_tmr.c		bcmtmr & !soc_bcm2836

# Power Management, Reset Controller, and Watchdog (BCM2835_PM_BASE)
device	bcmpmwdog: sysmon_wdog
attach	bcmpmwdog at fdt with bcmpmwdog_fdt
file	arch/arm/broadcom/bcm2835_pmwdog.c	bcmpmwdog_fdt

# Random number generator (BCM2835_RNG_BASE)
device	bcmrng
attach bcmrng at fdt with bcmrng_fdt
file	arch/arm/broadcom/bcm2835_rng.c		bcmrng

# Random number generator (BCM2835_RNG_BASE (!))
device	bcm2838rng
attach bcm2838rng at fdt with bcm2838rng_fdt
file	arch/arm/broadcom/bcm2838_rng.c		bcm2838rng
file	dev/ic/rng200.c				bcm2838rng

# Broadcom STB PCIE host
device	bcm2838pcie: pcibus
attach bcm2838pcie at fdt with bcm2838pcie_fdt
file	arch/arm/broadcom/bcm2838_pcie.c	bcm2838pcie

# AUX
device	bcmaux
attach	bcmaux at fdt with bcmaux_fdt
file	arch/arm/broadcom/bcm2835_aux.c		bcmaux

# AUX UART (BCM2835_AUX_UART_BASE)
attach	com at fdt with bcmcom
file	arch/arm/broadcom/bcm2835_com.c		bcmcom

ifdef acpinodebus
attach	com at acpinodebus with bcmcom_acpi
file	arch/arm/broadcom/bcm2835_com_acpi.c	bcmcom_acpi
endif

# External Mass Media Controller (BCM2835_EMMC_BASE)
attach	sdhc at fdt with bcmemmc
file	arch/arm/broadcom/bcm2835_emmc.c	bcmemmc

ifdef acpinodebus
attach	sdhc at acpinodebus with bcmemmc_acpi
file	arch/arm/broadcom/bcm2835_emmc_acpi.c	bcmemmc_acpi
attach	sdhc at acpinodebus with bcmemmc2_acpi
file	arch/arm/broadcom/bcm2838_emmc2_acpi.c	bcmemmc2_acpi
endif

# SD Host Controller (BCM2835_SDHOST_BASE)
device	bcmsdhost: sdmmcbus
attach	bcmsdhost at fdt with bcmsdhost
file	arch/arm/broadcom/bcm2835_sdhost.c	bcmsdhost	needs-flag

# DMA Controller (BCM2835_DMA0_BASE)
device	bcmdmac
attach	bcmdmac at fdt with bcmdmac_fdt
file	arch/arm/broadcom/bcm2835_dmac.c	bcmdmac		needs-flag

# USB (BCM2835_USB_BASE)
attach dwctwo at fdt with bcmdwctwo
file	arch/arm/broadcom/bcm2835_dwctwo.c	bcmdwctwo	needs-flag

# SPI controller (BCM2835_SPI0_BASE)
device	bcmspi: spibus, bcm2835_gpio_subr
attach	bcmspi at fdt
file	arch/arm/broadcom/bcm2835_spi.c		bcmspi	needs-flag

# BSC (I2C) controller (BCM2835_BSC[01]_BASE)
device	bsciic: i2cbus, bcm2835_gpio_subr
file	arch/arm/broadcom/bcm2835_bsc.c		bsciic	needs-flag
attach	bsciic at fdt with bsciic_fdt
file	arch/arm/broadcom/bcm2835_bsc_fdt.c	bsciic_fdt
ifdef acpinodebus
attach	bsciic at acpinodebus with bsciic_acpi
file	arch/arm/broadcom/bcm2835_bsc_acpi.c	bsciic_acpi
endif

# Generic framebuffer console driver
attach genfb at fdt with bcmgenfb: edid
file	arch/arm/broadcom/bcm2835_genfb.c	bcmgenfb	needs-flag

# VCHIQ
include "external/bsd/vchiq/conf/files.vchiq"

# VC audio
device	vcaudio: audiobus
attach	vcaudio at vchiqbus
file	arch/arm/broadcom/bcm2835_vcaudio.c	vcaudio

# GPIO
device	bcmgpio: gpiobus
attach	bcmgpio at fdt
file	arch/arm/broadcom/bcm2835_gpio.c

# Clock Manager (BCM2835_CM_BASE)
device	bcmcprman
attach	bcmcprman at fdt with bcmcprman_fdt
file	arch/arm/broadcom/bcm2835_cprman.c	bcmcprman	needs-flag

# PWM Controller (BCM2835_PWM_BASE)
device	bcmpwm
attach	bcmpwm at fdt with bcmpwm
file	arch/arm/broadcom/bcm2835_pwm.c		bcmpwm		needs-flag

# VideoCore IV property interface
file    arch/evbarm/rpi/vcprop_subr.c		bcmmbox
makeoptions     "COPTS.vcprop_subr.c"+="-fno-stack-protector"

# Raspberry Pi Mailbox interface
device  vcmbox: sysmon_envsys
attach  vcmbox at bcmmboxbus
file    arch/evbarm/rpi/rpi_vcmbox.c            vcmbox

# Maximum command-line length
defparam opt_vcprop.h                           VCPROP_MAXCMDLINE
defflag opt_rpi.h                               RPI_HWCURSOR

# SOC parameters
defflag	opt_bcm283x.h			SOC_BCM2835
defflag	opt_bcm283x.h			SOC_BCM2836
defflag opt_bcm283x.h			SOC_BCM2837: SOC_BCM2836