1#         $NetBSD: CI20,v 1.34 2024/01/29 18:27:11 christos Exp $
2#
3# MIPS Creator CI20
4#
5
6include   "arch/evbmips/conf/std.ingenic"
7
8#options  INCLUDE_CONFIG_FILE # embed config file in kernel binary
9
10#ident              "CI20-$Revision: 1.34 $"
11
12maxusers  32
13
14#makeoptions        COPTS="-Os"                   # Optimise for space. Implies -O2
15
16options   MIPS32R2
17makeoptions         CPUFLAGS+="-mips32r2"
18makeoptions         NEED_BINARY="yes"
19makeoptions         NEED_UBOOTIMAGE="gz"
20options   COM_TOLERANCE=50    # +/- 5%
21options   CONSPEED=115200     # u-boot default
22
23# Options for necessary to use MD
24#makeoptions        NEED_MDSETIMAGE="yes"
25#options  MEMORY_DISK_HOOKS
26#options  MEMORY_DISK_IS_ROOT # force root on memory disk
27#options  MEMORY_DISK_SERVER=0          # no userspace memory disk support
28#options  MEMORY_DISK_ROOT_SIZE=6144    # size of memory disk, in blocks
29#options  MEMORY_DISK_ROOT_SIZE=16384   # size of memory disk, in blocks
30#options  MEMORY_DISK_ROOT_SIZE=7300
31
32# Size reduction options
33#options  VNODE_OP_NOINLINE
34#options  PIPE_SOCKETPAIR
35options             SOSEND_NO_LOAN
36
37# Standard system options
38options   KTRACE              # system call tracing support
39#options  SYSVMSG             # System V message queues
40#options  SYSVSEM             # System V semaphores
41#options  SYSVSHM             # System V shared memory
42options   NTP                 # network time protocol
43
44# Debugging options
45options   DIAGNOSTIC          # extra kernel sanity checking
46#options  DEBUG               # extra kernel debugging support
47#options  USERCONF  # userconf(4) support
48#options  SYSCTL_INCLUDE_DESCR          # Include sysctl descriptions in kernel
49options   DDB                 # kernel dynamic debugger
50options   DDB_HISTORY_SIZE=100 # enable history editing in DDB
51makeoptions         DEBUG="-g"          # compile full symbol table
52makeoptions         COPY_SYMTAB=1       # size for embedded symbol table
53
54#options  INGENIC_DEBUG
55#options  INGENIC_CLOCK_DEBUG
56#options  INGENIC_INTR_DEBUG  # *very* spammy
57
58# Compatibility options
59include         "conf/compat_netbsd16.config"
60
61#options  EXEC_ECOFF          # exec ECOFF binaries
62#options  COMPAT_ULTRIX       # binary compatibility with Ultrix
63
64# File systems
65file-system         FFS                 # Berkeley Fast Filesystem
66#file-system        MFS                 # memory-based filesystem
67#file-system        EXT2FS              # second extended file system (linux)
68file-system         NFS                 # Sun NFS-compatible filesystem client
69file-system         KERNFS              # kernel data-structure filesystem
70#file-system        NULLFS              # NULL layered filesystem
71#file-system        OVERLAY             # overlay file system
72#file-system        FDESC               # user file descriptor filesystem
73#file-system        UMAPFS              # uid/gid remapping filesystem
74#file-system        LFS                 # Log-based filesystem (still experimental)
75file-system         PROCFS              # /proc
76#file-system        CD9660              # ISO 9660 + Rock Ridge file system
77#file-system        UNION               # union file system
78file-system         MSDOSFS             # MS-DOS FAT filesystem(s).
79#file-system        CODA                # Coda File System; also needs vcoda (below)
80file-system         PTYFS               # /dev/pts/N support
81file-system         TMPFS               # Efficient memory file-system
82
83# File system options
84#options  FFS_EI              # FFS Endian Independent support
85options   FFS_NO_SNAPSHOT     # No FFS snapshot support
86#options  QUOTA               # legacy UFS quotas
87#options  QUOTA2              # new, in-filesystem UFS quotas
88#options  UFS_DIRHASH         # UFS Large Directory Hashing
89#options  UFS_EXTATTR         # Extended attribute support for UFS1
90options   WAPBL               # File system journaling support
91#options  DISKLABEL_EI        # disklabel Endian Independent support
92#options  NFSSERVER # Network File System server
93
94# Alternate buffer queue strategies for better responsiveness under high
95# disk I/O load.
96#options  BUFQ_READPRIO
97options   BUFQ_PRIOCSCAN
98
99# Networking options
100#options  GATEWAY             # IP packet forwarding
101options   INET                # Internet protocols
102options   INET6               # IPV6
103#options  IPSEC               # IP security
104#options  IPSEC_DEBUG         # debug for IP security
105#options  MROUTING  # packet forwarding of multicast packets
106#options  PIM                 # Protocol Independent Multicast
107#options  NETATALK  # AppleTalk (over Ethernet) protocol
108#options  PPP_BSDCOMP         # BSD-Compress compression support for PPP
109#options  PPP_DEFLATE         # Deflate compression support for PPP
110#options  PPP_FILTER          # Active filter support for PPP (requires bpf)
111
112# JIT compiler for bpfilter
113#options  SLJIT
114#options  BPFJIT
115
116# These options enable verbose messages for several subsystems.
117# Warning, these may compile large string tables into the kernel!
118options   MIIVERBOSE          # verbose PHY autoconfig messages
119
120options   NFS_BOOT_BOOTP
121options   NFS_BOOT_DHCP
122#options  NFS_V2_ONLY
123
124config              netbsd    root on sd0a type ffs
125#config             netbsd    root on axe0 type nfs
126#config             netbsd    root on dme0 type nfs
127
128mainbus0  at root
129#options  MULTIPROCESSOR
130
131cpu*                at mainbus?
132#wdog0              at mainbus?
133apbus0              at mainbus?
134
135# On-chip UARTs
136com*                at apbus?
137
138# EFUSE
139efuse*              at apbus?
140
141# On-chip USB
142dwctwo*   at apbus?
143#options  DWC2_DEBUG
144usb*                at dwctwo?
145
146ohci*               at apbus?
147usb*                at ohci?
148
149# this one doesn't work right just yet
150ehci*               at apbus?
151#options  INGENIC_EHCI_DEBUG
152#options  EHCI_DEBUG
153#options  USBVERBOSE
154#options  USBHIST
155usb*                at ehci?
156
157# onboard ethernet
158dme*                at apbus?
159
160# I2C/SMBus
161jziic*              at apbus?
162#options  JZIIC_DEBUG         # spammy
163iic*                at jziic?
164
165# voltage control and the like, no driver yet
166#act8600pm0         at iic0 addr 0x5a
167
168# XXX
169# the manual says there's a Pericom RTC at SMB4 addr 0x68
170# on my preproduction CI20 that's not the case, instead there's something that
171# looks like a PCF8563 at addr 0x51
172
173# the Pericom PT7C4337 seems to be a DS1339 clone
174#dsrtc0   at iic4 addr 0x68 flags 1339
175
176# at least some CI20 have this instead
177pcf8563rtc0         at iic4 addr 0x51
178
179#jzgpio*  at apbus? addr ?
180#gpio*              at jzgpio?
181
182# MSC / SDMMC - unfinished
183#jzmmc*             at apbus?
184#options  JZMMC_DEBUG
185#sdmmc*             at jzmmc?
186#ld*                at sdmmc?
187
188# USB stuff
189uhub*               at usb?
190uhub*               at uhub? port ?
191
192# USB HID device
193uhidev*   at uhub? port ? configuration ? interface ?
194
195# USB Mice
196ums*                at uhidev? reportid ?
197wsmouse*  at ums? mux 0
198
199# USB Keyboards
200ukbd*     at uhidev? reportid ?
201wskbd*    at ukbd? console ? mux 1
202
203# USB Generic HID devices
204uhid*     at uhidev? reportid ?
205
206# USB Mass Storage
207umass*    at uhub? port ? configuration ? interface ?
208scsibus*  at umass? channel ?
209sd*                 at scsibus? target ? lun ?    # SCSI disk drives
210cd*                 at scsibus? target ? lun ?    # SCSI CD-ROM drives
211
212# Ethernet
213#axe*     at uhub? port ?
214#urtwn*   at uhub? port ?
215
216# Random number generator
217jzrng0    at apbus0
218
219# MII/PHY support
220#acphy*             at mii? phy ?                 # DAltima AC101 and AMD Am79c874 PHYs
221#amhphy*  at mii? phy ?                 # AMD 79c901 Ethernet PHYs
222dmphy*              at mii? phy ?                 # Davicom DM9101 PHYs
223#glxtphy* at mii? phy ?                 # Level One LXT-1000 PHYs
224#gphyter* at mii? phy ?                 # NS83861 Gig-E PHY
225#icsphy*  at mii? phy ?                 # Integrated Circuit Systems ICS1890
226#lxtphy*  at mii? phy ?                 # Level One LXT-970 PHYs
227#makphy*  at mii? phy ?                 # Marvell Semiconductor 88E1000 PHYs
228#nsphy*             at mii? phy ?                 # NS83840 PHYs
229#nsphyter*          at mii? phy ?                 # NS83843 PHYs
230#pnaphy*  at mii? phy ?                 # generic HomePNA PHYs
231#qsphy*             at mii? phy ?                 # Quality Semiconductor QS6612 PHYs
232#sqphy*             at mii? phy ?                 # Seeq 80220/80221/80223 PHYs
233#tlphy*             at mii? phy ?                 # ThunderLAN PHYs
234#tqphy*             at mii? phy ?                 # TDK Semiconductor PHYs
235#rlphy*             at mii? phy ?                 # RealTek PHYs
236ukphy*              at mii? phy ?                 # generic unknown PHYs
237
238
239# Pseudo-devices
240
241# Disk/mass storage pseudo-devices
242#pseudo-device      ccd                                     # concatenated disk devices
243#pseudo-device      raid                                    # RAIDframe disk driver
244#pseudo-device      fss                                     # file system snapshot device
245#pseudo-device      md                                      # memory disk device (ramdisk)
246#pseudo-device      vnd                                     # disk-like interface to files
247
248# Network pseudo-devices
249pseudo-device       bpfilter                      # Berkeley packet filter
250pseudo-device       carp                                    # Common Address Redundancy Protocol
251#pseudo-device      npf                           # NPF packet filter
252pseudo-device       loop                                    # network loopback
253#pseudo-device      ppp                                     # Point-to-Point Protocol
254#pseudo-device      sl                                      # Serial Line IP
255#pseudo-device      tun                                     # network tunneling over tty
256#pseudo-device      tap                                     # virtual Ethernet
257#pseudo-device      gre                                     # generic L3 over IP tunnel
258#pseudo-device      ipip                                    # RFC 2003 IP Encapsulation
259#pseudo-device      gif                                     # RFC1933 tunnel
260#pseudo-device      faith                                   # IPv[46] tcp relay translation
261#pseudo-device      stf                                     # 6to4 IPv6 over IPv4 encapsulation
262#pseudo-device      vlan                                    # IEEE 802.1q encapsulation
263#pseudo-device      bridge                                  # simple inter-network bridging
264#pseudo-device      vether                                  # Virtual Ethernet for bridge
265
266# Miscellaneous pseudo-devices
267pseudo-device       pty                                     # pseudo-terminals
268pseudo-device       clockctl                      # user control of clock subsystem
269pseudo-device       ksyms                                   # /dev/ksyms
270
271# A pseudo device needed for Coda                 # also needs CODA (above)
272#pseudo-device      vcoda                                   # coda minicache <-> venus comm.
273
274include "dev/veriexec.config"
275
276# Pull in optional local configuration - always at end
277cinclude  "arch/evbmips/conf/CI20.local"
278