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