# $OpenBSD: GENERIC-IMX,v 1.11 2015/01/04 20:55:38 uaa 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	armv7	arm
include "../../../conf/GENERIC"

makeoptions	KERNEL_BASE_PHYS="0x10800000"
makeoptions	KERNEL_BASE_VIRT="0xc0800000"
options	BUILD_STARTUP_PAGETABLE
options	STARTUP_PAGETABLE_ADDR=0x10200000
options	SDRAM_START="0x10000000"

#options		APERTURE

#options BOOT_CONFIG	# boot-time kernel config

# estimated number of users

maxusers	32

# CPU options
options	CPU_ARMv7	# Support the ARMv7

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

option		USBVERBOSE

config		bsd	swap generic

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

# Cortex-A9 (iMX6)
cortex0		at mainbus?
ampintc*	at cortex?
amptimer*	at cortex?
armliicc*	at cortex?

# iMX SoC
imx0		at mainbus?

# iMX on-chip devices
imxccm*		at imx?			# clock control module
imxiomuxc*	at imx?			# iomux controller
imxdog*		at imx?			# watchdog timer
imxocotp*	at imx?			# on-chip otp controller
imxgpio*	at imx?			# user-visible GPIO pins?
imxesdhc*	at imx?			# SDHC controller
imxenet*	at imx?			# ethernet
imxuart*	at imx?			# onboard uarts
imxiic*		at imx?			# i2c

ahci*		at imx?			# AHCI/SATA

ehci*		at imx?			# EHCI (shim)
usb*		at ehci?

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

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
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
uslhcom* 	at uhidev?		# Silicon Labs CP2110 USB HID UART
ucom*		at uslhcom?
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
axen*		at uhub?		# ASIX Electronics AX88179 USB Ethernet
cue*		at uhub?		# CATC USB-EL1201A based Ethernet
kue*		at uhub?		# Kawasaki KL5KUSB101B based Ethernet
smsc*		at uhub?		# SMSC LAN95xx Ethernet
cdce*		at uhub?		# CDC Ethernet
upl*		at uhub?		# Prolific PL2301/PL2302 host-to-host `network'
ugl*		at uhub?		# Genesys Logic GL620USB-A host-to-host `network'
udav*		at uhub?		# Davicom DM9601 based Ethernet
url*		at uhub?		# Realtek RTL8150L based adapters
wi*		at uhub?		# WaveLAN IEEE 802.11DS
udsbr*		at uhub?		# D-Link DSB-R100 radio
radio*		at udsbr?		# USB radio
ugen*		at uhub?		# USB Generic driver
rum*		at uhub?		# Ralink RT2501USB/RT2601USB

atphy*		at mii?			# Attansic F1 PHYs
ukphy*		at mii?			# "unknown" PHYs

scsibus*	at scsi?
sd*		at scsibus?
st*		at scsibus?
cd*		at scsibus?
ch*		at scsibus?
uk*		at scsibus?

sdmmc*		at imxesdhc?		# SD/MMC bus

# I2C bus support
iic*		at imxiic?

# Pseudo-Devices
pseudo-device hotplug         1       # devices hot plugging
