files.netwinder revision 1.1 1 # $NetBSD: files.netwinder,v 1.1 2001/04/19 07:01:11 matt Exp $
2 #
3 # First try for arm-specific configuration info
4 #
5
6 maxpartitions 8
7 maxusers 2 8 64
8
9 # COMPAT_OLD_OFW for SHARKs
10 defopt COMPAT_OLD_OFW
11
12 # Maintain Interrupt statistics
13 defopt IRQSTATS
14
15 # PMAP_DEBUG (heavily abused option)
16 defopt PMAP_DEBUG
17
18 # X server support in console drivers
19 defopt XSERVER
20
21 # Bootloader options (COMPAT... to be dropped ASAP)
22 defopt COMPAT_OLD_BOOTLOADER
23
24 # Architectures and core logic
25 defopt EBSA285
26 defopt FOOTBRIDGE
27 defopt NETWINDER
28
29 define todservice {}
30
31 #
32 # ISA and mixed ISA+EISA or ISA+PCI drivers
33 #
34 include "dev/isa/files.isa"
35
36 # Include WSCONS stuff
37 include "dev/wscons/files.wscons"
38 include "dev/rasops/files.rasops"
39 include "dev/wsfont/files.wsfont"
40
41 #
42 # Machine-independent ATA drivers
43 #
44 include "dev/ata/files.ata"
45 major {wd = 16}
46
47 # PIOC (Peripheral IO Controller) device
48 # parent to wdc, fdc, com and lpt
49 device pioc { [offset = -1], [dack = -1], [irq = -1] }
50 attach pioc at mainbus
51 file arch/arm32/mainbus/pioc.c pioc
52
53 # Standard NetBSD wdc driver
54 attach wdc at pioc with wdc_pioc
55 file arch/arm32/mainbus/wdc_pioc.c wdc_pioc
56
57 # Standard parallel driver
58 attach lpt at pioc with lpt_pioc
59 file arch/arm32/mainbus/lpt_pioc.c lpt_pioc
60
61 # Common OFW files
62 include "dev/ofw/files.ofw"
63 attach ofbus at root with ofbus_root
64 file arch/arm32/ofw/ofw.c ofw
65 file arch/arm32/ofw/openfirm.c ofw
66 file arch/arm32/ofw/oftodclock.c ofw & (shark | ofwgencfg)
67
68 # ISA DMA glue
69 file arch/arm32/isa/isadma_machdep.c isadma
70
71 # XXX ISA joystick driver
72 device joy
73 file arch/arm32/isa/joy.c joy needs-flag
74 attach joy at isa with joy_isa
75 file arch/arm32/isa/joy_isa.c joy_isa
76 attach joy at isapnp with joy_isapnp
77 file arch/arm32/isa/joy_isapnp.c joy_isapnp
78
79 # OFW ISA bus driver.
80 include "dev/ofisa/files.ofisa"
81 file arch/arm32/ofw/ofisa_machdep.c ofisa
82 file arch/arm32/ofw/com_ofisa_machdep.c com_ofisa
83 file arch/arm32/ofw/com_ofisa_consolehack.c com_ofisa # XXX
84 file arch/arm32/ofw/if_cs_ofisa_machdep.c cs_ofisa
85 file arch/arm32/ofw/lpt_ofisa_machdep.c lpt_ofisa
86 file arch/arm32/ofw/wdc_ofisa_machdep.c wdc_ofisa
87
88 # Glue for OFW ISA device attachment
89 device ofisapc {}
90 attach ofisapc at ofbus
91 file arch/arm32/ofw/ofisapc.c pc & ofw
92 device ofisascr {}
93 attach ofisascr at ofisa
94 file arch/arm32/ofw/ofisascr.c scr & ofw
95
96 device ofrom
97 attach ofrom at ofbus
98 file arch/arm32/ofw/ofrom.c ofrom needs-flag
99
100 # Standard NetBSD fd driver
101 device fdc {drive = -1}
102 attach fdc at pioc
103 device fd: disk
104 attach fd at fdc
105 file arch/arm32/mainbus/fd.c fdc needs-flag
106 major {fd = 17}
107
108 # Standard serial driver
109 attach com at pioc with com_pioc
110 file arch/arm32/mainbus/com_pioc.c com_pioc
111
112 # Memory disk driver
113 file arch/arm32/dev/md_hooks.c md & memory_disk_hooks
114 major {md = 18}
115
116 # RAIDframe
117 major {raid = 71}
118
119 # IOMD device
120 # parent to kbd, qms, pms, iic
121 # also provides irq and timer services
122 device iomd {}
123 attach iomd at mainbus
124 file arch/arm32/iomd/iomd.c iomd needs-flag
125 file arch/arm32/iomd/iomd_io.c iomd
126 file arch/arm32/iomd/iomd_io_asm.S iomd
127 file arch/arm32/iomd/iomd_irq.S iomd
128 file arch/arm32/iomd/iomd_irqhandler.c iomd
129 file arch/arm32/iomd/iomd_fiq.S iomd
130 file arch/arm32/iomd/iomd_dma.c iomd
131
132 # IOMD mouse devices
133 # clock device
134 device clock
135 attach clock at iomd
136 file arch/arm32/iomd/iomd_clock.c iomd
137
138 # quadmouse device
139 device qms
140 file arch/arm32/dev/qms.c qms needs-flag
141
142 attach qms at iomd with qms_iomd
143 file arch/arm32/iomd/qms_iomd.c qms_iomd
144
145 # wscons quadmouse device
146 device wsqms : wsmousedev
147 file arch/arm32/dev/wsqms.c wsqms needs-flag
148
149 attach wsqms at iomd with wsqms_iomd
150 file arch/arm32/iomd/wsqms_iomd.c wsqms_iomd
151
152 # attribute used to represent the "keyboard controller" on the shark
153 # XXX should be a real device
154 define spckbd { [irq = -1], [port = -1] }
155
156 # PS/2 mouse device
157 device opms: tty
158 file arch/arm32/dev/pms.c opms & opms_iomd needs-flag
159 file arch/arm32/shark/pms.c opms & ofw needs-flag
160
161 attach opms at spckbd with opms
162 attach opms at iomd with opms_iomd
163 file arch/arm32/iomd/pms_iomd.c opms_iomd
164
165 # Standard keyboard driver
166 device kbd
167 file arch/arm32/dev/kbd.c kbd needs-flag
168
169 attach kbd at iomd with kbd_iomd
170 file arch/arm32/iomd/kbd_iomd.c kbd_iomd
171
172 # RPC wscons keyboard driver
173 device rpckbd : wskbddev
174 file arch/arm32/dev/rpckbd.c rpckbd needs-flag
175 file arch/arm32/dev/wskbdmap_mfii.c rpckbd
176
177 attach rpckbd at iomd with rpckbd_iomd
178 file arch/arm32/iomd/rpckbd_iomd.c rpckbd_iomd
179
180 # IIC device
181 device iic { addr = -1 }
182 file arch/arm32/dev/iic.c iic needs-flag
183
184 attach iic at iomd with iic_iomd
185 file arch/arm32/iomd/iic_iomd.c iic_iomd
186 file arch/arm32/iomd/iomd_iic.S iic_iomd
187
188 # IIC based RTC
189 device rtc : todservice
190 attach rtc at iic
191 file arch/arm32/dev/rtc.c rtc needs-flag
192
193 device todclock
194 attach todclock at todservice
195 file arch/arm32/dev/todclock.c todclock needs-count
196
197 # VIDC device
198 # parent to vidcconsole, vidcaudio, beep
199 device vidc { [base = -1], [dack = -1], [irq = -1] }
200 attach vidc at mainbus
201 file arch/arm32/vidc/vidc20.c vidc needs-count
202
203 # VIDC video wscons device
204 device vidcvideo: rasops4, rasops8, rasops16, rasops32, wsemuldisplaydev
205 attach vidcvideo at vidc
206 file arch/arm32/vidc/vidc20config.c vidcvideo needs-flag
207 file arch/arm32/vidc/vidcvideo.c vidcvideo needs-flag
208
209 # Audio devices
210 device beep
211 attach beep at vidc
212 file arch/arm32/vidc/beep.c beep needs-flag
213
214 device vidcaudio: audio
215 attach vidcaudio at vidc
216 file arch/arm32/vidc/vidcaudio.c vidcaudio needs-flag
217
218 device lmcaudio: audio
219 attach lmcaudio at vidc
220 file arch/arm32/vidc/lmcaudio.c lmcaudio needs-flag
221 file arch/arm32/vidc/lmc1982.S lmcaudio
222
223 # Podule bus device
224 device podulebus { [slot = -1] }
225 attach podulebus at root
226 file arch/arm32/podulebus/podulebus.c podulebus needs-flag
227 file arch/arm32/podulebus/podulebus_io.c podulebus
228 file arch/arm32/podulebus/podulebus_io_asm.S podulebus
229
230 include "dev/podulebus/files.podulebus"
231
232 # Ethernet devices
233
234 # Novell NE1000 and NE2000 clones (EtherM, EtherH)
235 attach ne at podulebus with ne_pbus
236 file arch/arm32/podulebus/if_ne_pbus.c ne_pbus
237
238 device oea: ether, ifnet, arp
239 attach oea at podulebus
240 file arch/arm32/podulebus/if_ea.c oea
241
242 device oeb: ether, ifnet, arp
243 attach oeb at podulebus
244 file arch/arm32/podulebus/if_eb.c oeb
245
246 device ie: ether, ifnet, arp
247 attach ie at podulebus
248 file arch/arm32/podulebus/if_ie.c ie
249
250 device es: ether, ifnet, arp
251 attach es at mainbus
252 file arch/arm32/rc7500/if_es.c es & rc7500
253
254 #define ipkdb
255
256 #device kie: ipkdb
257 #attach kie at podule
258 #file arch/arm32/podulebus/ipkdb_ie.c kie
259
260 #file arch/arm32/arm32/ipkdb_glue.c ipkdb
261 #file arch/arm32/arm32/ipkdb_step.c ipkdb
262
263 #
264 # Machine-independent SCSI drivers
265 #
266
267 include "dev/scsipi/files.scsipi"
268 major {sd = 24}
269 major {cd = 26}
270
271 # Generic sbic (WD3393) driver
272 define sbic
273 file arch/arm32/podulebus/sbic.c sbic
274
275 # Acorn SCSI I specific layer for sbic
276 device asc: scsi, sbic
277 attach asc at podulebus
278 file arch/arm32/podulebus/asc.c asc needs-flag
279
280 # Generic AMD AM53C94 driver
281 define esc
282 file arch/arm32/podulebus/esc.c esc
283
284 # Connect32 specific layer for esc
285 device cosc: scsi, esc
286 attach cosc at podulebus
287 file arch/arm32/podulebus/cosc.c cosc
288
289 # Generic fas216 + esp216 driver
290 define sfas
291 file arch/arm32/podulebus/sfas.c sfas
292
293 device ptsc: scsi, sfas
294 attach ptsc at podulebus
295 file arch/arm32/podulebus/ptsc.c ptsc
296
297 device csc: scsi, sfas
298 attach csc at podulebus
299 file arch/arm32/podulebus/csc.c csc
300
301 # Oak specific layer for ncr5380
302 device oak: scsi, ncr5380sbc
303 attach oak at podulebus
304 file arch/arm32/podulebus/oak.c oak
305
306 # Cumana SCSI1 specific layer for ncr5380
307 device csa: scsi, ncr5380sbc
308 attach csa at podulebus
309 file arch/arm32/podulebus/csa.c csa
310
311 # ICS IDE driver
312 device icside {[channel = -1]}: wdc_base, ata, atapi
313 attach icside at podulebus
314 file arch/arm32/podulebus/icside.c icside
315 file arch/arm32/podulebus/icside_io_asm.S icside
316
317 # Yellowstone RapIDE driver
318 device rapide {[channel = -1]}: wdc_base, ata, atapi
319 attach rapide at podulebus
320 file arch/arm32/podulebus/rapide.c rapide
321 file arch/arm32/podulebus/rapide_io_asm.S rapide
322
323 # Simtec IDE driver
324 device simide {[channel = -1]}: wdc_base, ata, atapi
325 attach simide at podulebus
326 file arch/arm32/podulebus/simide.c simide
327 file arch/arm32/podulebus/simide_io_asm.S simide
328
329 # Atomwide Multi-Port Serial driver
330 device amps {}
331 attach amps at podulebus
332 attach com at amps with com_amps
333 file arch/arm32/podulebus/amps.c amps
334
335 device vidcconsole
336 attach vidcconsole at vidc
337 file arch/arm32/vidc/console/vidcconsole.c vidcconsole needs-count
338 device vt: tty
339 attach vt at vidc
340
341 file arch/arm32/vidc/console/console.c vt needs-count
342 file arch/arm32/vidc/console/vidcrender.c vt
343 file arch/arm32/vidc/console/vidc_mc.S vt
344 file arch/arm32/vidc/console/vidc.c vt
345 file arch/arm32/vidc/console/vt220.c vt
346 file arch/arm32/vidc/console/debugconsole.c vt
347 file arch/arm32/vidc/console/dumb.c vt
348
349 # Generic MD files
350 file arch/arm32/arm32/autoconf.c
351 file arch/arm32/arm32/blockio.S
352 file arch/arm32/arm32/bus_dma.c
353 file arch/netwinder/netwinder/conf.c
354 file arch/arm32/arm32/cpuswitch.S
355 file arch/arm32/arm32/stubs.c
356 file arch/arm32/arm32/exception.S
357 file arch/arm32/arm32/fault.c
358 file arch/arm32/arm32/mem.c
359 file arch/arm32/arm32/procfs_machdep.c procfs
360 file arch/arm32/arm32/machdep.c
361 file arch/arm32/arm32/vm_machdep.c
362 file arch/arm32/arm32/fusu.S
363 file arch/arm32/arm32/cpufunc.c
364 file arch/arm32/arm32/cpufunc_asm.S
365 file arch/arm32/arm32/setcpsr.S
366 file arch/arm32/arm32/setstack.S
367 file arch/arm32/arm32/spl.S
368 file arch/arm32/arm32/intr.c
369 file arch/arm32/dev/bus_space_notimpl.S
370
371 # files related to the shell
372 file arch/arm32/kshell/kshell_input.c kshell
373 file arch/arm32/kshell/kshell_shell.c kshell
374 file arch/arm32/kshell/kshell_disassem.c kshell
375 file arch/arm32/kshell/kshell_dumphex.c kshell
376 file arch/arm32/kshell/kshell_debug.c kshell
377
378 file arch/arm/arm/disksubr.c disk
379 file arch/arm/arm/disksubr_acorn.c disk
380 file arch/arm/arm/disksubr_mbr.c disk
381
382 file dev/cninit.c !footbridge
383
384 # ARM FPE
385 file arch/arm32/fpe-arm/armfpe_glue.S armfpe
386 file arch/arm32/fpe-arm/armfpe_init.c armfpe
387 file arch/arm32/fpe-arm/armfpe.s armfpe
388
389 # RiscPC specific files
390 file arch/arm32/riscpc/rpc_machdep.c riscpc
391 file arch/arm32/riscpc/rpc_kbd_map.c riscpc & kbd
392
393 # RC7500 specific files
394 file arch/arm32/rc7500/rc7500_machdep.c rc7500
395 file arch/arm32/rc7500/rc7500_kbd_map.c rc7500 & kbd
396 file arch/arm32/rc7500/rc7500_prom.c rc7500 & prom_debug
397 file arch/arm32/rc7500/rc7500_promsys.S rc7500 & prom_debug
398
399 # Shark specific files
400 file arch/arm32/shark/shark_machdep.c shark
401 file arch/arm32/shark/sequoia.c shark
402 file arch/arm32/shark/fiq.S shark
403 file arch/arm32/shark/hat.c shark
404 file arch/arm32/isa/isa_irqhandler.c shark
405 file arch/arm32/isa/clock.c shark
406 file arch/arm32/isa/isa_irq.S shark
407 file arch/arm32/isa/isa_shark_machdep.c shark
408 file arch/arm32/isa/isa_io.c shark | isa
409 file arch/arm32/isa/isa_io_asm.S shark | isa
410
411 # OFWGENCFG specific files
412 file arch/arm32/ofw/ofw_irq.S ofwgencfg
413 file arch/arm32/ofw/ofw_irqhandler.c ofwgencfg
414 file arch/arm32/ofw/ofwgencfg_clock.c ofwgencfg
415 file arch/arm32/ofw/ofwgencfg_machdep.c ofwgencfg
416
417 # National Semiconductor PC97307VUL SuperIO chip configuration routines
418 define nsio
419 file arch/arm32/shark/ns87307.c nsio & shark
420
421 # 8042 microcontroller routines for keyboard and mouse
422 define i8042
423 file arch/arm32/shark/i8042.c i8042
424
425 defpseudo profiler: disk
426 file arch/arm32/shark/profile.c profiler needs-flag
427
428 # SHARK pc console
429 device pc: tty, spckbd, i8042
430 attach pc at ofisapc
431 file arch/arm32/shark/pccons.c pc & ofw needs-flag
432
433 # Smart Card Reader
434 device scr: tty
435 file arch/arm32/shark/scr.c scr needs-flag
436 attach scr at ofisascr
437
438 # ISA Plug 'n Play autoconfiguration glue.
439 file arch/arm32/isa/isapnp_machdep.c isapnp
440
441 # DC21285 "Footbridge" specific files
442 define footbridge {}
443 device footbridge: pcibus, todservice
444 attach footbridge at mainbus
445 file arch/arm32/footbridge/footbridge.c footbridge
446 file arch/arm32/footbridge/footbridge_machdep.c footbridge
447 file arch/arm32/footbridge/footbridge_io.c footbridge
448 file arch/arm32/footbridge/footbridge_io_asm.S footbridge
449 file arch/arm32/footbridge/footbridge_pci.c footbridge
450 file arch/arm32/footbridge/footbridge_irq.S footbridge
451 file arch/arm32/footbridge/footbridge_irqhandler.c footbridge
452 file arch/arm32/footbridge/footbridge_clock.c footbridge
453
454 # DC21285 "Footbridge" serial port
455 device fcom: tty
456 attach fcom at footbridge
457 file arch/arm32/footbridge/footbridge_com.c fcom needs-flag
458 file arch/arm32/footbridge/footbridge_com_io.c fcom
459 file arch/arm32/footbridge/footbridge_com_io_asm.S fcom
460
461 # EBSA285/CATS class board
462 # DC21285 based board with cyclone firmware
463 file arch/arm32/footbridge/ebsa285_machdep.c footbridge & ebsa285
464 file arch/netwinder/netwinder/netwinder_machdep.c footbridge & netwinder
465
466 # CATS boards have an EBSA285 based core with an ISA bus
467 file arch/arm32/isa/isa_cats_machdep.c isa & ebsa285
468 file arch/netwinder/isa/isa_machdep.c isa & netwinder
469
470 device sysbeep
471 attach sysbeep at pcppi with sysbeep_isa
472 attach sysbeep at vidc with sysbeep_vidc
473 file arch/arm32/vidc/sysbeep_vidc.c sysbeep_vidc
474 file arch/arm32/isa/sysbeep_isa.c sysbeep_isa
475
476 device dsrtc: todservice
477 attach dsrtc at isa
478 file arch/arm32/isa/dsrtc.c dsrtc
479
480 # Machine-independent I2O drivers.
481 include "dev/i2o/files.i2o"
482
483 # PCI devices
484
485 #
486 # Include PCI config
487 #
488 include "dev/pci/files.pci"
489
490 # network devices MII bus
491 include "dev/mii/files.mii"
492
493 device pcib: isabus
494 attach pcib at pci
495 file arch/arm32/pci/pcib.c pcib
496
497 # XXX THE FOLLOWING BLOCK SHOULD GO INTO dev/pci/files.pci, BUT CANNOT
498 # XXX BECAUSE NOT 'lpt' IS DEFINED IN files.isa, RATHER THAN files.
499 # XXX (when the conf/files and files.isa bogons are fixed, this can
500 # XXX be fixed as well.)
501
502 attach lpt at puc with lpt_puc
503 file dev/pci/lpt_puc.c lpt_puc
504
505 file arch/arm32/pci/pciide_machdep.c pciide
506
507 include "dev/pckbc/files.pckbc"
508