files.bcm2835 revision 1.42
1# $NetBSD: files.bcm2835,v 1.42 2021/08/08 18:43:21 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 63ifdef acpinodebus 64attach com at acpinodebus with bcmcom_acpi 65file arch/arm/broadcom/bcm2835_com_acpi.c bcmcom_acpi 66endif 67 68# External Mass Media Controller (BCM2835_EMMC_BASE) 69attach sdhc at fdt with bcmemmc 70file arch/arm/broadcom/bcm2835_emmc.c bcmemmc 71 72ifdef acpinodebus 73attach sdhc at acpinodebus with bcmemmc_acpi 74file arch/arm/broadcom/bcm2835_emmc_acpi.c bcmemmc_acpi 75attach sdhc at acpinodebus with bcmemmc2_acpi 76file arch/arm/broadcom/bcm2838_emmc2_acpi.c bcmemmc2_acpi 77endif 78 79# SD Host Controller (BCM2835_SDHOST_BASE) 80device bcmsdhost: sdmmcbus 81attach bcmsdhost at fdt with bcmsdhost 82file arch/arm/broadcom/bcm2835_sdhost.c bcmsdhost needs-flag 83 84# DMA Controller (BCM2835_DMA0_BASE) 85device bcmdmac 86attach bcmdmac at fdt with bcmdmac_fdt 87file arch/arm/broadcom/bcm2835_dmac.c bcmdmac needs-flag 88 89# USB (BCM2835_USB_BASE) 90attach dwctwo at fdt with bcmdwctwo 91file arch/arm/broadcom/bcm2835_dwctwo.c bcmdwctwo needs-flag 92 93# SPI controller (BCM2835_SPI0_BASE) 94device bcmspi: spibus, bcm2835_gpio_subr 95attach bcmspi at fdt 96file arch/arm/broadcom/bcm2835_spi.c bcmspi needs-flag 97 98# BSC (I2C) controller (BCM2835_BSC[01]_BASE) 99device bsciic: i2cbus, bcm2835_gpio_subr 100file arch/arm/broadcom/bcm2835_bsc.c bsciic needs-flag 101attach bsciic at fdt with bsciic_fdt 102file arch/arm/broadcom/bcm2835_bsc_fdt.c bsciic_fdt 103ifdef acpinodebus 104attach bsciic at acpinodebus with bsciic_acpi 105file arch/arm/broadcom/bcm2835_bsc_acpi.c bsciic_acpi 106endif 107 108# Generic framebuffer console driver 109attach genfb at fdt with bcmgenfb: edid 110file arch/arm/broadcom/bcm2835_genfb.c bcmgenfb needs-flag 111 112# VCHIQ 113include "external/bsd/vchiq/conf/files.vchiq" 114 115# VC audio 116device vcaudio: audiobus 117attach vcaudio at vchiqbus 118file arch/arm/broadcom/bcm2835_vcaudio.c vcaudio 119 120# GPIO 121device bcmgpio: gpiobus 122attach bcmgpio at fdt 123file arch/arm/broadcom/bcm2835_gpio.c 124 125# Clock Manager (BCM2835_CM_BASE) 126device bcmcprman 127attach bcmcprman at fdt with bcmcprman_fdt 128file arch/arm/broadcom/bcm2835_cprman.c bcmcprman needs-flag 129 130# PWM Controller (BCM2835_PWM_BASE) 131device bcmpwm 132attach bcmpwm at fdt with bcmpwm 133file arch/arm/broadcom/bcm2835_pwm.c bcmpwm needs-flag 134 135# VideoCore IV property interface 136file arch/evbarm/rpi/vcprop_subr.c bcmmbox 137makeoptions "COPTS.vcprop_subr.c"+="-fno-stack-protector" 138 139# Raspberry Pi Mailbox interface 140device vcmbox: sysmon_envsys 141attach vcmbox at bcmmboxbus 142file arch/evbarm/rpi/rpi_vcmbox.c vcmbox 143 144# Maximum command-line length 145defparam opt_vcprop.h VCPROP_MAXCMDLINE 146defflag opt_rpi.h RPI_HWCURSOR 147 148# SOC parameters 149defflag opt_bcm283x.h SOC_BCM2835 150defflag opt_bcm283x.h SOC_BCM2836 151defflag opt_bcm283x.h SOC_BCM2837: SOC_BCM2836 152