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