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