#	$OpenBSD: GENERIC,v 1.132 2020/06/23 13:57:05 fcambus Exp $
#
# 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_VIRT="0xc0300000"

maxusers	32			# estimated number of users
option		CPU_ARMv7		# Support the ARMv7

option WSDISPLAY_COMPAT_USL		# VT handling
option WSDISPLAY_COMPAT_RAWKBD		# can get raw scancodes
option WSDISPLAY_DEFAULTSCREENS=6	# initial number of text consoles

option		CONF_HAVE_GPIO
option		PCIVERBOSE
option		USBVERBOSE
option		USER_PCICONF	# user-space PCI configuration

config		bsd	swap generic

# The main bus device
mainbus0	at root
simplebus*	at fdt?
cpu0		at mainbus?

# Cortex-A9
cortex0		at mainbus?
ampintc*	at fdt? early 1
ampintcmsi*	at fdt? early 1
amptimer*	at cortex?
agtimer*	at fdt?
armliicc*	at cortex?

# iMX
imxccm*		at fdt? early 1		# clock control module
imxiomuxc*	at fdt? early 1		# iomux controller
imxanatop*	at fdt? early 1		# anatop controller
imxgpc*		at fdt?			# power controller
imxdog*		at fdt?			# watchdog timer
imxtemp*	at fdt?			# temperature monitor
imxgpio*	at fdt?			# user-visible GPIO pins?
fec*		at fdt?			# Ethernet
imxuart*	at fdt?			# onboard uarts
imxiic*		at fdt?			# i2c
iic*		at imxiic?
imxesdhc*	at fdt?			# SDHC controller
sdmmc*		at imxesdhc?		# SD/MMC bus
imxahci*	at fdt?			# AHCI/SATA
imxehci*	at fdt?			# EHCI
usb*		at imxehci?
imxrtc*		at fdt?			# SNVS RTC
imxsrc*		at fdt? early 1
imxspi*		at fdt?
ssdfb*		at iic?
ssdfb*		at spi?
wsdisplay*	at ssdfb?

# OMAP3xxx/OMAP4xxx SoC
omap0		at mainbus?
omapid*		at omap?

# OMAP on-chip devices
intc*		at fdt? early 1		# OMAP3 interrupt controller
omclock*	at fdt? early 1
omcm*		at fdt? early 1
omwugen*	at fdt?			# Wake-up generator
#edma*		at fdt?			# OMAP3 dma controller
prcm*		at omap?		# power/clock controller
pinctrl*	at fdt?			# pin muxing
omdog*		at fdt?			# watchdog timer
omgpio*		at fdt?			# user-visible GPIO pins?
gpio*		at omgpio?
omrng*		at fdt?
omsysc*		at fdt? early 1
omsysc*		at fdt?
tiiic*		at fdt?
iic*		at tiiic?
gptimer*	at omap?		# general purpose timers
dmtimer*	at omap?		# am335x dual mode timers
omusbtll*	at omap?
cpsw*		at fdt?
com*		at fdt?			# onboard uarts
ommmc*		at fdt?			# SD/MMC card controller
sdmmc*		at ommmc?		# SD/MMC bus

omehci*		at fdt?			# EHCI
usb*		at omehci?
nxphdmi*	at iic?			# TDA19988 HDMI PHY
amdisplay*	at fdt?			# AM335x LCD controller
wsdisplay*	at amdisplay?

# Sunxi A1x/A20 SoC
sxiintc*	at fdt?			# A1x interrupt controller
sxipio*		at fdt? early 1		# GPIO pins for leds & PHYs
gpio*		at sxipio?
sxiccmu*	at fdt? early 1		# Clock Control Module/Unit
sxitimer*	at fdt? early 1
sxirsb*		at fdt? early 1		# Reduced Serial Bus
acrtc*		at rsb?
axppmic*	at rsb?
sxidog*		at fdt?			# watchdog timer
sxirtc*		at fdt? early 1		# Real Time Clock
sxie*		at fdt?
dwge*		at fdt?
dwxe*		at fdt?
sxiahci*	at fdt?			# AHCI/SATA
sximmc*		at fdt?			# SD/MMC card controller
sdmmc*		at sximmc?		# SD/MMC bus
ehci*		at fdt?			# EHCI (shim)
usb*		at ehci?	#flags 0x1
ohci*		at fdt?
usb*		at ohci?
sxisid*		at fdt? early 1
sxisyscon*	at fdt?	early 1		# System controller
sxitemp*	at fdt?			# Temperature sensor
sxits*		at fdt?			# Touchpad controller
sxitwi*		at fdt?			# Two-Wire Serial Interface
iic*		at sxitwi?		# I2C bus

# ARM Versatile Express
sysreg*		at fdt?
pluart*		at fdt?
plrtc*		at fdt?
virtio*		at fdt?
virtio*		at pci?
pciecam*	at fdt?
pci*		at pciecam?

sdhc*		at fdt?
sdmmc*		at sdhc?
bwfm*		at sdmmc?		# Broadcom FullMAC

psci*		at fdt? early 1
syscon*		at fdt? early 1

simplefb*	at fdt?
wsdisplay*	at simplefb?

# Exynos
#exdisplay*	at exynos?
#wsdisplay*	at exdisplay? console ?
exclock*	at fdt? early 1
expower*	at fdt? early 1
exmct*		at fdt? early 1
exdog*		at fdt?
exgpio*		at fdt? early 1
exiic*		at fdt?
iic*		at exiic?
exehci*		at fdt?
usb*		at exehci?
exdwusb*	at fdt?
xhci*		at fdt?
usb*		at xhci?
dwmmc*		at fdt?
sdmmc*		at dwmmc?
exrtc*		at fdt?
exuart*		at fdt?

# Raspberry Pi 2/3
bcmaux*		at fdt? early 1
bcmbsc*		at fdt?
iic*		at bcmbsc?
bcmclock*	at fdt? early 1
bcmdmac*	at fdt? early 1
bcmdog*		at fdt?
bcmgpio*	at fdt? early 1
gpio*		at bcmgpio?
bcmintc*	at fdt? early 1
bcmmbox*	at fdt? early 1
bcmrng*		at fdt?
bcmsdhost*	at fdt?
sdmmc*		at bcmsdhost?
bcmtemp*	at fdt?
dwctwo*		at fdt?
usb*		at dwctwo?

# Marvell SoC
mvacc*		at fdt? early 1
mvagc*		at fdt?
mvsysctrl*	at fdt?
mvmbus*		at fdt?
mvxhci*		at fdt?
usb*		at mvxhci?
mvahci*		at fdt?
mvpinctrl*	at fdt?
mvmdio*		at fdt?
mvneta*		at fdt?
mvmpic*		at fdt?
mvpcie*		at fdt?
pci*		at mvpcie?
mvpxa*		at fdt?
sdmmc*		at mvpxa?

# Rockchip SoCs
rkclock*	at fdt? early 1
rkgrf*		at fdt? early 1
rkpinctrl*	at fdt? early 1
rkgpio*		at fdt?
rkiic*		at fdt?
iic*		at rkiic?
rktemp*		at fdt?
dwdog*		at fdt?

# I2C devices
abcrtc*		at iic?			# Abracon x80x RTC
axppmic*	at iic?			# axp209 pmic
crosec*		at iic?
wskbd*		at crosec? mux 1
dsxrtc*		at iic?			# DS3231 RTC
islrtc*		at iic?			# ISL1208 RTC
maxrtc*		at iic?			# DS1307 RTC
mcprtc*		at iic?			# MCP794XX RTC
pcfrtc*		at iic?			# PCF8523 RTC
pcxrtc*		at iic?			# PCF8563 RTC
rkpmic*		at iic?			# RK808 PMIC
tpspmic*	at iic?
pcagpio*	at iic?

# virtio devices
vioblk*		at virtio?
vio*		at virtio?
viomb*		at virtio?
viornd*		at virtio?
vioscsi*	at virtio?

# PCI
ppb*		at pci?			# PCI-PCI bridges
pci*		at ppb?

# PCI Ethernet
em*		at pci?			# Intel Pro/1000 Ethernet
ix*		at pci?			# Intel 82598EB 10Gb Ethernet
mskc*		at pci?			# Marvell Yukon-2
msk*		at mskc?		#  each port of above
re*		at pci?			# Realtek 8169/8169S/8110S

# PCI SCSI
ahci*		at pci? flags 0x0000	# AHCI SATA controllers
					# flags 0x0001 to force SATA 1 (1.5Gb/s)
nvme*		at pci?			# NVMe controllers

# USB Controllers
ohci*		at pci?			# Open Host Controller
uhci*		at pci?			# Universal Host Controller (Intel)
ehci*		at pci?			# Enhanced Host Controller
xhci*		at pci?			# eXtensible Host Controller

# USB bus support
usb*		at ohci?
usb*		at uhci?
usb*		at ehci?	flags 0x1
usb*		at xhci?

# USB devices
uhub*	at usb?			# USB Hubs
uhub*	at uhub?		# USB Hubs
urng*	at uhub?		# USB Random Number Generator
uonerng* at uhub?		# Moonbase Otago OneRNG
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?
uslcom*	at uhub?		# Silicon Laboratories CP210x serial
ucom*	at uslcom?
uscom*	at uhub?		# Simple USB serial adapters
ucom*	at uscom?
ucrcom*	at uhub?		# Chromebook serial
ucom*	at ucrcom?
uark*	at uhub?		# Arkmicro ARK3116 serial
ucom*	at uark?
moscom*	at uhub?		# MosChip MCS7703 serial
ucom*	at moscom?		
umcs*	at uhub?		# MosChip MCS78x0 serial
ucom*	at umcs?
uipaq*	at uhub?		# iPAQ serial adapter
ucom*	at uipaq?
umsm*	at uhub?		# Qualcomm MSM EVDO
ucom*	at umsm?
uchcom*	at uhub?		# WinChipHead CH341/340 serial
ucom*	at uchcom?
uticom*	at uhub?		# TI serial
ucom*	at uticom?
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
uts*	at uhub?		# USB touchscreen
wsmouse* at uts? mux 0
uwacom*	at uhidev?		# USB Wacom tablet
wsmouse* at uwacom? mux 0
ukbd*	at uhidev?		# USB keyboard
wskbd*	at ukbd? mux 1
ucycom*	at uhidev?		# Cypress serial
ucom*	at ucycom?
uslhcom* at uhidev?		# Silicon Labs CP2110 USB HID UART
ucom*	at uslhcom?
uhid*	at uhidev?		# USB generic HID support
fido*	at uhidev?		# FIDO/U2F security key support
upd*	at uhidev?		# USB Power Devices sensors
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
urndis*	at uhub?		# Remote NDIS 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
mos*	at uhub?		# MOSCHIP MCS7730/7830 10/100 Ethernet
mue*	at uhub?		# Microchip LAN75xx/LAN78xx Ethernet
url*	at uhub?		# Realtek RTL8150L based adapters
ure*	at uhub?		# Realtek RTL8152 based adapters
wi*	at uhub?		# WaveLAN IEEE 802.11DS
udsbr*	at uhub?		# D-Link DSB-R100 radio
radio*	at udsbr?		# USB radio
uberry*	at uhub?		# Research In Motion BlackBerry
ugen*	at uhub?		# USB Generic driver
uath*	at uhub?		# Atheros AR5005UG/AR5005UX
ural*	at uhub?		# Ralink RT2500USB
rum*	at uhub?		# Ralink RT2501USB/RT2601USB
run*	at uhub?		# Ralink RT2700U/RT2800U/RT3000U
otus*	at uhub?		# Atheros AR9001U
athn*	at uhub?		# Atheros AR9002U
zyd*	at uhub?		# Zydas ZD1211
upgt*	at uhub?		# Conexant/Intersil PrismGT SoftMAC USB
urtw*	at uhub?		# Realtek 8187
rsu*	at uhub?		# Realtek RTL8188SU/RTL8191SU/RTL8192SU
urtwn*	at uhub?		# Realtek RTL8188CU/RTL8192CU
udcf*	at uhub?		# Gude Expert mouseCLOCK
uthum*	at uhidev?		# TEMPerHUM sensor
ugold*	at uhidev?		# gold TEMPer sensor
utrh*	at uhidev?		# USBRH sensor
utwitch* at uhidev?		# YUREX BBU sensor
uow*	at uhub?		# Maxim/Dallas DS2490 1-Wire adapter
uoakrh*	at uhidev?		# Toradex OAK temp and rel humidity
uoaklux* at uhidev?		# Toradex OAK LUX
uoakv*	at uhidev?		# Toradex OAK 10V sensor
onewire* at uow?
uvideo*	at uhub?		# USB Video
video*	at uvideo?
utvfu*	at uhub?		# Fushicai Audio-Video Grabber
video*	at utvfu?
audio*	at utvfu?
udl*	at uhub?		# DisplayLink USB displays
wsdisplay* at udl?
bwfm*	at uhub?		# Broadcom FullMAC

atphy*		at mii?			# Attansic F1 PHYs
rgephy*		at mii?			# Realtek 8169S/8110S PHY
rlphy*		at mii?			# Realtek 8139 internal PHYs
ukphy*		at mii?			# "unknown" PHYs

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

# GPIO "pin bus" drivers
gpioiic*	at gpio?		# I2C bus bit-banging
iic*		at gpioiic?
gpioow*		at gpio?		# 1-Wire bus bit-banging
onewire*	at gpioow?

# 1-Wire devices
option	ONEWIREVERBOSE
owid*		at onewire?		# ID
owsbm*		at onewire?		# Smart Battery Monitor
owtemp*		at onewire?		# Temperature
owctr*		at onewire?		# Counter device

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

# mouse & keyboard multiplexor pseudo-devices
pseudo-device   wsmux           2
