1# $NetBSD: files.gemini,v 1.13 2018/09/21 12:04:06 skrll Exp $ 2# 3# Configuration info for GEMINI CPU support 4# Based on omap/files.omap2 5# 6 7include "arch/arm/pic/files.pic" 8 9file arch/arm/arm32/irq_dispatch.S 10 11# Memory size in megabytes 12defparam opt_gemini.h MEMSIZE 13defflag opt_gemini.h GEMINI 14defparam opt_gemini.h GEMINI_BUSBASE: GEMINI 15defflag opt_gemini.h SL3516: GEMINI 16defflag opt_gemini.h GEMINI_MASTER: GEMINI 17defflag opt_gemini.h GEMINI_SLAVE: GEMINI 18defflag opt_gemini.h GEMINI_SINGLE: GEMINI 19 20# OBIO just an attach point 21define obio { [addr=-1], [size=0], [intr=-1], [mult=1], [intrbase=-1], [nobyteacc=0] 22 } : bus_space_generic 23device obio: obio, pcibus 24attach obio at mainbus 25file arch/arm/gemini/gemini_obio.c obio needs-count 26 27# OBIO files 28file arch/arm/gemini/gemini_space.c obio 29##file arch/arm/gemini/gemini_a2x_space.c obio 30##file arch/arm/gemini/gemini_a2x_io.S obio 31file arch/arm/gemini/gemini_a4x_space.c obio 32file arch/arm/arm/bus_space_a4x.S obio 33file arch/arm/gemini/gemini_dma.c 34 35# these bus space methods are not bus-specific ... 36# 37##file arch/arm/gemini/gemini_nobyteacc_space.c obio 38##file arch/arm/gemini/gemini_nobyteacc_io.S obio 39 40# GEMINI interrupt controller 41device geminiicu: pic, pic_splfuncs 42attach geminiicu at obio with geminiicu 43file arch/arm/gemini/gemini_icu.c geminiicu needs-flag 44 45# Gemini inter-processor-interrupts 46device geminiipi {} 47attach geminiipi at obio 48file arch/arm/gemini/gemini_ipi.c geminiipi needs-flag 49 50# Gemini inter-processor-messages 51device geminiipm {} 52attach geminiipm at geminiipi 53file arch/arm/gemini/gemini_ipm.c geminiipm needs-flag 54 55device gpn: ifnet, ether, arp 56attach gpn at geminiipm 57file arch/arm/gemini/if_gpn.c gpn needs-flag 58 59# GEMINI GPIO controllers 60 61# GEMINI Timers 62device geminitmr 63file arch/arm/gemini/gemini_timer.c geminitmr 64defparam opt_gemini.h GEMINI_TIMER_CLOCK_FREQ 65 66# OBIO/geminitmr 67attach geminitmr at obio with obiotimer 68file arch/arm/gemini/obio_timer.c obiotimer 69 70# Gemini Watchdog timer 71device geminiwdt: sysmon_wdog 72file arch/arm/gemini/gemini_wdt.c geminiwdt needs-flag 73defparam opt_gemini.h GEMINI_WDT_CLOCK_FREQ 74 75attach geminiwdt at obio with obiowdt 76file arch/arm/gemini/obio_wdt.c obiowdt 77 78# NS16550 compatible serial ports 79attach com at obio with gemini_com 80file arch/arm/gemini/gemini_com.c gemini_com 81 82# GEMINI LPC Bus 83define lpcbus {[addr = -1]} 84device lpc { [ldn=-1], [addr=-1], [size=0], [intr=-1] } 85attach lpc at lpcbus 86file arch/arm/gemini/gemini_lpc.c lpc needs-count 87 88# GEMINI LPC Host Controller 89device geminilpchc: lpcbus 90attach geminilpchc at obio with obio_lpchc 91file arch/arm/gemini/obio_lpchc.c obio_lpchc 92file arch/arm/gemini/gemini_lpchc.c geminilpchc needs-count 93 94# LPC Bus COM UARTs 95attach com at lpc with lpc_com 96file arch/arm/gemini/lpc_com.c lpc_com 97 98# GEMINI GPIO controllers 99device geminigpio: gpiobus 100attach geminigpio at obio with geminigpio 101file arch/arm/gemini/gemini_gpio.c geminigpio 102 103# GEMINI USB controller 104attach ehci at obio with ehci_obio 105file arch/arm/gemini/obio_ehci.c ehci_obio 106 107# GEMINI ATA controller 108attach wdc at obio with wdc_obio 109file arch/arm/gemini/obio_wdc.c wdc_obio 110 111# PCI 112device gemini_pci: pcibus 113attach gemini_pci at obio 114file arch/arm/gemini/gemini_pci.c pci needs-flag 115 116# GEMINI MAC controller 117device geminigmac { port, intr, phy }: mii, mii_bitbang 118attach geminigmac at obio with geminigmac 119file arch/arm/gemini/gemini_gmac.c geminigmac needs-flag 120 121device gmc: ifnet, ether, arp, mii 122attach gmc at geminigmac 123file arch/arm/gemini/if_gmc.c gmc 124