xref: /netbsd-src/sys/arch/arm/gemini/files.gemini (revision 5a821b2c5b97c5c2091df7528e6598a0a816290e)
1*5a821b2cSskrll#	$NetBSD: files.gemini,v 1.13 2018/09/21 12:04:06 skrll Exp $
2f5d7ce3dSmatt#
3f5d7ce3dSmatt# Configuration info for GEMINI CPU support
4f5d7ce3dSmatt# Based on omap/files.omap2
5f5d7ce3dSmatt#
6f5d7ce3dSmatt
7f5d7ce3dSmattinclude "arch/arm/pic/files.pic"
8f5d7ce3dSmatt
9f5d7ce3dSmattfile	arch/arm/arm32/irq_dispatch.S
10f5d7ce3dSmatt
11f5d7ce3dSmatt# Memory size in megabytes
12f5d7ce3dSmattdefparam opt_gemini.h				MEMSIZE
13f5d7ce3dSmattdefflag opt_gemini.h				GEMINI
140fbe2f86Scliffdefparam opt_gemini.h				GEMINI_BUSBASE: GEMINI
15f5d7ce3dSmattdefflag opt_gemini.h				SL3516: GEMINI
16bd4b8f97Scliffdefflag opt_gemini.h				GEMINI_MASTER: GEMINI
17bd4b8f97Scliffdefflag opt_gemini.h				GEMINI_SLAVE: GEMINI
1801b65de4Scliffdefflag opt_gemini.h				GEMINI_SINGLE: GEMINI
19f5d7ce3dSmatt
20f5d7ce3dSmatt# OBIO just an attach point
21f5d7ce3dSmattdefine obio { [addr=-1], [size=0], [intr=-1], [mult=1], [intrbase=-1], [nobyteacc=0]
22f5d7ce3dSmatt	     } : bus_space_generic
23f5d7ce3dSmattdevice	obio: obio, pcibus
24f5d7ce3dSmattattach	obio at mainbus
25f5d7ce3dSmattfile	arch/arm/gemini/gemini_obio.c		obio needs-count
26f5d7ce3dSmatt
27f5d7ce3dSmatt# OBIO files
28f5d7ce3dSmattfile	arch/arm/gemini/gemini_space.c		obio
29f5d7ce3dSmatt##file	arch/arm/gemini/gemini_a2x_space.c		obio
30f5d7ce3dSmatt##file	arch/arm/gemini/gemini_a2x_io.S		obio
31f5d7ce3dSmattfile	arch/arm/gemini/gemini_a4x_space.c		obio
323d01a076Sskrllfile	arch/arm/arm/bus_space_a4x.S		obio
33f5d7ce3dSmattfile	arch/arm/gemini/gemini_dma.c
34f5d7ce3dSmatt
35f5d7ce3dSmatt# these bus space methods are not bus-specific ...
36f5d7ce3dSmatt#
37f5d7ce3dSmatt##file	arch/arm/gemini/gemini_nobyteacc_space.c	obio
38f5d7ce3dSmatt##file	arch/arm/gemini/gemini_nobyteacc_io.S		obio
39f5d7ce3dSmatt
40f5d7ce3dSmatt# GEMINI interrupt controller
410bbe6c8fSbshdevice	geminiicu: pic, pic_splfuncs
42f5d7ce3dSmattattach	geminiicu at obio with geminiicu
43f5d7ce3dSmattfile	arch/arm/gemini/gemini_icu.c		geminiicu needs-flag
44f5d7ce3dSmatt
45c55c9be5Scliff# Gemini inter-processor-interrupts
46ef77c48fSmattdevice	geminiipi {}
47c55c9be5Scliffattach	geminiipi at obio
48c55c9be5Sclifffile	arch/arm/gemini/gemini_ipi.c		geminiipi needs-flag
49f5d7ce3dSmatt
5041bfa2c4Scliff# Gemini inter-processor-messages
5141bfa2c4Scliffdevice	geminiipm {}
5241bfa2c4Scliffattach	geminiipm at geminiipi
5341bfa2c4Sclifffile	arch/arm/gemini/gemini_ipm.c		geminiipm needs-flag
5441bfa2c4Scliff
55ef77c48fSmattdevice	gpn: ifnet, ether, arp
5641bfa2c4Scliffattach	gpn at geminiipm
57ef77c48fSmattfile	arch/arm/gemini/if_gpn.c		gpn needs-flag
58ef77c48fSmatt
59f5d7ce3dSmatt# GEMINI GPIO controllers
60f5d7ce3dSmatt
61f5d7ce3dSmatt# GEMINI Timers
62f5d7ce3dSmattdevice	geminitmr
63f5d7ce3dSmattfile	arch/arm/gemini/gemini_timer.c		geminitmr
64f5d7ce3dSmattdefparam opt_gemini.h				GEMINI_TIMER_CLOCK_FREQ
65f5d7ce3dSmatt
66f5d7ce3dSmatt# OBIO/geminitmr
67f5d7ce3dSmattattach 	geminitmr at obio with obiotimer
68f5d7ce3dSmattfile	arch/arm/gemini/obio_timer.c		obiotimer
69f5d7ce3dSmatt
70f5d7ce3dSmatt# Gemini Watchdog timer
71f5d7ce3dSmattdevice	geminiwdt: sysmon_wdog
72f5d7ce3dSmattfile	arch/arm/gemini/gemini_wdt.c		geminiwdt needs-flag
73f5d7ce3dSmattdefparam opt_gemini.h				GEMINI_WDT_CLOCK_FREQ
74f5d7ce3dSmatt
75f5d7ce3dSmattattach geminiwdt at obio with obiowdt
76f5d7ce3dSmattfile	arch/arm/gemini/obio_wdt.c			obiowdt
77f5d7ce3dSmatt
78f5d7ce3dSmatt# NS16550 compatible serial ports
79f5d7ce3dSmattattach com at obio with gemini_com
80f5d7ce3dSmattfile	arch/arm/gemini/gemini_com.c		gemini_com
81f5d7ce3dSmatt
82bd4b8f97Scliff# GEMINI LPC Bus
83bd4b8f97Scliffdefine  lpcbus  {[addr = -1]}
84bd4b8f97Scliffdevice	lpc { [ldn=-1], [addr=-1], [size=0], [intr=-1] }
85bd4b8f97Scliffattach	lpc at lpcbus
86bd4b8f97Sclifffile	arch/arm/gemini/gemini_lpc.c		lpc needs-count
87bd4b8f97Scliff
88bd4b8f97Scliff# GEMINI LPC Host Controller
89bd4b8f97Scliffdevice	geminilpchc: lpcbus
90bd4b8f97Scliffattach	geminilpchc at obio with obio_lpchc
91bd4b8f97Sclifffile	arch/arm/gemini/obio_lpchc.c		obio_lpchc
92bd4b8f97Sclifffile	arch/arm/gemini/gemini_lpchc.c		geminilpchc needs-count
93bd4b8f97Scliff
94bd4b8f97Scliff# LPC Bus COM UARTs
95bd4b8f97Scliffattach	com at lpc with lpc_com
96bd4b8f97Sclifffile	arch/arm/gemini/lpc_com.c		lpc_com
97bd4b8f97Scliff
985aec566fScliff# GEMINI GPIO controllers
995aec566fScliffdevice	geminigpio: gpiobus
1005aec566fScliffattach	geminigpio at obio with geminigpio
1015aec566fSclifffile	arch/arm/gemini/gemini_gpio.c		geminigpio
102bd4b8f97Scliff
103f5d7ce3dSmatt# GEMINI USB controller
1042a71ce51Smattattach ehci at obio with ehci_obio
1052a71ce51Smattfile	arch/arm/gemini/obio_ehci.c		ehci_obio
106f5d7ce3dSmatt
107bd4b8f97Scliff# GEMINI ATA controller
108bd4b8f97Scliffattach wdc at obio with wdc_obio
109bd4b8f97Sclifffile	arch/arm/gemini/obio_wdc.c		wdc_obio
110f5d7ce3dSmatt
111f5d7ce3dSmatt# PCI
112f5d7ce3dSmattdevice	gemini_pci: pcibus
113f5d7ce3dSmattattach	gemini_pci at obio
114bd4b8f97Sclifffile	arch/arm/gemini/gemini_pci.c		pci needs-flag
115ef77c48fSmatt
116ef77c48fSmatt# GEMINI MAC controller
117145d2756Smattdevice	geminigmac { port, intr, phy }: mii, mii_bitbang
118ef77c48fSmattattach	geminigmac at obio with geminigmac
119ef77c48fSmattfile	arch/arm/gemini/gemini_gmac.c		geminigmac needs-flag
120ef77c48fSmatt
121145d2756Smattdevice	gmc: ifnet, ether, arp, mii
122ef77c48fSmattattach	gmc at geminigmac
123ef77c48fSmattfile	arch/arm/gemini/if_gmc.c		gmc
124