xref: /netbsd/sys/arch/arm/gemini/files.gemini (revision 59508e8a)
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