#       $NetBSD: ALCHEMY,v 1.73 2024/01/29 18:27:11 christos Exp $
#
# Kernel config for the Alchemy Semiconductor (AMD) PB1000, PB1500,
# DBAu1000 and DBAu1500 evaluation boards.

include         "arch/evbmips/conf/std.alchemy"

#ident          "ALCHEMY-$Revision: 1.73 $"

maxusers        32

options         MIPS32
options         NOFPU           # No FPU
options         FPEMUL          # emulate FPU insn
#options        CONSPEED=115200 # YAMON default
#options        HZ=512          # for profiling

# CPU support
options         ALCHEMY_AU1000
options         ALCHEMY_AU1100
options         ALCHEMY_AU1500
options         ALCHEMY_AU1550

# Board support
options         ALCHEMY_GENERIC

#options        LOCKDEBUG
options         SOSEND_COUNTERS
options         INET_CSUM_COUNTERS
options         TCP_CSUM_COUNTERS
options         UDP_CSUM_COUNTERS
options         TCP_OUTPUT_COUNTERS

# Standard system options
options         KTRACE          # system call tracing support
options         SYSVMSG         # System V message queues
options         SYSVSEM         # System V semaphores
options         SYSVSHM         # System V shared memory
options         NTP             # network time protocol

# Debugging options
options         DIAGNOSTIC      # extra kernel sanity checking
#options        DEBUG           # extra kernel debugging support
options         DDB             # kernel dynamic debugger
options         DDB_HISTORY_SIZE=100 # enable history editing in DDB
makeoptions     DEBUG="-g"      # compile full symbol table
makeoptions     COPY_SYMTAB=1   # size for embedded symbol table

# Compatibility options
include         "conf/compat_netbsd16.config"

#options        EXEC_ECOFF      # exec ECOFF binaries
#options        COMPAT_ULTRIX   # binary compatibility with Ultrix

# File systems
file-system     FFS             # Berkeley Fast Filesystem
file-system     MFS             # memory-based filesystem
#file-system    EXT2FS          # second extended file system (linux)
file-system     NFS             # Sun NFS-compatible filesystem client
#file-system    KERNFS          # kernel data-structure filesystem
#file-system    NULLFS          # NULL layered filesystem
#file-system    OVERLAY         # overlay file system
file-system     FDESC           # user file descriptor filesystem
#file-system    UMAPFS          # uid/gid remapping filesystem
#file-system    LFS             # Log-based filesystem (still experimental)
#file-system    PROCFS          # /proc
#file-system    CD9660          # ISO 9660 + Rock Ridge file system
#file-system    UNION           # union file system
#file-system    MSDOSFS         # MS-DOS FAT filesystem(s).
#file-system    CODA            # Coda File System; also needs vcoda (below)
file-system     PTYFS           # /dev/pts/N support

# File system options
#options        FFS_EI          # FFS Endian Independent support
options         FFS_NO_SNAPSHOT # No FFS snapshot support
#options        QUOTA           # legacy UFS quotas
#options        QUOTA2          # new, in-filesystem UFS quotas
#options        UFS_DIRHASH     # UFS Large Directory Hashing
#options        UFS_EXTATTR     # Extended attribute support for UFS1
options         WAPBL           # File system journaling support
#options        NFSSERVER       # Network File System server

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

# Networking options
#options        GATEWAY         # IP packet forwarding
options         INET            # Internet protocols
#options        INET6           # IPV6
#options        IPSEC           # IP security
#options        IPSEC_DEBUG     # debug for IP security
#options        MROUTING        # packet forwarding of multicast packets
#options        PIM             # Protocol Independent Multicast
#options        NETATALK        # AppleTalk (over Ethernet) protocol
#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)

# JIT compiler for bpfilter
#options        SLJIT
#options        BPFJIT

# These options enable verbose messages for several subsystems.
# Warning, these may compile large string tables into the kernel!
options         MIIVERBOSE      # verbose PHY autoconfig messages
options         PCIVERBOSE      # verbose PCI device autoconfig messages
#options        PCI_CONFIG_DUMP # verbosely dump PCI config space
options         SCSIVERBOSE     # human readable SCSI error messages
options         USBVERBOSE      # verbose USB device autoconfig messages

options         NFS_BOOT_DHCP

# Pretty much only one device to use for the root file system.
config          netbsd          root on ? type ?
config          netbsd-aumac0   root on aumac0 type nfs

mainbus0        at root

cpu0            at mainbus?

aubus0          at mainbus?

# no RTC!  fake with one of the programmable clocks
aurtc*          at aubus? addr ?

# UARTs
com*            at aubus? addr ?

# Ethernet MACs
aumac*          at aubus? addr ?
options         AUMAC_EVENT_COUNTERS

# MII/PHY support
acphy*          at mii? phy ?                   # AMD/Altima AC101 PHYs
amhphy*         at mii? phy ?                   # AMD 79c901 Ethernet PHYs
bmtphy*         at mii? phy ?                   # Broadcom BCM5201/BCM5202 PHYs
brgphy*         at mii? phy ?                   # Broadcom BCM5400-family PHYs
lxtphy*         at mii? phy ?                   # Level One LXT970 PHYs
nsphyter*       at mii? phy ?                   # NS83843 PHYs
rgephy*         at mii? phy ?                   # RealTek 8169S/8110S PHY
rlphy*          at mii? phy ?                   # RealTek 8139/8201L PHYs
sqphy*          at mii? phy ?                   # Seeq 80220/80221/80223 PHYs
ukphy*          at mii? phy ?                   # Catch-all PHYs

# USB
ohci*           at aubus? addr ?                # USB Open 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 serial adapter
ucycom* at uhidev? reportid ?

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

# USB Printer
ulpt*   at uhub? port ? configuration ? interface ?

# USB Modem
umodem* at uhub? port ? configuration ?
ucom*   at umodem?

# Option N.V. Wireless WAN modems
uhso*   at uhub? port ? configuration ?

# USB Mass Storage
umass*  at uhub? port ? configuration ? interface ?
scsibus* at scsi?
sd*     at scsibus? target ? lun ?

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

# USB MIDI
#umidi* at uhub? port ? configuration ?

# USB IrDA
# USB-IrDA bridge spec
#uirda* at uhub? port ? configuration ? interface ?
#irframe* at uirda?

# Kyocera AIR-EDGE PHONE
#ukyopon* at uhub? port ?
#ucom*  at ukyopon? portno ?

# USB Generic driver
ugen*           at uhub? port ?

# Audio support
auaudio*        at aubus? addr ?                # STAC9745 audio codec
audio*          at auaudio?

spkr*           at audio?                       # PC speaker (synthesized)

# GPIOs
augpio* at aubus? addr ?
gpio*   at augpio?

# On-board devices
obio*           at mainbus?

#flash*         at obio? addr ?
#lcd*           at obio? addr ?

# Pseudo-devices

# Disk/mass storage pseudo-devices
#pseudo-device  ccd                             # concatenated disk devices
#pseudo-device  raid                            # RAIDframe disk driver
#options        RAID_AUTOCONFIG                 # auto-configuration of RAID
#pseudo-device  fss                             # file system snapshot device
#pseudo-device  md                              # memory disk device (ramdisk)
pseudo-device   vnd                             # disk-like interface to files

# Network pseudo-devices
pseudo-device   bpfilter                        # Berkeley packet filter
pseudo-device   carp                            # Common Address Redundancy Protocol
pseudo-device   npf                     # NPF packet filter
pseudo-device   loop                            # network loopback
#pseudo-device  ppp                             # Point-to-Point Protocol
#pseudo-device  sl                              # Serial Line IP
#pseudo-device  tun                             # network tunneling over tty
#pseudo-device  tap                             # virtual Ethernet
#pseudo-device  gre                             # generic L3 over IP tunnel
#pseudo-device  ipip                            # RFC 2003 IP Encapsulation
#pseudo-device  gif                             # RFC1933 tunnel
#pseudo-device  faith                           # IPv[46] tcp relay translation
#pseudo-device  stf                             # 6to4 IPv6 over IPv4 encapsulation
pseudo-device   vlan                            # IEEE 802.1q encapsulation
pseudo-device   bridge                          # simple inter-network bridging
#pseudo-device  vether                          # Virtual Ethernet for bridge

# Miscellaneous pseudo-devices
pseudo-device   pty                             # pseudo-terminals
#pseudo-device  sequencer                       # MIDI sequencer
pseudo-device   clockctl                        # user control of clock subsystem
pseudo-device   drvctl                          # user control of drive subsystem
pseudo-device   ksyms                           # /dev/ksyms

# A pseudo device needed for Coda               # also needs CODA (above)
#pseudo-device  vcoda                           # coda minicache <-> venus comm.

include "dev/veriexec.config"