Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

#	$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"