#	$OpenBSD: GENERIC,v 1.20 2005/02/15 11:03:46 jsg Exp $
#
# GENERIC machine description file
#
# This machine description file is used to generate the default OpenBSD
# kernel.  The generic kernel does not include all options, subsystems
# and device drivers, but should be useful for most applications.
#
# The machine description file can be customised for your specific
# machine to reduce the kernel size and improve its performance.
#
# For further information on compiling OpenBSD kernels, see the config(8)
# man page.
#
# For further information on hardware support for this architecture, see
# the intro(4) man page.  For further information about kernel options
# for this architecture, see the options(4) man page.  For an explanation
# of each device driver in this file see the section 4 man page for the
# device.

machine	cats	arm

include "../../../conf/GENERIC"

options		ARM32
options		FOOTBRIDGE_INTR

# estimated number of users

maxusers	32

# Standard system options

#options 	UCONSOLE	# users can use TIOCCONS (for xconsole)
#options 	INSECURE	# disable kernel securelevel

#options 	RTC_OFFSET=0	# hardware clock is this many mins. west of GMT
#options 	NTP		# NTP phase/frequency locked loop

option		APERTURE	# in-kernel aperture driver for XFree86
option		USER_PCICONF	# user-space PCI configuration

# CPU options

# For StrongARM systems
options 	CPU_SA110	# Support the SA110 core

# FPA options

#options 	ARMFPE		# ARM Ltd FPE

option WSDISPLAY_COMPAT_USL		# VT handling
option WSDISPLAY_COMPAT_RAWKBD		# can get raw scancodes
option WSDISPLAY_DEFAULTSCREENS=6	# can get raw scancodes
option WSDISPLAY_COMPAT_PCVT		# can get raw scancodes

config		bsd	swap generic

# The main bus device
mainbus0	at root
cpu0		at mainbus?
footbridge0	at mainbus?

fcom0		at footbridge?	# footbridge uart
#clock*		at footbridge?	# system clock via footbridge
todclock0	at todservice?	# time-of-day device

pci0		at footbridge?	# PCI bus
pci*		at ppb?

option          PCIVERBOSE
option          USBVERBOSE

# PCI bridges
ppb*	at pci?			# PCI-PCI bridges
# XXX 'puc's aren't really bridges, but there's no better place for them here
#puc*	at pci?			# PCI "universal" comm. cards

# PCI serial interfaces
#com*	at puc?			# 16x50s on "universal" comm boards
#cy*	at pci?			# Cyclades Cyclom-Y serial boards

# PCI parallel printer interfaces
#lpt*	at puc?			# || ports on "universal" comm boards

# PCI SCSI Controllers and Buses
adv*	at pci?			# AdvanSys 1200[A,B], ULTRA SCSI
scsibus* at adv?
#adw*	at pci?			# AdvanSys 9xxUW SCSI
#scsibus* at adw?
ahc*	at pci?			# Adaptec [23]94x, aic78x0 SCSI controllers
scsibus* at ahc?
#bha*	at pci?			# BusLogic 9xx SCSI
#scsibus* at bha?
iha*	at pci?			# Initio INIC-940/950 SCSI
scsibus* at iha?
#isp*	at pci?			# Qlogic ISP 10x0 SCSI controllers
#scsibus* at isp?
pcscp*	at pci?			# AMD 53c974 PCscsi-PCI SCSI
scsibus* at pcscp?
siop*	at pci?			# NCR 53c8xx SCSI
scsibus* at siop?

# SCSI devices
sd*	at scsibus?		# SCSI disk drives
st*	at scsibus?		# SCSI tape drives
cd*	at scsibus?		# SCSI CD-ROM drives
#ch*	at scsibus?		# SCSI auto-changers
#uk*	at scsibus?		# SCSI unknown device
#ss*	at scsibus?		# SCSI scanner

# PCI IDE Controllers and Devices
# PCI IDE controllers - see pciide(4) for supported hardware.
# The 0x0001 flag force the driver to use DMA, even if the driver doesn't know
# how to set up DMA modes for this chip. This may work, or may cause
# a machine hang with some controllers.
pciide* at pci? flags 0x0000

# IDE drives
# Flags are used only with controllers that support DMA operations
# and mode settings (e.g. some pciide controllers)
# The lowest order four bits (rightmost digit) of the flags define the PIO
# mode to use, the next set of four bits the DMA mode and the third set the
# UltraDMA mode. For each set of four bits, the 3 lower bits define the mode
# to use, and the last bit must be 1 for this setting to be used.
# For DMA and UDMA, 0xf (1111) means 'disable'.
# 0x0fac means 'use PIO mode 4, DMA mode 2, disable UltraDMA'.
# (0xc=1100, 0xa=1010, 0xf=1111)
# 0x0000 means "use whatever the drive claims to support".
wd*	at pciide? flags 0x0000	# the drives themselves

# ATAPI bus support
atapiscsi* at pciide?
scsibus* at atapiscsi?

# PCI network interfaces
#en*	at pci?			# ENI/Adaptec ATM
#ep*	at pci?			# 3C590 ethernet cards
em*	at pci?			# Intel Pro/1000 ethernet
fxp*	at pci?			# Intel EtherExpress PRO 10+/100B
ne*	at pci?			# NE2000 compat ethernet
#ntwoc*	at pci?			# Riscom/N2 PCI Sync Serial
dc*	at pci?			# DECchip 21x4x and clones
de*	at pci?			# DECchip 21x4x and clones
vr*	at pci?			# VIA Rhine Fast Ethernet
xl*	at pci?			# 3C9xx ethernet
#lmc*	at pci?			# Lan Media Corp SSI/HSSI/DS3

# MII/PHY support
acphy*	at mii?			# Altima AC101 PHYs
amphy*	at mii?			# AMD 79C873 PHYs
bmtphy*	at mii?			# Broadcom 10/100 PHYs
exphy*	at mii?			# 3Com internal PHYs
icsphy* at mii?			# Integrated Circuit Systems ICS189x
inphy*	at mii?			# Intel 82555 PHYs
iophy*	at mii?			# Intel 82553 PHYs
lxtphy*	at mii?			# Level One LXT-970 PHYs
nsphy*	at mii?			# NS83840 PHYs
nsphyter* at mii?		# NS83843 PHYs
qsphy*	at mii?			# Quality Semiconductor QS6612 PHYs
rlphy* at mii?			# RealTek 8139 internal PHYs
sqphy*	at mii?			# Seeq 80220/80221/80223 PHYs
tlphy*	at mii?			# ThunderLAN PHYs
tqphy*	at mii?			# TDK Semiconductor PHYs
ukphy*	at mii?			# generic unknown PHYs
urlphy*	at mii?			# Realtek RTL8150L internal PHY

# USB Controller and Devices

# PCI USB controllers
ohci*	at pci?			# Open Host Controller

# USB bus support
usb*	at ohci?

# USB devices
uhub*	at usb?			# USB Hubs
uhub*	at uhub?		# USB Hubs
umodem*	at uhub?		# USB Modems/Serial
ucom*	at umodem?
uvisor*	at uhub?		# Handspring Visor
ucom*	at uvisor?
uvscom*	at uhub?		# SUNTAC Slipper U VS-10U serial
ucom*	at uvscom?
ubsa*	at uhub?		# Belkin serial adapter
ucom*	at ubsa?
uftdi*	at uhub?		# FTDI FT8U100AX serial adapter
ucom*	at uftdi?
uplcom* at uhub?		# I/O DATA USB-RSAQ2 serial adapter
ucom*	at uplcom?
umct*	at uhub?		# MCT USB-RS232 serial adapter
ucom*	at umct?
uaudio* at uhub?		# USB Audio
audio*	at uaudio?
umidi*	at uhub?		# USB MIDI
midi*	at umidi?
ulpt*	at uhub?		# USB Printers
umass*	at uhub?		# USB Mass Storage devices
scsibus* at umass?
uhidev*	at uhub?		# Human Interface Devices
ums*	at uhidev?		# USB mouse
wsmouse* at ums? mux 0
ukbd*	at uhidev?		# USB keyboard
wskbd*	at ukbd? mux 1
uhid*	at uhidev?		# USB generic HID support
aue*	at uhub?		# ADMtek AN986 Pegasus Ethernet
#atu*	at uhub?		# Atmel AT76c50x based 802.11b
axe*	at uhub?		# ASIX Electronics AX88172 USB Ethernet
cue*	at uhub?		# CATC USB-EL1201A based Ethernet
cdce*	at uhub?		# CDC Ethernet
kue*	at uhub?		# Kawasaki KL5KUSB101B based Ethernet
udav*	at uhub?		# Davicom DM9601 based Ethernet
upl*	at uhub?		# Prolific PL2301/PL2302 host-to-host `network'
url*	at uhub?		# Realtek RTL8150L based adapters
wi*	at uhub?		# WaveLAN IEEE 802.11DS
urio*	at uhub?		# Diamond Multimedia Rio 500
uscanner* at uhub?		# USB Scanners
usscanner* at uhub?		# USB SCSI scanners, e.g., HP5300
scsibus* at usscanner?
#uyap*	at uhub?		# Y@P firmware loader
udsbr*	at uhub?		# D-Link DSB-R100 radio
radio*	at udsbr?		# USB radio
#ubt*	at uhub?		# USB Bluetooth
ugen*	at uhub?		# USB Generic driver

# Audio Devices

# PCI audio devices
#eap*	at pci?			# Ensoniq AudioPCI
#sv*	at pci?			# S3 SonicVibes

# Audio support
#audio*	at eap?
#audio*	at sv?

vga*		at pci?
wsdisplay*	at vga?

# ISA bus bridging

pcib*	at pci?			# PCI-ISA bridge
isa*	at pcib?		# ISA bus

# ISA Plug-and-Play bus support
#isapnp0	at isa?

# wscons
pckbc0	at isa?			# pc keyboard controller
pckbd*	at pckbc?		# PC keyboard
pms*		at pckbc?		# PS/2 mouse for wsmouse
wskbd*		at pckbd? mux 1
wsmouse*	at pms? mux 0

pcppi0	at isa?
sysbeep0	at pcppi?

# ISA Plug-and-Play serial interfaces
#com*	at isapnp?			# Modems and serial boards

# ISA Plug-and-Play network interfaces
#ep*	at isapnp?			# 3Com 3c509 Ethernet

# ISA serial interfaces
com0	at isa? port 0x3f8 irq 4	# Standard PC serial ports
com1	at isa? port 0x2f8 irq 3
#com2	at isa? port 0x3e8 irq 9
#com3	at isa? port 0x2e8 irq 10

# ISA parallel printer interfaces
lpt0	at isa? port 0x378 irq 7	# standard PC parallel ports
lpt1	at isa? port 0x278 irq 5
#lpt2	at isa? port 0x3bc

# ISA floppy
#fdc0	at isa? port 0x3f0 irq 6 drq 2	# standard PC floppy controllers
#fdc1	at isa? port 0x370
#fd*	at fdc?				# the drives themselves

# ISA network interface
#ne0	at isa? port 0x280 irq 9
#ne1	at isa? port 0x300 irq 10
ep*	at isa?
lc0 at isa? port 0x200 irq ?
lc1 at isa? port 0x280 irq ?

# The spkr driver provides a simple tone interface to the built in speaker.
spkr0	at pcppi?			# PC speaker

ds1687rtc0 at isa? port 0x72		# Dallas RTC

# ISA Plug-and-Play audio devices
#ess*	at isapnp?			# ESS Tech ES1887, ES1888, ES888 audio
#sb*	at isapnp?			# SoundBlaster-compatible audio
#wss*	at isapnp?			# Windows Sound System

# MPU 401 UARTs
#mpu*	at sb?

# MIDI support
midi*	at pcppi?		# MIDI interface to the PC speaker
#midi*	at mpu?			# MPU 401
#midi*	at eap?

# Joysticks

# ISA Plug-and-Play joysticks
#joy*	at isapnp?		# Game ports (usually on audio cards)

# ISA joysticks. Probe is a little strange; add only if you have one.
#joy0	at isa? port 0x201

hifn*	at pci?			# Hi/fn 7751 crypto card

# Pseudo-Devices
pseudo-device	wsmux		2	# mouse & keyboard multiplexor
pseudo-device	crypto		1
