1239705Sadrian#
2239705Sadrian# AR724X -- Kernel configuration file for FreeBSD/MIPS for Atheros 724x systems
3239705Sadrian#
4239758Sadrian# This includes all the common drivers for the AR724x boards.
5239758Sadrian# Since the AR724x boards tend to have minimal flash (sometimes 4MB!),
6239758Sadrian# the majority of the kernel framework will be built as modules.
7239705Sadrian#
8239705Sadrian# $FreeBSD$
9239705Sadrian#
10239705Sadrian
11239705Sadrianmachine		mips mips
12239705Sadrianident		AR724X_BASE
13295503Sadriancpu		CPU_MIPS24K
14239705Sadrianmakeoptions	KERNLOADADDR=0x80050000
15263301Simpoptions 	HZ=1000
16263301Simpoptions 	HWPMC_HOOKS
17239705Sadrian
18239705Sadrianfiles		"../atheros/files.ar71xx"
19239705Sadrian
20239705Sadrian# For now, hints are per-board.
21239705Sadrian
22239705Sadrianhints		"AR724X_BASE.hints"
23239705Sadrian
24239705Sadrianmakeoptions	DEBUG=-g		#Build kernel with gdb(1) debug symbols
25239705Sadrian
26239705Sadrian# Build these as modules so small platform builds will have the
27239705Sadrian# modules already built.
28284959Smarkmmakeoptions	MODULES_OVERRIDE="gpio ar71xx if_gif if_gre if_bridge bridgestp usb wlan wlan_xauth wlan_acl wlan_wep wlan_tkip wlan_ccmp wlan_rssadapt wlan_amrr ath ath_pci hwpmc cam"
29239705Sadrian
30284145Sadrian# For small memory footprints
31284145Sadrianoptions 	VM_KMEM_SIZE_SCALE=1
32284145Sadrian
33263301Simpoptions 	DDB
34263301Simpoptions 	KDB
35239705Sadrian
36263301Simpoptions 	SCHED_4BSD		#4BSD scheduler
37263301Simpoptions 	INET			#InterNETworking
38239758Sadrian#options 	INET6			# IPv6
39241970Sthompsa#options 	NFSCL			#Network Filesystem Client
40263301Simpoptions 	PSEUDOFS		#Pseudo-filesystem framework
41263301Simpoptions 	_KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time extensions
42239705Sadrian
43263301Simp#options 	NFS_LEGACYRPC
44239705Sadrian# Debugging for use in -current
45263301Simpoptions 	INVARIANTS
46263301Simpoptions 	INVARIANT_SUPPORT
47263301Simpoptions 	WITNESS
48263301Simpoptions 	WITNESS_SKIPSPIN
49263301Simpoptions 	DEBUG_REDZONE
50263301Simpoptions 	DEBUG_MEMGUARD
51239705Sadrian
52239758Sadrian# Don't include the SCSI/CAM strings in the default build
53239758Sadrianoptions 	SCSI_NO_SENSE_STRINGS
54239758Sadrianoptions 	SCSI_NO_OP_STRINGS
55239758Sadrian
56239795Sadrian# .. And no sysctl strings
57239795Sadrianoptions         NO_SYSCTL_DESCR
58239795Sadrian
59239705Sadrianoptions         FFS                     #Berkeley Fast Filesystem
60239888Sadrianoptions 	NO_FFS_SNAPSHOT
61239705Sadrian# options         SOFTUPDATES             #Enable FFS soft updates support
62239705Sadrian# options         UFS_ACL                 #Support for access control lists
63239705Sadrian# options         UFS_DIRHASH             #Improve performance on big directories
64263301Simp# options 	MSDOSFS			# Read MSDOS filesystems; useful for USB/CF
65239705Sadrian
66239705Sadriandevice		pci
67239705Sadriandevice		ar724x_pci
68239705Sadrian
69239705Sadrian# 802.11 framework
70263301Simpoptions 	IEEE80211_DEBUG
71263301Simpoptions 	IEEE80211_ALQ
72263301Simpoptions 	IEEE80211_SUPPORT_MESH
73263301Simpoptions 	IEEE80211_SUPPORT_SUPERG
74263301Simpoptions 	IEEE80211_SUPPORT_TDMA
75263301Simpoptions 	IEEE80211_AMPDU_AGE
76239758Sadrian#device		wlan            # 802.11 support
77239758Sadrian#device		wlan_wep        # 802.11 WEP support
78239758Sadrian#device		wlan_ccmp       # 802.11 CCMP support
79239758Sadrian#device		wlan_tkip       # 802.11 TKIP support
80239758Sadrian#device		wlan_xauth	# 802.11 hostap support
81239705Sadrian
82239705Sadrian# Atheros wireless NICs
83239758Sadrian#device		ath             # Atheros interface support
84239758Sadrian#device		ath_pci		# Atheros PCI/Cardbus bus
85239705Sadrianoptions 	ATH_DEBUG
86263301Simpoptions 	ATH_DIAGAPI
87263301Simpoptions 	ATH_ENABLE_11N
88263301Simpoptions 	AH_DEBUG
89263301Simpoptions 	AH_DEBUG_ALQ
90263301Simpoptions 	ALQ
91239758Sadrian#device		ath_hal
92239705Sadrianoption		AH_SUPPORT_AR5416
93239758Sadrian#device		ath_rate_sample
94239705Sadrianoption		AH_RXCFG_SDMAMW_4BYTES
95239705Sadrianoption		AH_AR5416_INTERRUPT_MITIGATION
96239705Sadrian# There's no DFS radar detection support yet so this won't actually
97239705Sadrian# detect radars.  It however does enable the rest of the channel change
98239705Sadrian# machinery so DFS can be debugged.
99239705Sadrianoption		ATH_ENABLE_DFS
100239705Sadrian
101239705Sadriandevice		mii
102239705Sadriandevice		arge
103239758Sadrianoptions 	ARGE_DEBUG	# Enable if_arge debugging for now
104239705Sadrian
105239758Sadrian#device		usb
106263301Simpoptions 	USB_EHCI_BIG_ENDIAN_DESC        # handle big-endian byte order
107263301Simpoptions 	USB_DEBUG
108263301Simpoptions 	USB_HOST_ALIGN=32		# AR724X (MIPS in general?) requires this
109239758Sadrian#device		ehci
110239705Sadrian
111239888Sadrian#device		umass
112239888Sadrian
113239705Sadriandevice		scbus
114239705Sadriandevice		da
115239705Sadrian
116239705Sadrian# On-board SPI flash
117239705Sadriandevice		spibus
118239705Sadriandevice		ar71xx_spi
119239705Sadriandevice		mx25l
120239705Sadriandevice		ar71xx_wdog
121239705Sadrian
122239705Sadriandevice		uart
123243177Sadriandevice		uart_ar71xx
124239705Sadrian
125276741Sadriandevice		ar71xx_apb
126276741Sadrian
127239705Sadriandevice		loop
128239705Sadriandevice		ether
129239705Sadriandevice		md
130239705Sadriandevice		bpf
131239795Sadrian#device		random
132239758Sadrian#device		if_bridge
133239758Sadrian#device		gif		# ip[46] in ip[46] tunneling protocol
134239758Sadrian#device		gre		# generic encapsulation - only for IPv4 in IPv4 though atm
135239705Sadrian
136239705Sadrian# Enable GPIO
137239758Sadrian#device		gpio
138239758Sadrian#device		gpioled
139