#       $NetBSD: IMX31LITE,v 1.36 2022/08/07 02:52:25 simonb Exp $
#
#       IMX31LITE -- Freescale IMX31LITE Evaluation Board Kernel
#

include "arch/evbarm/conf/std.imx31"

#options        INCLUDE_CONFIG_FILE     # embed config file in kernel binary

# estimated number of users

maxusers        32

# Standard system options

options         RTC_OFFSET=0    # hardware clock is this many mins. west of GMT
#options        NTP             # NTP phase/frequency locked loop

# CPU options

# For StrongARM systems
options         CPU_ARM1136     # Support the SA110 core

# Architecture options
options        IMX31_IPGCLK_FREQ=66000000       # Fixme. bogus value

# 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     PROCFS          # /proc
#file-system    PUFFS           # Userspace file systems (e.g. ntfs-3g & sshfs)
file-system     TMPFS           # memory file system
#file-system    UMAPFS          # NULLFS + uid and gid remapping
#file-system    UNION           # union file system
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        DISKLABEL_EI    # disklabel Endian Independent support
options         NFSSERVER       # Network File System server

# 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

options         NFS_BOOT_BOOTP
options         NFS_BOOT_DHCP
#options        NFS_BOOT_BOOTPARAM

# Compatibility options

include         "conf/compat_netbsd14.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

# Device options

#options        MEMORY_DISK_HOOKS       # boottime setup of ramdisk
#options        MEMORY_DISK_ROOT_SIZE=3400      # Size in blocks
#options        MEMORY_DISK_IS_ROOT     # use memory disk as root

# Console options.
#options        CONSPEED=38400          # Console speed

# Miscellaneous kernel options
options         KTRACE          # system call tracing, a la ktrace(1)
options         IRQSTATS        # manage IRQ statistics
#options        SCSIVERBOSE     # Verbose SCSI errors
options         MIIVERBOSE      # Verbose MII autoconfuration messages
#options        PCI_CONFIG_DUMP # verbosely dump PCI config space
#options        DDB_KEYCODE=0x40
options         USERCONF        # userconf(4) support
#options        PIPE_SOCKETPAIR # smaller, but slower pipe(2)
#options        SYSCTL_INCLUDE_DESCR    # Include sysctl descriptions in kernel

# Development and Debugging options

options         DIAGNOSTIC      # internal consistency checks
options         DEBUG
#options        LOCKDEBUG
#options        UVMHIST         # kernhist for uvm/pmap subsystems
options         VERBOSE_INIT_ARM # verbose bootstraping messages
options         DDB             # in-kernel debugger
options         DDB_HISTORY_SIZE=100    # Enable history editing in DDB
#makeoptions    DEBUG="-g"      # compile full symbol table
makeoptions     COPY_SYMTAB=1

config          netbsd          root on ? type ?

# The main bus device
mainbus0        at root

# The boot cpu
cpu0            at mainbus?
#l2cc0          at mainbus?

# Specify the memory size in bytes.
options         MEMSIZE=0x8000000

# Devices

ahb0            at mainbus?
avic0           at ahb? addr 0x68000000 irqbase 0
aips*           at ahb0
imxuart*        at aips? addr 0x43f90000 intr 45
imxgpio0        at ahb? addr 0x53fcc000 irqbase 64 intr 52
imxgpio1        at ahb? addr 0x53fd0000 irqbase 96 intr 51
imxgpio2        at ahb? addr 0x53fa4000 irqbase 128 intr 56
gpio*           at imxgpio?

# pcic
imx31lk_pcic0   at aips? addr 0xb8004000
pcmcia*         at imx31lk_pcic0
wdc*            at pcmcia? function ?
atabus*         at wdc? channel ?
wd*             at atabus? drive ? flags 0x0000

# Pseudo-Devices

# disk/mass storage pseudo-devices
#pseudo-device  md                      # memory disk device (ramdisk)
#pseudo-device  vnd                     # disk-like interface to files
#pseudo-device  fss                     # file system snapshot device
#pseudo-device  putter                  # for puffs and pud

# network pseudo-devices
#pseudo-device  bpfilter                # Berkeley packet filter
pseudo-device   loop                    # network loopback

# miscellaneous pseudo-devices
pseudo-device   pty                     # pseudo-terminals
pseudo-device   ksyms                   # /dev/ksyms
pseudo-device   clockctl                # NTP clockctl