# $NetBSD: CI20,v 1.33 2023/02/09 14:09:48 abs Exp $
#
# MIPS Creator CI20
#
include "arch/evbmips/conf/std.ingenic"
#options INCLUDE_CONFIG_FILE # embed config file in kernel binary
#ident "CI20-$Revision: 1.33 $"
maxusers 32
#makeoptions COPTS="-Os" # Optimise for space. Implies -O2
options MIPS32R2
makeoptions CPUFLAGS+="-mips32r2"
makeoptions NEED_BINARY="yes"
makeoptions NEED_UBOOTIMAGE="gz"
options COM_TOLERANCE=50 # +/- 5%
options CONSPEED=115200 # u-boot default
# Options for necessary to use MD
#makeoptions NEED_MDSETIMAGE="yes"
#options MEMORY_DISK_HOOKS
#options MEMORY_DISK_IS_ROOT # force root on memory disk
#options MEMORY_DISK_SERVER=0 # no userspace memory disk support
#options MEMORY_DISK_ROOT_SIZE=6144 # size of memory disk, in blocks
#options MEMORY_DISK_ROOT_SIZE=16384 # size of memory disk, in blocks
#options MEMORY_DISK_ROOT_SIZE=7300
# Size reduction options
#options VNODE_OP_NOINLINE
#options PIPE_SOCKETPAIR
options SOSEND_NO_LOAN
# 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 USERCONF # userconf(4) support
#options SYSCTL_INCLUDE_DESCR # Include sysctl descriptions in kernel
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
#options INGENIC_DEBUG
#options INGENIC_CLOCK_DEBUG
#options INGENIC_INTR_DEBUG # *very* spammy
# 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 TMPFS # Efficient memory file-system
# 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 EXT2FS_SYSTEM_FLAGS # makes ext2fs file flags (append and
# immutable) behave as system flags.
#options DISKLABEL_EI # disklabel Endian Independent 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 NFS_BOOT_BOOTP
options NFS_BOOT_DHCP
#options NFS_V2_ONLY
config netbsd root on sd0a type ffs
#config netbsd root on axe0 type nfs
#config netbsd root on dme0 type nfs
mainbus0 at root
#options MULTIPROCESSOR
cpu* at mainbus?
#wdog0 at mainbus?
apbus0 at mainbus?
# On-chip UARTs
com* at apbus?
# EFUSE
efuse* at apbus?
# On-chip USB
dwctwo* at apbus?
#options DWC2_DEBUG
usb* at dwctwo?
ohci* at apbus?
usb* at ohci?
# this one doesn't work right just yet
ehci* at apbus?
#options INGENIC_EHCI_DEBUG
#options EHCI_DEBUG
#options USBVERBOSE
#options USBHIST
usb* at ehci?
# onboard ethernet
dme* at apbus?
# I2C/SMBus
jziic* at apbus?
#options JZIIC_DEBUG # spammy
iic* at jziic?
# voltage control and the like, no driver yet
#act8600pm0 at iic0 addr 0x5a
# XXX
# the manual says there's a Pericom RTC at SMB4 addr 0x68
# on my preproduction CI20 that's not the case, instead there's something that
# looks like a PCF8563 at addr 0x51
# the Pericom PT7C4337 seems to be a DS1339 clone
#dsrtc0 at iic4 addr 0x68 flags 1339
# at least some CI20 have this instead
pcf8563rtc0 at iic4 addr 0x51
#jzgpio* at apbus? addr ?
#gpio* at jzgpio?
# MSC / SDMMC - unfinished
#jzmmc* at apbus?
#options JZMMC_DEBUG
#sdmmc* at jzmmc?
#ld* at sdmmc?
# USB stuff
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 ?
scsibus* at umass? channel ?
sd* at scsibus? target ? lun ? # SCSI disk drives
cd* at scsibus? target ? lun ? # SCSI CD-ROM drives
# Ethernet
#axe* at uhub? port ?
#urtwn* at uhub? port ?
# Random number generator
jzrng0 at apbus0
# MII/PHY support
#acphy* at mii? phy ? # DAltima AC101 and AMD Am79c874 PHYs
#amhphy* at mii? phy ? # AMD 79c901 Ethernet PHYs
dmphy* at mii? phy ? # Davicom DM9101 PHYs
#glxtphy* at mii? phy ? # Level One LXT-1000 PHYs
#gphyter* at mii? phy ? # NS83861 Gig-E PHY
#icsphy* at mii? phy ? # Integrated Circuit Systems ICS1890
#lxtphy* at mii? phy ? # Level One LXT-970 PHYs
#makphy* at mii? phy ? # Marvell Semiconductor 88E1000 PHYs
#nsphy* at mii? phy ? # NS83840 PHYs
#nsphyter* at mii? phy ? # NS83843 PHYs
#pnaphy* at mii? phy ? # generic HomePNA PHYs
#qsphy* at mii? phy ? # Quality Semiconductor QS6612 PHYs
#sqphy* at mii? phy ? # Seeq 80220/80221/80223 PHYs
#tlphy* at mii? phy ? # ThunderLAN PHYs
#tqphy* at mii? phy ? # TDK Semiconductor PHYs
#rlphy* at mii? phy ? # RealTek PHYs
ukphy* at mii? phy ? # generic unknown PHYs
# Pseudo-devices
# Disk/mass storage pseudo-devices
#pseudo-device ccd # concatenated disk devices
#pseudo-device raid # RAIDframe disk driver
#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 clockctl # user control of clock 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"
# Pull in optional local configuration - always at end
cinclude "arch/evbmips/conf/CI20.local"