#	$OpenBSD: RAMDISK,v 1.21 2005/03/18 07:48:43 dlg 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	zaurus	arm

options	TIMEZONE=0	# time zone to adjust RTC time by
options	DST=0		# daylight saving time used by RTC
options	FFS		# UFS
options	CD9660		# ISO 9660 + Rock Ridge file system
options	MSDOSFS		# MS-DOS file system
options	INET		# IP + ICMP + TCP + UDP
options	INET6		# IPv6 (needs INET)
options	DDB		# kernel debugger
options	EXT2FS		# Second Extended Filesystem
options	FIFO		# FIFOs; RECOMMENDED

options		ARM32
#options 	ARM_INTR_IMPL="<arch/arm/xscale/pxa2x0_intr.h>"
options		PXA2x0_INTR
options		PXAGPIO_HAS_GPION_INTRS

options		CACHE_CLEAN_BLOCK_INTR

makeoptions	KERNEL_BASE_PHYS="0xa0200000"
makeoptions	KERNEL_BASE_VIRT="0xc0200000"
makeoptions	BOARDTYPE="zaurus"

# estimated number of users

maxusers	32

# CPU options
options 	CPU_XSCALE_PXA2X0	# Support the XScale core
#options 	XSCALE_CACHE_WRITE_THROUGH
options 	XSCALE_CACHE_WRITE_BACK
makeoptions	CPUFLAGS="-mcpu=xscale"

#option WSDISPLAY_COMPAT_USL		# VT handling
#option WSDISPLAY_COMPAT_RAWKBD		# can get raw scancodes
#option WSDISPLAY_DEFAULTSCREENS=2
#option WSDISPLAY_COMPAT_PCVT		# emulate some ioctls

config		bsd	root on rd0a swap on rd0b

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

pxaintc0	at pxaip?	# interrupt controller
pxagpio0	at pxaip?	# GPIO
scoop0		at pxaip?
scoop1		at pxaip?
saost0		at pxaip? addr 0x40a00000 size 0x20
pxaudc0		at pxaip?
ohci0		at pxaip?
usb*		at ohci?

# keyboard
zkbd0		at pxaip?
wskbd*		at zkbd? mux 1

# USB bus support
usb*		at ohci?	flags 0x1
uhub*		at usb?
uhub*		at uhub?

uhidev*		at uhub?
uhid*		at uhidev?		# USB Generic HID devices
ukbd*		at uhidev?		# USB HID Keyboard devices
wskbd*		at ukbd? mux 1
#ums*		at uhub?		# USB Mice
#wsmouse*	at ums? mux 0
#ulpt*		at uhub?		# USB Printer
aue*		at uhub?		# ADMtek AN986 Pegasus Ethernet
axe*		at uhub?		# ASIX Electronics AX88172 USB Ethernet
cue*		at uhub?		# CATC USB-EL1201A based Ethernet
kue*		at uhub?		# Kawasaki KL5KUSB101B based Ethernet
cdce*		at uhub?		# CDC Ethernet
upl*		at uhub?		# Prolific PL2301/PL2302 host-to-host
udav*		at uhub?		# Davicom DM9601 based Ethernet
ural*		at uhub?		# Ralink RT2500
url*		at uhub?		# Realtek RTL8150L based adapters
wi*		at uhub?		# WaveLAN IEEE 802.11DS
#uscanner*	at uhub?		# USB Scanner driver
#usscanner*	at uhub?		# USB SCSI scanners
#scsibus*	at usscanner?
#uyap*		at uhub?		# Y@P firmware loader
#ugen*		at uhub?		# USB Generic driver
umass*		at uhub?		# USB Mass Storage devices
scsibus*	at umass?

sd*		at scsibus?
#st*		at scsibus?
cd*		at scsibus?
#ch*		at scsibus?
#ss*		at scsibus?
#uk*		at scsibus?

# integrated 16550 UARTs
options COM_PXA2X0
com0	at pxaip?  addr 0x40100000 intr 22	# Full Function UART
com1	at pxaip?  addr 0x40200000 intr 21	# BlueTootth UART
#com2	at pxaip?  addr 0x40700000 intr 20	# Standard UART (for IrDA)
options FFUARTCONSOLE
#options BTUARTCONSOLE

#aupxa0	at pxaip?		# AC97 interface

# CF (pcmcia) support
pxapcic0	at pxaip?
pcmcia*		at pxapcic?
wi*		at pcmcia?
ne* 		at pcmcia?
wdc*		at pcmcia?

# IDE hard drives
wd*		at wdc? flags 0x0000

# PHY
exphy*	at mii?			# 3Com internal PHYs
inphy*	at mii?			# Intel 82555 PHYs
iophy*	at mii?			# Intel 82553 PHYs
icsphy*	at mii?			# ICS 1890 PHYs
lxtphy*	at mii?			# Level1 LXT970 PHYs
nsphy*	at mii?			# NS and compatible PHYs
nsphyter* at mii?		# NS and compatible PHYs
qsphy*	at mii?			# Quality Semi QS6612 PHYs
sqphy*	at mii?			# Seeq 8x220 PHYs
rlphy* at mii?			# RealTek 8139 internal PHYs
mtdphy* at mii?			# Myson MTD972 PHYs
#dcphy*	at mii?			# Digital Clone PHYs
acphy*	at mii?			# Altima AC101 PHYs
amphy*	at mii?			# AMD 79C873 PHYs
tqphy*	at mii?			# TDK 78Q212x PHYs
bmtphy*	at mii?			# Broadcom 10/100 PHYs
#brgphy* at mii?		# Broadcom Gigabit PHYs
#eephy* at mii?			# Marvell 88E1000 series PHY
#xmphy*	at mii?			# XaQti XMAC-II PHYs
nsgphy*	at mii?			# NS gigabit PHYs
urlphy*	at mii?			# Realtek RTL8150L internal PHY
#rgephy* at mii?		# Realtek 8169S/8110S PHY
#ciphy* at mii?			# Cicada CS8201 10/100/1000 copper PHY
ukphy*	at mii?			# "unknown" PHYs

# LCD
lcd0		at pxaip?
wsdisplay*	at lcd? console ?

# Dedicated SSP unit for ADC, touch screen, and backlight
zssp0		at pxaip?

# APM emulation
apm0		at pxaip?

# Pseudo-Devices
pseudo-device	wsmux		2	# mouse & keyboard multiplexor
#pseudo-device	crypto		1
pseudo-device	loop		1	# network loopback
pseudo-device	bpfilter	1	# packet filter
pseudo-device	rd		1	# ram disk

options	BOOT_CONFIG	# boot-time kernel config

# RAMDISK stuff
options	MINIROOTSIZE=5120
options	RAMDISK_HOOKS
