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