#       $NetBSD: NETBOOKPRO,v 1.33 2021/12/26 16:08:20 andvar Exp $
#
#       NETBOOKPRO -- Psion Teklogix NETBOOK PRO
#

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

#options        INCLUDE_CONFIG_FILE     # embed config file in kernel binary

#ident          "GENERIC-$Revision: 1.33 $"

# 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_PXA250       # Support the XScale PXA255 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     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

# 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

# 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
#com1   at pxaip? addr 0x40700000 intr 20       # Standard UART (IrDA)
#com2   at pxaip? addr 0x40200000 intr 21       # Bluetooth UART
#com3   at pxaip? addr 0x41600000 intr 7        # Hardware UART
#options        CONSPEED=115200

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

# AC97 Audio support
pxaacu0 at pxaip? addr 0x40500000 intr 14       # Wolfson WM97xx

# Audio support
audio*  at audiobus?

spkr*   at audio?               # PC speaker (synthesized)

# Inter-Integrated Circuit controller
nbpiic0 at pxaip? addr 0x40300000 intr 18
iic*    at nbpiic?

nbppcon* at iic? addr 0x13                      # PCon
r2025rtc* at iic? addr 0x32                     # R2025S RTC
seeprom* at iic? addr 0x53

nbppm* at nbppcon? tag 0x05
hpcapm* at nbppm?
apmdev0 at hpcapm?

nbpkbd* at nbppcon? tag 0x00
hpckbd* at nbpkbd?
wskbd0 at hpckbd? mux 1

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

# integrated PCMCIA/CF controller
pxapcic0 at pxaip? addr 0x20000000
pcmcia* at pxapcic?

# PCMCIA IDE controllers
wdc*    at pcmcia? function ?

# ATA (IDE) bus support
atabus* at ata?
#options        ATADEBUG

# IDE drives
# Flags are used only with controllers that support DMA operations
# and mode settings (e.g. some pciide controllers)
# The lowest order four bits (rightmost digit) of the flags define the PIO
# mode to use, the next set of four bits the DMA mode and the third set the
# UltraDMA mode. For each set of four bits, the 3 lower bits define the mode
# to use, and the last bit must be 1 for this setting to be used.
# For DMA and UDMA, 0xf (1111) means 'disable'.
# 0x0fac means 'use PIO mode 4, DMA mode 2, disable UltraDMA'.
# (0xc=1100, 0xa=1010, 0xf=1111)
# 0x0000 means "use whatever the drive claims to support".
wd*     at atabus? drive ? flags 0x0000

btbc*   at pcmcia? function ?           # AnyCom BlueCard LSE041/039/139
com*    at pcmcia? function ?           # Modems and serial cards
ep*     at pcmcia? function ?           # 3Com 3c589 and 3c562 Ethernet
#malo*  at pcmcia? function ?           # Marvell 88W8385
mbe*    at pcmcia? function ?           # MB8696x based Ethernet
ne*     at pcmcia? function ?           # NE2000-compatible Ethernet
wi*     at pcmcia? function ?           # Lucent/Intersil WaveLAN/IEEE (802.11)

ukphy*  at mii? phy ?                   # generic unknown PHYs

# Physical console
epsonlcd* at pxaip? addr 0x14000000     # Epson S1D13806
hpcfb*  at epsonlcd?
wsdisplay* at hpcfb?

# Onboard USB Controller and Devices
slhci*  at pxaip? addr 0x10000000       # ScanLogic SL811HS

# USB bus support
usb*    at slhci?

# 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 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 Mass Storage
umass* at uhub? port ? configuration ? interface ?

# Bluetooth USB Controllers
ubt*    at uhub? port ?

# USB Generic driver
ugen*   at uhub? port ?

# Bluetooth Device Hub
bthub* at bcsp?
bthub* at btbc?
bthub* at btuart?
bthub* at ubt?


# Pseudo-devices
pseudo-device   loop                    # network loopback
pseudo-device   bpfilter                # packet filter
#pseudo-device  sl                      # SLIP
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   bcsp                    # BlueCore Serial Protocol
pseudo-device   btuart                  # Bluetooth HCI UART (H4)

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