#       $NetBSD: WZERO3,v 1.54 2021/11/20 00:23:51 rin Exp $
#
#       WZERO3 -- Sharp Windows Mobile 5 based PDA
#

include "arch/hpcarm/conf/std.pxa2x0"
include "arch/hpcarm/conf/files.wzero3"

#options        INCLUDE_CONFIG_FILE     # embed config file in kernel binary

#ident          "GENERIC-$Revision: 1.54 $"

# estimated number of users
maxusers        32

# in-kernel bootloader, see kloader(4)
options         KLOADER
#options        KLOADER_KERNEL_PATH="\"/netbsd\""
#options        KLOADER_DEBUG

# Standard system options

#options        RTC_OFFSET=0    # hardware clock is this many mins. west of GMT
                               # (default timezone is passed from hpcboot)
#options        NTP             # NTP phase/frequency locked loop

# CPU options

# For XScale systems
options         CPU_XSCALE_PXA270       # Support the XScale PXA27x core
makeoptions     CPUFLAGS="-mcpu=xscale"

# Architecture options
options         XSCALE_CACHE_READ_WRITE_ALLOCATE
options         PXAGPIO_HAS_GPION_INTRS

# File systems

file-system     FFS             # UFS
#file-system    LFS             # log-structured file system
#file-system    MFS             # memory file system
file-system     NFS             # Network file system
#file-system    ADOSFS          # AmigaDOS-compatible file system
file-system     EXT2FS          # second extended file system (linux)
file-system     CD9660          # ISO 9660 + Rock Ridge file system
file-system     MSDOSFS         # MS-DOS file system
file-system     FDESC           # /dev/fd
file-system     KERNFS          # /kern
file-system     NULLFS          # loopback file system
#file-system    OVERLAY         # overlay filesystem
file-system     PUFFS           # Userspace file systems (e.g. ntfs-3g & sshfs)
file-system     PROCFS          # /proc
#file-system    UMAPFS          # NULLFS + uid and gid remapping
file-system     UNION           # union file system
file-system     PTYFS           # /dev/pts/N support
file-system     TMPFS           # Efficient memory file-system
#file-system    UDF             # experimental - OSTA UDF CD/DVD file-system

# File system options
#options        QUOTA           # legacy UFS quotas
#options        QUOTA2          # new, in-filesystem UFS quotas
#options        FFS_EI          # FFS Endian Independent support
options         WAPBL           # File system journaling support
#options        FFS_NO_SNAPSHOT # No FFS snapshot support
#options        NFSSERVER

# Networking options

#options        GATEWAY         # packet forwarding
options         INET            # IP + ICMP + TCP + UDP
options         INET6           # IPV6
#options        IPSEC           # IP security
#options        IPSEC_DEBUG     # debug for IP security
#options        MROUTING        # IP multicast routing
#options        PIM             # Protocol Independent Multicast
#options        NETATALK        # AppleTalk networking
#options        PPP_BSDCOMP     # BSD-Compress compression support for PPP
#options        PPP_DEFLATE     # Deflate compression support for PPP
#options        PPP_FILTER      # Active filter support for PPP (requires bpf)
#options        TCP_DEBUG       # Record last TCP_NDEBUG packets with SO_DEBUG

# Compatibility options

include         "conf/compat_netbsd16.config"
options         COMPAT_NETBSD32 # allow running arm (e.g. non-earm) binaries

# Shared memory options

options         SYSVMSG         # System V-like message queues
options         SYSVSEM         # System V-like semaphores
options         SYSVSHM         # System V-like memory sharing

# Miscellaneous kernel options
options         KTRACE          # system call tracing, a la ktrace(1)
#options        IRQSTATS        # manage IRQ statistics
#options        SCSIVERBOSE     # Verbose SCSI errors
options         USERCONF        # userconf(4) support
#options        PIPE_SOCKETPAIR # smaller, but slower pipe(2)
#options        SYSCTL_INCLUDE_DESCR    # Include sysctl descriptions in kernel
options         NFS_BOOT_DHCP

#
# wscons options
#
# builtin terminal emulations
options         WSEMUL_VT100
# allocate a number of virtual screens at autoconfiguration time
#options        WSDISPLAY_DEFAULTSCREENS=2
# The X server requires theses two options
options         WSDISPLAY_COMPAT_USL            # wsconscfg VT handling
options         WSDISPLAY_COMPAT_RAWKBD
# customization of console and kernel output - see dev/wscons/wsdisplayvar.h
#options        WSDISPLAY_CUSTOM_OUTPUT # color customization from wsconsctl(8)
#options        WS_DEFAULT_FG=WSCOL_WHITE
#options        WS_DEFAULT_BG=WSCOL_BLACK
#options        WS_DEFAULT_COLATTR="(0)"
#options        WS_DEFAULT_MONOATTR="(0)"
options         WS_KERNEL_FG=WSCOL_GREEN
#options        WS_KERNEL_BG=WSCOL_BLACK
#options        WS_KERNEL_COLATTR=""
#options        WS_KERNEL_MONOATTR=""

options         FONT_VT220L8x16

# 80x24 terminal on WVGA models
#options        FONT_DROID_SANS_MONO10x20

# Alternate buffer queue strategies for better responsiveness under high
# disk I/O load.
#options        BUFQ_READPRIO
options         BUFQ_PRIOCSCAN

# Development and Debugging options

#options        VERBOSE_INIT_ARM
#options        BOOT_DUMP       # Enable memorydump at boot
options         DIAGNOSTIC      # internal consistency checks
#options        DEBUG           # expensive debugging checks/support
#options        UVMHIST         # kernhist for uvm/pmap subsystems
options         DDB             # in-kernel debugger
#options        DDB_HISTORY_SIZE=512    # Enable history editing in DDB
#makeoptions    DEBUG="-g"      # compile full symbol table

config          netbsd  root on ? type ?

# The main bus device
mainbus0 at root

# The boot CPU
cpu0 at mainbus?

# integrated peripherals
pxaip0  at mainbus?

pxaintc0 at pxaip? addr 0x40d00000      # interrupt controller
pxagpio0 at pxaip? addr 0x40e00000      # GPIO
pxartc0 at pxaip? addr 0x40900000       # RTC

# DMAC support
pxadmac0 at pxaip? addr 0x40000000 intr 25
options         PXA2X0_DMAC_DMOVER_CONCURRENCY=4 # Enable dmover(9) backend
#options        PXA2X0_DMAC_FIXED_PRIORITY      # Don't want multiple priority

# Serial
# integrated 16550 UARTs
options         COM_PXA2X0
com0 at pxaip?  addr 0x40100000 intr 22 # Full Function UART
#options        CONSPEED=115200

# OS Timer
saost*  at pxaip? addr 0x40a00000 size 0x20

# Physical console
lcd* at pxaip?
options         PXA2X0_LCD_WRITETHROUGH
wsdisplay* at lcd? console ?

# for touchpad, keypad
wzero3ssp0 at pxaip?

# touchpad
wzero3tp0 at pxaip?
wsmouse* at wzero3tp? mux 0

# keyboard
wzero3kbd0 at pxaip?
hpckbd* at wzero3kbd?
wskbd0 at hpckbd? mux 1

# keypad
wzero3keypad0 at pxaip?
wskbd1 at wzero3keypad? mux 1

# integrated MMC/SD controller
pxamci0 at pxaip? addr 0x41100000 size 0x48
sdmmc* at pxamci?
ld* at sdmmc?                           # MMC/SD/SDHC card

# USB Controller and Devices
wzero3usb* at pxaip?
ohci0 at pxaip? addr 0x4c000000 intr 3  # USB Host Controller

# USB bus support
usb* at ohci?

# USB Hubs
uhub* at usb?
uhub* at uhub? port ?

# USB HID device
uhidev* at uhub? port ? configuration ? interface ?

# USB Mice
ums* at uhidev? reportid ?
wsmouse* at ums? mux 0

# USB Keyboards
ukbd* at uhidev? reportid ?
wskbd* at ukbd? console ? mux 1

# USB Generic HID devices
uhid* at uhidev? reportid ?

# USB Mass Storage
umass* at uhub? port ? configuration ? interface ?

# USB audio
uaudio* at uhub? port ? configuration ?
audio*  at audiobus?

spkr*   at audio?               # PC speaker (synthesized)

# USB Ethernet adapters
aue*    at uhub? port ?         # ADMtek AN986 Pegasus based adapters
axe*    at uhub? port ?         # ASIX AX88172 based adapters
cdce*   at uhub? port ?         # CDC, Ethernet Networking Control Model
cue*    at uhub? port ?         # CATC USB-EL1201A based adapters
kue*    at uhub? port ?         # Kawasaki LSI KL5KUSB101B based adapters
mue*    at uhub? port ?         # Microchip LAN75xx/LAN78xx based adapters
udav*   at uhub? port ?         # Davicom DM9601 based adapters
ure*    at uhub? port ?         # Realtek RTL8152/RTL8153 based adapters
url*    at uhub? port ?         # Realtek RTL8150L based adapters

acphy*  at mii? phy ?           # Altima AC101 and AMD Am79c874 PHYs
rgephy* at mii? phy ?           # Realtek 8169S/8110S/8211 PHYs
rlphy*  at mii? phy ?           # Realtek 8139/8201L PHYs
ukphy*  at mii? phy ?           # generic unknown PHYs
urlphy* at mii? phy ?           # Realtek RTL8150L internal PHYs

# USB 802.11 adapters
atu*    at uhub? port ?         # Atmel AT76C50XX based adapters
ural*   at uhub? port ?         # Ralink Technology RT2500USB 802.11a/b/g
rum*    at uhub? port ?         # Ralink Technology RT2501/RT2601 802.11a/b/g
upgt*   at uhub? port ?         # Intersil PrismGT
zyd*    at uhub? port ?         # Zydas ZD1211

# ATAPI bus support
atapibus* at atapi?

# ATAPI devices
# flags have the same meaning as for IDE drives.
cd*     at atapibus? drive ? flags 0x0000       # ATAPI CD-ROM drives
sd*     at atapibus? drive ? flags 0x0000       # ATAPI disk drives
#st*    at atapibus? drive ? flags 0x0000       # ATAPI tape drives
uk*     at atapibus? drive ? flags 0x0000       # ATAPI unknown

# SCSI bus support
scsibus* at scsi?

# SCSI devices
sd*     at scsibus? target ? lun ?      # SCSI disk drives
cd*     at scsibus? target ? lun ?      # SCSI CD-ROM drives
uk*     at scsibus? target ? lun ?      # SCSI unknown

# USB Generic driver
ugen*   at uhub? port ?


# Pseudo-devices
pseudo-device   loop                    # network loopback
pseudo-device   bpfilter                # packet filter
pseudo-device   carp                    # Common Address Redundancy Protocol
pseudo-device   sl                      # CSLIP
pseudo-device   ppp                     # PPP
pseudo-device   tun                     # network tunneling over tty
#pseudo-device  gre                     # generic L3 over IP tunnel
#pseudo-device  npf                     # NPF packet filter
#pseudo-device  gif                     # IPv[46] over IPv[46] tunnel (RFC1933)
#pseudo-device  faith                   # IPv[46] tcp relay translation i/f
#pseudo-device  stf                     # 6to4 IPv6 over IPv4 encapsulation

#pseudo-device  vlan                    # IEEE 802.1q encapsulation
pseudo-device   pty                     # pseudo-terminals
pseudo-device   vnd                     # disk-like interface to files
#pseudo-device  ccd                     # concatenated disk devices
#pseudo-device  cgd                     # cryptographic disk devices
#pseudo-device  raid                    # RAIDframe disk driver
#options        RAID_AUTOCONFIG         # auto-configuration of RAID components
#pseudo-device  fss                     # file system snapshot device

pseudo-device   biconsdev 1             # build-in console device

pseudo-device   md                      # Ramdisk driver
pseudo-device   clockctl                # user control of clock subsystem
pseudo-device   drvctl                  # user control of drive subsystem
pseudo-device   ksyms                   # /dev/ksyms
pseudo-device   putter                  # for puffs and pud
#pseudo-device  bcsp                    # BlueCore Serial Protocol
#pseudo-device  btuart                  # Bluetooth HCI UART (H4)

# wscons pseudo-devices
pseudo-device   wsmux                   # mouse & keyboard multiplexor
pseudo-device   wsfont

include "dev/veriexec.config"