#	$OpenBSD: GENERIC,v 1.35 2022/02/18 10:51:43 visa 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		riscv64
include		"../../../conf/GENERIC"
maxusers	80

option		PCIVERBOSE
option		USER_PCICONF

makeoptions	KERNEL_BASE_PHYS="0x00200000"
makeoptions	KERNEL_BASE_VIRT="0xffffffc000200000"
#option		DEBUG
#option		DEBUG_AUTOCONF
#option		DEBUG_INTC
#option		DEBUG_TIMER

option		WSDISPLAY_COMPAT_USL
option		WSDISPLAY_COMPAT_RAWKBD
option		WSDISPLAY_DEFAULTSCREENS=6


config	bsd	swap generic

#
# Definition of system
#

# mainbus
mainbus0	at root

# cpu0
cpu0		at mainbus0
intc0		at cpu0

# NS16550 compatible serial ports
com*		at fdt?

# PolarFire SoCs
cdsdhc*		at fdt?
sdmmc*		at cdsdhc?
mpfclock*	at fdt? early 1
mpfgpio*	at fdt?
gpio*		at mpfgpio?
mpfiic*		at fdt?
iic*		at mpfiic?

# SiFive SoCs
sfclock*	at fdt? early 1 # PRCI
sfcc*		at fdt? early 1	# L2 Cache Controller
sfuart*		at fdt?

virtio*		at fdt?
virtio*		at pci?
vio*		at virtio?	# Network
vioblk*		at virtio?
vioscsi*	at virtio?	# Disk (SCSI)
#viomb*		at virtio?	# Memory Ballooning
viornd*		at virtio?	# Random Source

# simplebus0
simplebus*	at fdt?
# Platform Level Interrupt Controller
plic*		at fdt? early 1

syscon*		at fdt? early 1
gfrtc*		at fdt?

cad*		at fdt?
dwge*		at fdt?

dwmmc*		at fdt?
sdmmc*		at dwmmc?

dwpcie*		at fdt?
pci*		at dwpcie?
pciecam*	at fdt?
pci*		at pciecam?

ociic*		at fdt?
iic*		at ociic?
dapmic*		at iic?
titmp*		at iic?

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

# DRM devices
radeondrm*	at pci?
drm*		at radeondrm?
wsdisplay*	at radeondrm?

# PCI Ethernet
em*		at pci?		# Intel Pro/1000 Ethernet
bge*		at pci?		# Broadcom BCM57xx (aka Tigon3)
oce*		at pci?		# Emulex OneConnect 10Gb ethernet
aq*		at pci?		# Aquantia aQtion Ethernet
ix*		at pci?		# Intel 82598EB 10Gb ethernet

# Wireless network cards
iwm*		at pci?		# Intel WiFi Link 7xxx

nvme*		at pci?		# NVMe controllers
ahci*		at pci?		# AHCI SATA controllers

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

# USB Controllers
xhci*		at pci?

# USB bus support
usb*		at xhci?

# USB devices
uhub*		at usb?
uhub*		at uhub?
uhidev*		at uhub?
uaudio*		at uhub?		# USB Audio
audio*		at uaudio?
umidi*		at uhub?		# USB MIDI
midi*		at umidi?
ums*		at uhidev?		# USB mouse
wsmouse* 	at ums? mux 0
umt*		at uhidev?		# USB multitouch touchpad
wsmouse* 	at umt? 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?
wskbd*		at ukbd? mux 1
uhid*		at uhidev?		# USB generic HID support
fido*		at uhidev?		# FIDO/U2F security key support
udl*		at uhub?		# DisplayLink USB displays
wsdisplay* 	at udl?
umass*		at uhub?
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
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
upl*		at uhub?	# Prolific PL2301/PL2302 host-to-host
ugl*		at uhub?	# Genesys Logic GL620USB-A host-to-host
ural*		at uhub?	# Ralink RT2500
rum*		at uhub?	# Ralink RT2501USB/RT2601USB
run*		at uhub?	# Ralink RT2700U/RT2800U/RT3000U
zyd*		at uhub?	# Zydas ZD1211
upgt*		at uhub?	# Conexant/Intersil PrismGT SoftMAC USB
urtw*		at uhub?	# Realtek 8187
urtwn*		at uhub?	# Realtek RTL8188CU/RTL8192CU
rsu*		at uhub?	# Realtek RTL8188SU/RTL8191SU/RTL8192SU
uath*		at uhub?	# Atheros AR5005UG/AR5005UX
otus*		at uhub?	# Atheros AR9001U
athn*		at uhub?	# Atheros AR9002U
bwfm*		at uhub?	# Broadcom FullMAC

acphy*		at mii?		# Altima AC101 PHYs
amphy*		at mii?		# AMD 79C873 PHYs
atphy*		at mii?		# Attansic F1 PHYs
bmtphy*		at mii?		# Broadcom 10/100 PHYs
brgphy*		at mii?		# Broadcom Gigabit PHYs
eephy*		at mii?		# Marvell 88E1000 series PHY
rgephy*		at mii?		# Realtek 8169S/8110S PHY
rlphy*		at mii?		# Realtek 8139 internal PHYs
sqphy*		at mii?		# Seeq 8x220 PHYs
ukphy*		at mii?		# "unknown" PHYs
urlphy*		at mii?		# Realtek RTL8150L internal PHY

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

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