files.bcm2835 revision 1.28
1# $NetBSD: files.bcm2835,v 1.28 2017/07/30 23:48:32 jmcneill Exp $ 2# 3# Configuration info for Broadcom BCM2835 ARM Peripherals 4# 5 6defflag opt_bcm283x.h BCM2836 7 8include "arch/arm/pic/files.pic" 9 10define bcmmboxbus { } 11 12file arch/arm/arm32/irq_dispatch.S 13file arch/arm/broadcom/bcm2835_dma.c 14file arch/arm/broadcom/bcm2835_mbox_subr.c 15 16# OBIO just an attach point 17device obio { [addr=-1], [size=0], [intr=-1] 18 } : bus_space_generic, pic, pic_splfuncs 19attach obio at mainbus 20file arch/arm/broadcom/bcm2835_obio.c obio needs-count 21 22# OBIO files 23file arch/arm/broadcom/bcm2835_space.c obio 24file arch/arm/arm/bus_space_a4x.S obio 25 26# ARMv7 Generic Timer 27device armgtmr 28attach armgtmr at obio 29file arch/arm/cortex/gtmr.c armgtmr 30 31# Interrupt Controller (BCM2835_ARMICU_BASE) #, pic_splfuncs 32device bcmicu: pic, pic_splfuncs 33attach bcmicu at obio with bcmicu 34file arch/arm/broadcom/bcm2835_intr.c bcmicu 35 36# VC Mailbox (BCM2835_ARMMBOX_BASE) 37device bcmmbox: bcmmboxbus 38attach bcmmbox at obio with bcmmbox 39file arch/arm/broadcom/bcm2835_mbox.c bcmmbox 40 41# System Timer (BCM2835_TIMER_BASE) 42device bcmtmr 43attach bcmtmr at obio with bcmtmr_amba 44file arch/arm/broadcom/bcm2835_tmr.c bcmtmr & !bcm2836 45 46# Power Management, Reset Controller, and Watchdog (BCM2835_PM_BASE) 47device bcmpm: sysmon_wdog 48attach bcmpm at obio with bcmpm_amba 49file arch/arm/broadcom/bcm2835_pm.c bcmpm 50 51# Random number generator (BCM2835_RNG_BASE) 52device bcmrng 53attach bcmrng at obio with bcmrng_amba 54file arch/arm/broadcom/bcm2835_rng.c bcmrng 55 56# UART Interface (BCM2835_UART0_BASE) 57attach plcom at obio with bcmplcom 58file arch/arm/broadcom/bcm2835_plcom.c bcmplcom 59 60# AUX UART (BCM2835_AUX_UART_BASE) 61attach com at obio with bcmcom 62file arch/arm/broadcom/bcm2835_com.c bcmcom 63 64# External Mass Media Controller (BCM2835_EMMC_BASE) 65attach sdhc at obio with bcmemmc 66file arch/arm/broadcom/bcm2835_emmc.c bcmemmc 67 68# SD Host Controller (BCM2835_SDHOST_BASE) 69device sdhost: sdmmcbus 70attach sdhost at obio with bcmsdhost 71file arch/arm/broadcom/bcm2835_sdhost.c bcmsdhost needs-flag 72 73# DMA Controller (BCM2835_DMA0_BASE) 74device bcmdmac 75attach bcmdmac at obio with bcmdmac_amba 76file arch/arm/broadcom/bcm2835_dmac.c bcmdmac needs-flag 77 78# USB (BCM2835_USB_BASE) 79attach dwctwo at obio with bcmdwctwo 80file arch/arm/broadcom/bcm2835_dwctwo.c bcmdwctwo needs-flag 81 82# GPIO misc. functions 83define bcm2835_gpio_subr 84file arch/arm/broadcom/bcm2835_gpio_subr.c bcm2835_gpio_subr 85 86# SPI controller (BCM2835_SPI0_BASE) 87device bcmspi: spibus, bcm2835_gpio_subr 88attach bcmspi at obio 89file arch/arm/broadcom/bcm2835_spi.c bcmspi needs-flag 90 91# BSC (I2C) controller (BCM2835_BSC[01]_BASE) 92device bsciic: i2cbus, bcm2835_gpio_subr 93attach bsciic at obio 94file arch/arm/broadcom/bcm2835_bsc.c bsciic needs-flag 95 96# Generic framebuffer console driver 97attach genfb at obio with bcmgenfb: edid 98file arch/arm/broadcom/bcm2835_genfb.c bcmgenfb needs-flag 99 100# VCHIQ 101include "external/bsd/vchiq/conf/files.vchiq" 102 103# VC audio 104device vcaudio: audiobus, auconv, mulaw, aurateconv, auvolconv 105attach vcaudio at vchiqbus 106file arch/arm/broadcom/bcm2835_vcaudio.c vcaudio 107 108# GPIO 109device bcmgpio: gpiobus 110attach bcmgpio at obio 111file arch/arm/broadcom/bcm2835_gpio.c 112 113# Clock Manager (BCM2835_CM_BASE) 114device bcmcm 115attach bcmcm at obio with bcmcm_amba 116file arch/arm/broadcom/bcm2835_cm.c bcmcm needs-flag 117 118# PWM Controller (BCM2835_PWM_BASE) 119device bcmpwm 120attach bcmpwm at obio with bcmpwm_amba 121file arch/arm/broadcom/bcm2835_pwm.c bcmpwm needs-flag 122 123