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