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
13239705Sadriancpu		CPU_MIPS4KC
14239705Sadrianmakeoptions	KERNLOADADDR=0x80050000
15266331Sianoptions 	HZ=1000
16266331Sianoptions 	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.
28253845Sobrienmakeoptions	MODULES_OVERRIDE="random 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
30266331Sianoptions 	DDB
31266331Sianoptions 	KDB
32239705Sadrian
33266331Sianoptions 	SCHED_4BSD		#4BSD scheduler
34266331Sianoptions 	INET			#InterNETworking
35239758Sadrian#options 	INET6			# IPv6
36241970Sthompsa#options 	NFSCL			#Network Filesystem Client
37266331Sianoptions 	PSEUDOFS		#Pseudo-filesystem framework
38266331Sianoptions 	_KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time extensions
39239705Sadrian
40266331Sian#options 	NFS_LEGACYRPC
41239705Sadrian# Debugging for use in -current
42266331Sianoptions 	INVARIANTS
43266331Sianoptions 	INVARIANT_SUPPORT
44266331Sianoptions 	WITNESS
45266331Sianoptions 	WITNESS_SKIPSPIN
46266331Sianoptions 	DEBUG_REDZONE
47266331Sianoptions 	DEBUG_MEMGUARD
48239705Sadrian
49239758Sadrian# Don't include the SCSI/CAM strings in the default build
50239758Sadrianoptions 	SCSI_NO_SENSE_STRINGS
51239758Sadrianoptions 	SCSI_NO_OP_STRINGS
52239758Sadrian
53239795Sadrian# .. And no sysctl strings
54239795Sadrianoptions         NO_SYSCTL_DESCR
55239795Sadrian
56239705Sadrianoptions         FFS                     #Berkeley Fast Filesystem
57239888Sadrianoptions 	NO_FFS_SNAPSHOT
58239705Sadrian# options         SOFTUPDATES             #Enable FFS soft updates support
59239705Sadrian# options         UFS_ACL                 #Support for access control lists
60239705Sadrian# options         UFS_DIRHASH             #Improve performance on big directories
61266331Sian# options 	MSDOSFS			# Read MSDOS filesystems; useful for USB/CF
62239705Sadrian
63239705Sadriandevice		pci
64239705Sadriandevice		ar724x_pci
65239705Sadrian
66239705Sadrian# 802.11 framework
67266331Sianoptions 	IEEE80211_DEBUG
68266331Sianoptions 	IEEE80211_ALQ
69266331Sianoptions 	IEEE80211_SUPPORT_MESH
70266331Sianoptions 	IEEE80211_SUPPORT_SUPERG
71266331Sianoptions 	IEEE80211_SUPPORT_TDMA
72266331Sianoptions 	IEEE80211_AMPDU_AGE
73239758Sadrian#device		wlan            # 802.11 support
74239758Sadrian#device		wlan_wep        # 802.11 WEP support
75239758Sadrian#device		wlan_ccmp       # 802.11 CCMP support
76239758Sadrian#device		wlan_tkip       # 802.11 TKIP support
77239758Sadrian#device		wlan_xauth	# 802.11 hostap support
78239705Sadrian
79239705Sadrian# Atheros wireless NICs
80239758Sadrian#device		ath             # Atheros interface support
81239758Sadrian#device		ath_pci		# Atheros PCI/Cardbus bus
82239705Sadrianoptions 	ATH_DEBUG
83266331Sianoptions 	ATH_DIAGAPI
84266331Sianoptions 	ATH_ENABLE_11N
85266331Sianoptions 	AH_DEBUG
86266331Sianoptions 	AH_DEBUG_ALQ
87266331Sianoptions 	ALQ
88239758Sadrian#device		ath_hal
89239705Sadrianoption		AH_SUPPORT_AR5416
90239758Sadrian#device		ath_rate_sample
91239705Sadrianoption		AH_RXCFG_SDMAMW_4BYTES
92239705Sadrianoption		AH_AR5416_INTERRUPT_MITIGATION
93239705Sadrian# There's no DFS radar detection support yet so this won't actually
94239705Sadrian# detect radars.  It however does enable the rest of the channel change
95239705Sadrian# machinery so DFS can be debugged.
96239705Sadrianoption		ATH_ENABLE_DFS
97239705Sadrian
98239705Sadriandevice		mii
99239705Sadriandevice		arge
100239758Sadrianoptions 	ARGE_DEBUG	# Enable if_arge debugging for now
101239705Sadrian
102239758Sadrian#device		usb
103266331Sianoptions 	USB_EHCI_BIG_ENDIAN_DESC        # handle big-endian byte order
104266331Sianoptions 	USB_DEBUG
105266331Sianoptions 	USB_HOST_ALIGN=32		# AR724X (MIPS in general?) requires this
106239758Sadrian#device		ehci
107239705Sadrian
108239888Sadrian#device		umass
109239888Sadrian
110239705Sadriandevice		scbus
111239705Sadriandevice		da
112239705Sadrian
113239705Sadrian# On-board SPI flash
114239705Sadriandevice		spibus
115239705Sadriandevice		ar71xx_spi
116239705Sadriandevice		mx25l
117239705Sadriandevice		ar71xx_wdog
118239705Sadrian
119239705Sadriandevice		uart
120243177Sadriandevice		uart_ar71xx
121239705Sadrian
122239705Sadriandevice		loop
123239705Sadriandevice		ether
124239705Sadriandevice		md
125239705Sadriandevice		bpf
126239795Sadrian#device		random
127239758Sadrian#device		if_bridge
128239758Sadrian#device		gif		# ip[46] in ip[46] tunneling protocol
129239758Sadrian#device		gre		# generic encapsulation - only for IPv4 in IPv4 though atm
130239705Sadrian
131239705Sadrian# Enable GPIO
132239758Sadrian#device		gpio
133239758Sadrian#device		gpioled
134