1#         $NetBSD: GENERIC,v 1.97 2024/04/02 22:56:51 charlotte Exp $
2#
3# GENERIC machine description file
4#
5# This machine description file is used to generate the default NetBSD
6# kernel.  The generic kernel does not include all options, subsystems
7# and device drivers, but should be useful for most applications.
8#
9# The machine description file can be customised for your specific
10# machine to reduce the kernel size and improve its performance.
11#
12# For further information on compiling NetBSD kernels, see the config(8)
13# man page.
14#
15# For further information on hardware support for this architecture, see
16# the intro(4) man page.  For further information about kernel options
17# for this architecture, see the options(4) man page.  For an explanation
18# of each device driver in this file see the section 4 man page for the
19# device.
20
21include   "arch/zaurus/conf/std.zaurus"
22
23#options  INCLUDE_CONFIG_FILE # embed config file in kernel binary
24
25maxusers  32                            # estimated number of users
26
27# CPU options
28
29# For XScale systems
30options   CPU_XSCALE_PXA250   # Support the XScale PXA25x core
31options   CPU_XSCALE_PXA270   # Support the XScale PXA27x core
32makeoptions         CPUFLAGS="-mcpu=xscale"
33
34# Architecture options
35options   XSCALE_CACHE_READ_WRITE_ALLOCATE
36options   PXAGPIO_HAS_GPION_INTRS
37
38# in-kernel bootloader, see kloader(4)
39options   KLOADER
40#options  KLOADER_KERNEL_PATH="\"/netbsd\""
41#options  KLOADER_DEBUG
42
43# Standard system options
44options   INSECURE  # disable kernel security levels
45
46options   RTC_OFFSET=0        # hardware clock is this many mins. west of GMT
47#options  HZ=512              # clock interrupt generates every 1/HZ sec
48#options  NTP                 # NTP phase/frequency locked loop
49
50# File systems
51file-system         FFS                 # UFS
52#file-system        EXT2FS              # second extended file system (linux)
53#file-system        LFS                 # log-structured file system
54file-system         MFS                 # memory file system
55file-system         NFS                 # Network File System client
56#file-system        NTFS                # Windows/NT file system (experimental)
57file-system         CD9660              # ISO 9660 + Rock Ridge file system
58file-system         MSDOSFS             # MS-DOS file system
59#file-system        FDESC               # /dev/fd
60file-system         KERNFS              # /kern
61file-system         NULLFS              # loopback file system
62#file-system        OVERLAY             # overlay file system
63file-system         PUFFS               # Userspace file systems (e.g. ntfs-3g & sshfs)
64file-system         PROCFS              # /proc
65#file-system        UMAPFS              # NULLFS + uid and gid remapping
66#file-system        UNION               # union file system
67#file-system        CODA                # Coda File System; also needs vcoda (below)
68file-system         PTYFS               # /dev/pts/N support
69file-system         TMPFS               # Efficient memory file-system
70#file-system        UDF                 # experimental - OSTA UDF CD/DVD file-system
71
72# File system options
73#options  FFS_EI              # FFS Endian Independent support
74options   FFS_NO_SNAPSHOT     # No FFS snapshot support
75#options  QUOTA               # legacy UFS quotas
76#options  QUOTA2              # new, in-filesystem UFS quotas
77#options  UFS_DIRHASH         # UFS Large Directory Hashing
78#options  UFS_EXTATTR         # Extended attribute support for UFS1
79options   WAPBL               # File system journaling support
80#options  DISKLABEL_EI        # disklabel Endian Independent support
81#options  NFSSERVER # Network File System server
82
83# Networking options
84#options  GATEWAY             # packet forwarding
85options   INET                # IP + ICMP + TCP + UDP
86options   INET6               # IPv6
87
88# Compatibility options
89include   "conf/compat_netbsd13.config"
90options   COMPAT_NETBSD32     # allow running arm (e.g. non-earm) binaries
91
92# Wedge support
93options   DKWEDGE_AUTODISCOVER          # Automatically add dk(4) instances
94options   DKWEDGE_METHOD_GPT  # Supports GPT partitions as wedges
95#options  DKWEDGE_METHOD_BSDLABEL       # Support disklabel entries as wedges
96#options  DKWEDGE_METHOD_MBR  # Support MBR partitions as wedges
97options   DKWEDGE_METHOD_APPLE    # Support Apple partitions as wedges
98#options  DKWEDGE_METHOD_RDB  # Support RDB partitions as wedges
99#options  DKWEDGE_METHOD_TOS  # Support Atari "TOS" partitions as wedges
100
101# Shared memory options
102
103options   SYSVMSG             # System V-like message queues
104options   SYSVSEM             # System V-like semaphores
105options   SYSVSHM             # System V-like memory sharing
106
107# Loadable kernel module support
108#options  MODULAR             # new style module(7) framework
109#options  MODULAR_DEFAULT_AUTOLOAD
110
111# Device options
112
113# Miscellaneous kernel options
114#options  KTRACE              # system call tracing via ktrace(1)
115#options  SCSIVERBOSE         # Verbose SCSI errors
116#options  MIIVERBOSE          # Verbose MII autoconfuration messages
117#options  USBVERBOSE          # verbose USB device autoconfig messages
118#options  USERCONF  # userconf(4) support
119#options  PIPE_SOCKETPAIR # smaller, but slower pipe(2)
120#options  SYSCTL_INCLUDE_DESCR          # Include sysctl descriptions in kernel
121
122#
123# wscons options
124#
125# builtin terminal emulations
126options   WSEMUL_VT100
127# allocate a number of virtual screens at autoconfiguration time
128#options  WSDISPLAY_DEFAULTSCREENS=2
129
130# customization of console and kernel output - see dev/wscons/wsdisplayvar.h
131#options  WSDISPLAY_CUSTOM_OUTPUT       # color customization from wsconsctl(8)
132#options  WS_DEFAULT_FG=WSCOL_WHITE
133#options  WS_DEFAULT_BG=WSCOL_BLACK
134#options  WS_DEFAULT_COLATTR="(0)"
135#options  WS_DEFAULT_MONOATTR="(0)"
136options   WS_KERNEL_FG=WSCOL_GREEN
137#options  WS_KERNEL_BG=WSCOL_BLACK
138#options  WS_KERNEL_COLATTR=""
139#options  WS_KERNEL_MONOATTR=""
140
141# compatibility to other console drivers
142options   WSDISPLAY_COMPAT_PCVT                   # emulate some ioctls
143options   WSDISPLAY_COMPAT_USL                    # wsconscfg VT handling
144options   WSDISPLAY_COMPAT_RAWKBD                 # can get raw scancodes
145
146# Development and Debugging options
147
148options   DIAGNOSTIC                    # internal consistency checks
149#options  DEBUG
150#options  VERBOSE_INIT_ARM    # verbose bootstraping messages
151options   DDB                           # in-kernel debugger
152options   DDB_HISTORY_SIZE=100          # Enable history editing in DDB
153#options  KGDB
154#makeoptions        DEBUG="-g"                    # compile full symbol table
155
156
157# Kernel root file system and dump configuration.
158config              netbsd              root on ? type ?
159
160
161# The main bus device
162mainbus0 at root
163
164# The boot cpu
165cpu0 at mainbus?
166
167# integrated peripherals
168pxaip0 at mainbus?
169
170pxaintc0 at pxaip?                                # interrupt controller
171pxagpio0 at pxaip?                                # GPIO
172pxartc0 at pxaip? addr 0x40900000 size 0x10       # RTC
173
174# DMAC support
175pxadmac0 at pxaip? addr 0x40000000 intr 25
176options   PXA2X0_DMAC_DMOVER_CONCURRENCY=4 # Enable dmover(9) backend
177#options  PXA2X0_DMAC_FIXED_PRIORITY    # Don't want multiple priority
178
179# I2C support
180ziic0 at pxaip?
181iic0 at ziic?
182
183# Power management
184zapm0 at pxaip?               # power management
185apmdev0 at zapm0    # APM
186
187# PCMCIA/CF socket and GPIO controllers
188scoop0 at pxaip?
189scoop1 at pxaip?
190
191# alternate GPIO controller for SL-C1000
192ioexp0 at iic? addr 0x18
193
194# ADC, touchpad, backlight
195zssp0 at pxaip?
196
197# touchpad
198ztp0 at zssp?
199wsmouse* at ztp? mux 0
200
201# keyboard
202zkbd0 at pxaip?
203wskbd* at zkbd? mux 1
204
205# remote controller
206zrc0 at pxaip?
207wskbd* at zrc? mux 1
208
209# LCD
210lcd0 at pxaip?                                    # PXA2x0 integrated LCD Controller
211options   PXA2X0_LCD_WRITETHROUGH
212wsdisplay* at lcd? console ?
213w100lcd0 at pxaip?                      # ATI Imageon100 LCDcontroller
214wsdisplay* at w100lcd? console ?
215lcdctl0 at zssp0
216
217# WM8750 Audio
218zaudio0 at iic? addr 0x1b
219audio* at zaudio?
220#options  ZAUDIO_VOLUME_STRIDE=8
221
222# Audio support
223audio* at audiobus?
224
225spkr* at audio?               # PC speaker (synthesized)
226
227# integrated 16550 UARTs
228options   COM_PXA2X0
229#options  FFUARTCONSOLE
230com0 at pxaip?  addr 0x40100000 intr 22 # Full Function UART
231com1 at pxaip?  addr 0x40200000 intr 21 # Bluetooth UART
232com2 at pxaip?  addr 0x40700000 intr 20 # Standard UART (for IrDA)
233
234# integrated PCMCIA/CF controller
235pxapcic0 at pxaip?
236
237# PCMCIA bus support
238pcmcia* at pxapcic?
239
240# PCMCIA (CF) devices
241com* at pcmcia?               # PCMCIA modems/serial ports
242wi* at pcmcia?                # WaveLAN IEEE 802.11DS
243ne* at pcmcia?                # PCMCIA based NE2000 ethernet
244wdc* at pcmcia?               # hard disk controller
245
246atabus* at wdc? channel ?
247
248# IDE hard drives
249wd* at atabus? drive ? flags 0x0000
250
251
252# USB Controller and Devices
253zusb* at pxaip?
254#pxaudc0 at pxaip? addr 0x40600000      # USB Device Controller
255ohci0 at pxaip? addr 0x4c000000 intr 3  # USB Host Controller
256
257# PCMCIA USB controllers
258#slhci* at pcmcia? function ? # ScanLogic SL811HS
259
260# USB bus support
261usb* at ohci?
262#usb* at slhci?
263
264# USB Hubs
265uhub* at usb?
266uhub* at uhub? port ?
267
268# USB HID device
269uhidev* at uhub? port ? configuration ? interface ?
270
271# USB Mice
272ums* at uhidev? reportid ?
273wsmouse* at ums? mux 0
274
275# USB Keyboards
276ukbd* at uhidev? reportid ?
277wskbd* at ukbd? console ? mux 1
278
279# USB Generic HID devices
280uhid* at uhidev? reportid ?
281
282# USB Mass Storage
283umass* at uhub? port ? configuration ? interface ?
284
285# SCSI bus support
286scsibus* at scsi?
287
288# SCSI devices
289sd*       at scsibus? target ? lun ?    # SCSI disk drives
290cd*       at scsibus? target ? lun ?    # SCSI CD-ROM drives
291uk*       at scsibus? target ? lun ?    # SCSI unknown
292
293# ATAPI bus support
294atapibus* at atapi?
295
296# ATAPI devices
297cd*       at atapibus? drive ?                    # ATAPI CD-ROM drives
298#sd*      at atapibus? drive ?                    # ATAPI disk drives
299#st*      at atapibus? drive ?                    # ATAPI tape drives
300#uk*      at atapibus? drive ?                    # ATAPI unknown
301
302# USB audio
303#uaudio* at uhub? port ? configuration ?
304
305# USB Ethernet adapters
306aue*      at uhub? port ?               # ADMtek AN986 Pegasus based adapters
307axe*      at uhub? port ?               # ASIX AX88172 based adapters
308#axen*    at uhub? port ?               # ASIX AX88178a/AX88179 based adapters
309cdce*     at uhub? port ?               # CDC, Ethernet Networking Control Model
310cue*      at uhub? port ?               # CATC USB-EL1201A based adapters
311kue*      at uhub? port ?               # Kawasaki LSI KL5KUSB101B based adapters
312mue*      at uhub? port ?               # Microchip LAN75xx/LAN78xx based adapters
313udav*     at uhub? port ?               # Davicom DM9601 based adapters
314#ure*     at uhub? port ?               # Realtek RTL8152/RTL8153 based adapters
315url*      at uhub? port ?               # Realtek RTL8150L based adapters
316#urndis*  at uhub? port ?     # Microsoft RNDIS specification
317#usmsc*   at uhub? port ?               # SMSC95xx based adapters
318
319# Kyocera AIR-EDGE PHONE
320#ukyopon* at uhub? port ?
321#ucom* at ukyopon? portno ?
322
323# USB Generic driver
324ugen*     at uhub? port ?
325
326# MII/PHY support
327acphy*  at mii? phy ?                             # DAltima AC101 and AMD Am79c874 PHYs
328amhphy* at mii? phy ?                             # AMD 79c901 Ethernet PHYs
329bmtphy* at mii? phy ?                             # Broadcom BCM5201 and BCM5202 PHYs
330brgphy* at mii? phy ?                             # Broadcom BCM5400-family PHYs
331dmphy*  at mii? phy ?                             # Davicom DM9101 PHYs
332exphy*  at mii? phy ?                             # 3Com internal PHYs
333glxtphy* at mii? phy ?                            # Level One LXT-1000 PHYs
334gphyter* at mii? phy ?                            # NS83861 Gig-E PHY
335icsphy* at mii? phy ?                             # Integrated Circuit Systems ICS189x
336inphy*  at mii? phy ?                             # Intel 82555 PHYs
337iophy*  at mii? phy ?                             # Intel 82553 PHYs
338lxtphy* at mii? phy ?                             # Level One LXT-970 PHYs
339makphy* at mii? phy ?                             # Marvell Semiconductor 88E1000 PHYs
340nsphy*  at mii? phy ?                             # NS83840 PHYs
341nsphyter* at mii? phy ?                           # NS83843 PHYs
342pnaphy* at mii? phy ?                             # generic HomePNA PHYs
343qsphy*  at mii? phy ?                             # Quality Semiconductor QS6612 PHYs
344#rgephy*  at mii? phy ?                           # Realtek 8169S/8110S/8211 PHYs
345#rlphy*  at mii? phy ?                            # Realtek 8139/8201L PHYs
346sqphy*  at mii? phy ?                             # Seeq 80220/80221/80223 PHYs
347tlphy*  at mii? phy ?                             # ThunderLAN PHYs
348tqphy*  at mii? phy ?                             # TDK Semiconductor PHYs
349ukphy*  at mii? phy ?                             # generic unknown PHYs
350urlphy* at mii? phy ?                             # Realtek RTL8150L internal PHYs
351
352
353# integrated MMC/SD controller
354pxamci0 at pxaip? addr 0x41100000 size 0x48
355sdmmc* at pxamci?
356#options  PXAMCI_DEBUG
357#options  SDMMC_DEBUG
358#options  SDMMC_DUMP_CSD
359
360ld* at sdmmc?                                     # MMC/SD/SDHC card
361
362# Pseudo-Devices
363
364# disk/mass storage pseudo-devices
365pseudo-device       md                            # memory disk device (ramdisk)
366pseudo-device       vnd                           # disk-like interface to files
367options   VND_COMPRESSION               # compressed vnd(4)
368
369# network pseudo-devices
370pseudo-device       bpfilter            # Berkeley packet filter
371pseudo-device       loop                          # network loopback
372
373# accept filters
374pseudo-device       accf_data           # "dataready" accept filter
375pseudo-device       accf_http           # "httpready" accept filter
376
377# miscellaneous pseudo-devices
378pseudo-device       pty                           # pseudo-terminals
379#pseudo-device      sequencer           # MIDI sequencer
380pseudo-device       clockctl            # user control of clock subsystem
381pseudo-device       drvctl                        # user control of drive subsystem
382pseudo-device       ksyms                         # /dev/ksyms
383pseudo-device       putter                        # for puffs and pud
384pseudo-device       swwdog                        # software watchdog timer -- swwdog(4)
385
386# a pseudo device needed for Coda       # also needs CODA (above)
387#pseudo-device      vcoda                         # coda minicache <-> venus comm.
388
389# wscons pseudo-devices
390pseudo-device       wsmux                         # mouse & keyboard multiplexor
391pseudo-device       wsfont
392
393# Pull in optional local configuration - always at end
394cinclude  "arch/zaurus/conf/GENERIC.local"
395