NetBSD/sys/dev/isa/files.isa

374 lines
8.8 KiB
Plaintext
Raw Normal View History

# $NetBSD: files.isa,v 1.83 1999/03/22 22:33:36 bad Exp $
1995-04-17 20:58:30 +04:00
#
1997-07-21 00:30:46 +04:00
# Config file and device description for machine-independent ISA code.
1995-04-17 20:58:30 +04:00
# Included by ports that need it. Requires that the SCSI files be
# defined first.
# ports should specify appropriate major numbers for the following
# devices:
# mcd, scd, wd, wt
device isa {[port = -1], [size = 0],
[iomem = -1], [iosiz = 0],
[irq = -1], [drq = -1], [drq2 = -1]}
attach isa at isabus
1995-04-17 20:58:30 +04:00
file dev/isa/isa.c isa needs-flag
# ISA DMA controller
1995-04-17 20:58:30 +04:00
define isadma
file dev/isa/isadma.c isadma needs-flag
#
# 8250/16[45]50-based multi-port serial boards
#
1995-04-17 20:58:30 +04:00
define commulti {[slave = -1]}
# AST 4-port board
device ast: commulti
attach ast at isa
1995-04-17 20:58:30 +04:00
file dev/isa/ast.c ast
# TC-800 8-port board
device tcom: commulti
attach tcom at isa
file dev/isa/tcom.c tcom
# BOCA 8-port board
device boca: commulti
attach boca at isa
1995-04-17 20:58:30 +04:00
file dev/isa/boca.c boca
# IBM RT PC 4-port board
device rtfps: commulti
attach rtfps at isa
1995-04-17 20:58:30 +04:00
file dev/isa/rtfps.c rtfps
#
# Serial and parallel drivers
#
attach com at isa with com_isa
file dev/isa/com_isa.c com_isa
attach com at commulti with com_multi
file dev/isa/com_multi.c com_multi
1995-04-17 20:58:30 +04:00
1996-09-24 21:45:14 +04:00
# Cyclades Cyclom-8/16/32
attach cy at isa with cy_isa
file dev/isa/cy_isa.c cy_isa
# PC-style parallel ports (XXX what chip?)
# XXX chip driver should be defined elsewhere
device lpt
file dev/ic/lpt.c lpt needs-flag
# PC-style parallel ports: ISA bus attachment
attach lpt at isa with lpt_isa
file dev/isa/lpt_isa.c lpt_isa
1995-04-17 20:58:30 +04:00
#
# SCSI host adapters
#
# Adaptec AHA-154x family
# device declaration in sys/conf/files
1996-09-07 16:12:18 +04:00
attach aha at isa with aha_isa: isadma
file dev/isa/aha_isa.c aha_isa
# Adaptec AIC-6[32]60 ICs
# device declaration in sys/conf/files
attach aic at isa with aic_isa: isadma
file dev/isa/aic_isa.c aic_isa
# Qlogic ESP406/FAS408 boards
# ncr53c9x device declaration in sys/conf/files
device esp: scsi, ncr53c9x, isadma
attach esp at isa with esp_isa
file dev/isa/esp_isa.c esp_isa
1996-09-01 04:10:55 +04:00
# BusLogic BT-[45]4x ISA family
# device declaration in sys/conf/files
attach bha at isa with bha_isa: isadma
file dev/isa/bha_isa.c bha_isa
# Seagate ST0[12] ICs
device sea: scsi, isadma
attach sea at isa
1995-04-17 20:58:30 +04:00
file dev/isa/seagate.c sea
# UltraStor UHA-[13]4f boards
1996-09-01 04:10:55 +04:00
# device declaration in sys/conf/files
attach uha at isa with uha_isa: isadma
file dev/isa/uha_isa.c uha_isa
# Western Digital WD7000 and Future Domain TMC-7000 boards
device wds: scsi, isadma
attach wds at isa
file dev/isa/wds.c wds
1995-04-17 20:58:30 +04:00
# NCR 5380-based boards
device nca: scsi, ncr5380sbc
attach nca at isa
file dev/isa/nca.c nca
#
# Other ISA disk controllers
#
# Mitsumi CD-ROM controllers
device mcd: disk
attach mcd at isa
1995-04-17 20:58:30 +04:00
file dev/isa/mcd.c mcd needs-flag
defopt MCD_PROMISC # enable "promiscuous" match
# Sony CDU-3[13]A CD-ROM drives
device scd: disk
attach scd at isa
file dev/isa/scd.c scd needs-flag
attach wdc at isa with wdc_isa: isadma
file dev/isa/wdc_isa.c wdc_isa
# Wangtek- and Archive-compatible tape controller boards
device wt: tape, isadma
attach wt at isa
1995-04-17 20:58:30 +04:00
file dev/isa/wt.c wt needs-flag
#
# ISA networking drivers
#
# WD/SMC 80x3 family, SMC Elite Ultra [8216], SMC EtherEZ
# MUST be first: probe is non invasive, and registers are clobbered
# by other drivers's probe
device we: ether, ifnet, arp, dp8390nic
attach we at isa
file dev/isa/if_we.c we
# 3Com common probe code
1995-04-17 20:58:30 +04:00
define elink
file dev/isa/elink.c elink
# 3Com 3C503
device ec: ether, ifnet, arp, dp8390nic
attach ec at isa
file dev/isa/if_ec.c ec
# 3Com 3C505
device eg: ether, ifnet, arp
attach eg at isa
1995-04-17 20:58:30 +04:00
file dev/isa/if_eg.c eg
# 3Com 3C501
device el: ether, ifnet, arp
attach el at isa
1995-04-17 20:58:30 +04:00
file dev/isa/if_el.c el
# 3Com 3C509 Ethernet controller
# device declaration in sys/conf/files
attach ep at isa with ep_isa: elink
file dev/isa/if_ep_isa.c ep_isa
1998-03-22 07:38:42 +03:00
# Allied Telesis MB8695-based boards
# (Allied Telesis AT1700)
device ate: arp, ether, ifnet, mb86960
attach ate at isa
file dev/isa/if_ate.c ate
# Crystal Semiconductor CS8900, CS8920, and CS8920M Ethernet
device cs: arp, ether, ifnet, isadma
file dev/isa/cs89x0.c cs
attach cs at isa with cs_isa
file dev/isa/if_cs_isa.c cs_isa
1998-03-22 07:38:42 +03:00
# Fujitsu MB86960-based boards
# (Fujitsu FMV-180 series)
device fmv: arp, ether, ifnet, mb86960
attach fmv at isa
file dev/isa/if_fmv.c fmv
# HP Lan Ethernet controllers
# XXX currently broken
#device hp: ether, ifnet, arp
#attach hp at isa
1995-04-17 20:58:30 +04:00
#file dev/isa/if_hp.c hp
# Intel i82595-based boards.
# (Intel EtherExpress PRO)
device iy: ether, ifnet, arp
attach iy at isa
file dev/isa/if_iy.c iy
# AMD am7990 (Lance) -based boards
# (BICC Isolan, NE2100, DEPCA)
# device declaration in sys/conf/files
device nele {}
attach nele at isa
1998-07-21 21:36:01 +04:00
attach le at nele with le_nele: le24, isadma
device bicc {}
attach bicc at isa
1998-07-21 21:36:01 +04:00
attach le at bicc with le_bicc: le24, isadma
file dev/isa/if_le_isa.c nele | bicc
device depca {}
attach depca at isa with depca_isa
1998-07-21 21:36:01 +04:00
attach le at depca with le_depca: le24
file dev/isa/if_depca_isa.c depca
1995-04-17 20:58:30 +04:00
# DEC EtherWORKS III (LEMAC-based: DE203, DE204, DE205) cards
attach lc at isa with lc_isa
file dev/isa/if_lc_isa.c lc
# Novell NE1000, NE2000, and clones
attach ne at isa with ne_isa: rtl80x9
file dev/isa/if_ne_isa.c ne_isa
# SMC91Cxx Ethernet Controllers
attach sm at isa with sm_isa
file dev/isa/if_sm_isa.c sm_isa
# 3Com 3C507
device ef: ether, ifnet, arp, elink, i82586
attach ef at isa
file dev/isa/if_ef.c ef
# AT&T StarLan boards
device ai: ether, ifnet, arp, i82586
attach ai at isa
file dev/isa/if_ai.c ai
# EtherExpress/16
device ix: ether, ifnet, arp, i82586
attach ix at isa
file dev/isa/if_ix.c ix
# TROPIC based Token-Ring (IBM/3COM)
define tr_isa
file dev/isa/if_tr_isa.c tr_isa
attach tr at isa with tr_isa: tr_isa, elink
file dev/isa/if_tribm_isa.c tr_isa
file dev/isa/if_trtcm_isa.c tr_isa
#
# ISA Sound hardware
#
# MPU401 MIDI UART compatibles
Several things: * Rearrange the speed mapping table and adjust the code so that the highest rate can actually be used. Previously we ended up rounding up slightly lower speeds and then losing because set_params couldn't set the mode back to the current one. * Allow 260 as a valid I/O address, since the SB1 can be jumpered to this. * Change the MPU-401 code so it can be attached as a separate device. (XXX Really, the SB code ought to just attach a subdevice itself.) * Do not attach an OPL on the SB1. Writing to the OPL registers at SB_base+0 on this card wedges my machine. (XXX Should we access it at 388 instead? The Creative web site claims that this board *does* have an OPL2, but I haven't played with this extensively.) * Allocate the SB DMA channels at open time, rather than attach time, so that a single DRQ can be used for multiple cards (if only one is in use at a given time). (XXX Let me tell you why this is a horrible hack. If the ISA DMA code tries to allocate a bounce buffer after boot time, it will generally fail, because there is no contiguous memory below 16MB and the code to allocate contiguous pages doesn't know how to move things around. Now, we shouldn't ever be using bounce buffers here, because we use isa_dmamem_alloc(). So we just turn off BUS_DMA_ALLOCNOW and we don't actually try to. That's cool, and it even works, but isa_dmamem_alloc() has the same problem. It just happens that we allocate the ring buffers at boot time, and whenever we reallocate them (due to the buffer size changing), we just deallocated the previous (contiguous) buffer, so we get lucky. This is absolutely disgusting and needs to be fixed.)
1999-03-22 10:37:35 +03:00
device mpu: midibus
file dev/isa/mpu.c (mpu | sb) needs-flag
# the SoundBlaster DSP, or close likenesses; used by other drivers
define sbdsp { }
1995-04-17 20:58:30 +04:00
file dev/isa/sbdsp.c sbdsp
# SoundBlaster family
Several things: * Rearrange the speed mapping table and adjust the code so that the highest rate can actually be used. Previously we ended up rounding up slightly lower speeds and then losing because set_params couldn't set the mode back to the current one. * Allow 260 as a valid I/O address, since the SB1 can be jumpered to this. * Change the MPU-401 code so it can be attached as a separate device. (XXX Really, the SB code ought to just attach a subdevice itself.) * Do not attach an OPL on the SB1. Writing to the OPL registers at SB_base+0 on this card wedges my machine. (XXX Should we access it at 388 instead? The Creative web site claims that this board *does* have an OPL2, but I haven't played with this extensively.) * Allocate the SB DMA channels at open time, rather than attach time, so that a single DRQ can be used for multiple cards (if only one is in use at a given time). (XXX Let me tell you why this is a horrible hack. If the ISA DMA code tries to allocate a bounce buffer after boot time, it will generally fail, because there is no contiguous memory below 16MB and the code to allocate contiguous pages doesn't know how to move things around. Now, we shouldn't ever be using bounce buffers here, because we use isa_dmamem_alloc(). So we just turn off BUS_DMA_ALLOCNOW and we don't actually try to. That's cool, and it even works, but isa_dmamem_alloc() has the same problem. It just happens that we allocate the ring buffers at boot time, and whenever we reallocate them (due to the buffer size changing), we just deallocated the previous (contiguous) buffer, so we get lucky. This is absolutely disgusting and needs to be fixed.)
1999-03-22 10:37:35 +03:00
device sb: audio, isadma, sbdsp, mulaw, auconv, midibus
1995-04-17 20:58:30 +04:00
file dev/isa/sb.c sb needs-flag
attach sb at isa with sb_isa
file dev/isa/sb_isa.c sb_isa needs-flag
attach opl at sbdsp with opl_sb
file dev/isa/opl_sb.c opl_sb
# ProAudio Spectrum
device pas: audio, isadma, sbdsp, mulaw, auconv
attach pas at isa
1995-04-17 20:58:30 +04:00
file dev/isa/pas.c pas needs-flag
# AD1848 (CS4248, CS4231, AD1845) audio codec support; used by other drivers
file dev/isa/ad1848_isa.c ad1848
1995-07-19 23:58:09 +04:00
# ICS2101 mixer chip support; used by other drivers
define ics2101
file dev/isa/ics2101.c ics2101
# Audio systems based on Echo Speech Corp. ESC61[45] ASICs
device pss {[port = -1], [size = 0],
[iomem = -1], [iosiz = 0],
[irq = -1], [drq = -1]}
attach pss at isa
device sp: audio, isadma, ad1848, auconv
attach sp at pss
1995-04-17 20:58:30 +04:00
file dev/isa/pss.c pss needs-flag
# Microsoft Windows Sound System
device wss: audio, isadma, ad1848, auconv
1995-04-17 20:58:30 +04:00
file dev/isa/wss.c wss needs-flag
1995-07-19 23:58:09 +04:00
attach wss at isa with wss_isa
file dev/isa/wss_isa.c wss_isa needs-flag
# ESS Technology ES1887/ES888/ES1888
device ess { } : audio, isadma, mulaw, auconv, midibus
file dev/isa/ess.c ess needs-flag
attach ess at isa with ess_isa
file dev/isa/ess_isa.c ess_isa needs-flag
attach opl at ess with opl_ess
file dev/isa/opl_ess.c opl_ess
# Yamaha OPL2/OPL3 FM synth
attach opl at isa with opl_isa
file dev/isa/opl_isa.c opl_isa
# Yamaha OPL3-SA3
device ym: audio, isadma, ad1848, auconv
file dev/isa/ym.c ym needs-flag
1995-07-19 23:58:09 +04:00
# Gravis UltraSound & UltraSound MAX.
# Use the "drq2" keyword in a config file to specify an extra DMA
1995-07-19 23:58:09 +04:00
# channel for full-duplex operation.
device gus: audio, isadma, ics2101, ad1848, mulaw, auconv
attach gus at isa
1995-07-19 23:58:09 +04:00
file dev/isa/gus.c gus needs-flag
# Sierra's Aria chipset.
# (e.g. Prometheus Aria 16)
device aria: audio, mulaw, auconv
attach aria at isa
file dev/isa/aria.c aria needs-flag
#
# PlanetConnect satellite receiver driver.
#
device satlink: isadma
attach satlink at isa
file dev/isa/satlink.c satlink needs-flag
#
# PC keyboard controller
#
device pckbc {[slot = -1]}
attach pckbc at isa
file dev/isa/pckbc.c pckbc needs-flag
1998-04-16 00:26:53 +04:00
# generic ISA VGA
attach vga at isa with vga_isa
file dev/isa/vga_isa.c vga_isa needs-flag
# generic PC graphics adapter (MGA, CGA, ...)
device pcdisplay: wsemuldisplaydev, pcdisplayops
attach pcdisplay at isa
file dev/isa/pcdisplay.c pcdisplay needs-flag
1998-04-16 00:26:53 +04:00
# PC PPI + TIMER 1 (speaker interface)
device pcppi {}
attach pcppi at isa
file dev/isa/pcppi.c pcppi needs-flag
device spkr
attach spkr at pcppi
file dev/isa/spkr.c spkr needs-flag
attach midi at pcppi with midi_pcppi: midisyn
file dev/isa/midi_pcppi.c midi_pcppi
#
# ISA Plug 'n Play autoconfiguration glue.
# THIS MUST COME AFTER ALL MI ISA DEVICES ARE DEFINED. This is because
# ISA PnP devices often use `device' declarations listed in this file.
#
include "dev/isapnp/files.isapnp"