summaryrefslogtreecommitdiffstats
path: root/sys/mips/conf
diff options
context:
space:
mode:
authoradrian <adrian@FreeBSD.org>2012-08-26 04:36:59 +0000
committeradrian <adrian@FreeBSD.org>2012-08-26 04:36:59 +0000
commite5d6adf01919f70df5f45eed8dd67a5a1212b476 (patch)
treed937243cb6873ef95b9556e34ece3e746c4f0088 /sys/mips/conf
parent50719b56d9ce8d7d4beb53b16e9edb2e9a4a7a18 (diff)
downloadFreeBSD-src-e5d6adf01919f70df5f45eed8dd67a5a1212b476.zip
FreeBSD-src-e5d6adf01919f70df5f45eed8dd67a5a1212b476.tar.gz
Create a skeleton AR724x SoC board configuration for use by AR724x devices.
Diffstat (limited to 'sys/mips/conf')
-rw-r--r--sys/mips/conf/AR724X_BASE125
-rw-r--r--sys/mips/conf/AR724X_BASE.hints66
2 files changed, 191 insertions, 0 deletions
diff --git a/sys/mips/conf/AR724X_BASE b/sys/mips/conf/AR724X_BASE
new file mode 100644
index 0000000..1fc1d67
--- /dev/null
+++ b/sys/mips/conf/AR724X_BASE
@@ -0,0 +1,125 @@
+#
+# AR724X -- Kernel configuration file for FreeBSD/MIPS for Atheros 724x systems
+#
+# This includes all the common drivers for the AR724x boards along with
+# the usb, net80211 and atheros driver code.
+#
+# $FreeBSD$
+#
+
+machine mips mips
+ident AR724X_BASE
+cpu CPU_MIPS4KC
+makeoptions KERNLOADADDR=0x80050000
+options HZ=1000
+options HWPMC_HOOKS
+
+files "../atheros/files.ar71xx"
+
+# For now, hints are per-board.
+
+hints "AR724X_BASE.hints"
+
+makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols
+
+# Build these as modules so small platform builds will have the
+# modules already built.
+makeoptions 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"
+
+options DDB
+options KDB
+
+options SCHED_4BSD #4BSD scheduler
+options INET #InterNETworking
+options INET6 # IPv6
+
+# options NFS_CL #Network Filesystem Client
+
+options PSEUDOFS #Pseudo-filesystem framework
+options _KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time extensions
+
+# options NFS_LEGACYRPC
+# Debugging for use in -current
+options INVARIANTS
+options INVARIANT_SUPPORT
+options WITNESS
+options WITNESS_SKIPSPIN
+options DEBUG_REDZONE
+options DEBUG_MEMGUARD
+
+options FFS #Berkeley Fast Filesystem
+# options SOFTUPDATES #Enable FFS soft updates support
+# options UFS_ACL #Support for access control lists
+# options UFS_DIRHASH #Improve performance on big directories
+# options MSDOSFS # Read MSDOS filesystems; useful for USB/CF
+
+device pci
+device ar724x_pci
+
+# 802.11 framework
+options IEEE80211_DEBUG
+options IEEE80211_ALQ
+options IEEE80211_SUPPORT_MESH
+# This option is currently broken for if_ath_tx.
+options IEEE80211_SUPPORT_TDMA
+options IEEE80211_AMPDU_AGE
+device wlan # 802.11 support
+device wlan_wep # 802.11 WEP support
+device wlan_ccmp # 802.11 CCMP support
+device wlan_tkip # 802.11 TKIP support
+device wlan_xauth # 802.11 hostap support
+
+# Atheros wireless NICs
+device ath # Atheros interface support
+device ath_pci # Atheros PCI/Cardbus bus
+options ATH_DEBUG
+options ATH_DIAGAPI
+options ATH_ENABLE_11N
+options AH_DEBUG
+options AH_DEBUG_ALQ
+options ALQ
+device ath_hal
+option AH_SUPPORT_AR5416
+device ath_rate_sample
+option AH_RXCFG_SDMAMW_4BYTES
+option AH_AR5416_INTERRUPT_MITIGATION
+# There's no DFS radar detection support yet so this won't actually
+# detect radars. It however does enable the rest of the channel change
+# machinery so DFS can be debugged.
+option ATH_ENABLE_DFS
+
+device mii
+device arge
+
+device usb
+options USB_EHCI_BIG_ENDIAN_DESC # handle big-endian byte order
+options USB_DEBUG
+options USB_HOST_ALIGN=32 # AR724X (MIPS in general?) requires this
+device ehci
+
+device scbus
+device umass
+device da
+
+# On-board SPI flash
+device spibus
+device ar71xx_spi
+device mx25l
+device ar71xx_wdog
+
+device uart
+
+device loop
+device ether
+device md
+device bpf
+device random
+device if_bridge
+device gif # ip[46] in ip[46] tunneling protocol
+device gre # generic encapsulation - only for IPv4 in IPv4 though atm
+
+options ARGE_DEBUG # Enable if_arge debugging for now
+
+# Enable GPIO
+device gpio
+device gpioled
diff --git a/sys/mips/conf/AR724X_BASE.hints b/sys/mips/conf/AR724X_BASE.hints
new file mode 100644
index 0000000..3863528
--- /dev/null
+++ b/sys/mips/conf/AR724X_BASE.hints
@@ -0,0 +1,66 @@
+#
+# $FreeBSD$
+#
+hint.apb.0.at="nexus0"
+hint.apb.0.irq=4
+
+# uart0
+hint.uart.0.at="apb0"
+# see atheros/uart_cpu_ar71xx.c why +3
+hint.uart.0.maddr=0x18020003
+hint.uart.0.msize=0x18
+hint.uart.0.irq=3
+
+#ohci
+hint.ohci.0.at="apb0"
+hint.ohci.0.maddr=0x1c000000
+hint.ohci.0.msize=0x01000000
+hint.ohci.0.irq=6
+
+#ehci
+hint.ehci.0.at="nexus0"
+hint.ehci.0.maddr=0x1b000100
+hint.ehci.0.msize=0x01000000
+hint.ehci.0.irq=1
+
+# pci
+hint.pcib.0.at="nexus0"
+hint.pcib.0.irq=0
+
+hint.arge.0.at="nexus0"
+hint.arge.0.maddr=0x19000000
+hint.arge.0.msize=0x1000
+hint.arge.0.irq=2
+
+# phymask, media and fduplex depend upon the specific
+# board.
+# So each board will override the settings as needed.
+
+hint.arge.1.at="nexus0"
+hint.arge.1.maddr=0x1a000000
+hint.arge.1.msize=0x1000
+hint.arge.1.irq=3
+
+# SPI flash
+hint.spi.0.at="nexus0"
+hint.spi.0.maddr=0x1f000000
+hint.spi.0.msize=0x10
+
+hint.mx25l.0.at="spibus0"
+hint.mx25l.0.cs=0
+
+# Watchdog
+hint.ar71xx_wdog.0.at="nexus0"
+
+# GPIO
+hint.gpio.0.at="apb0"
+hint.gpio.0.maddr=0x18040000
+hint.gpio.0.msize=0x1000
+hint.gpio.0.irq=2
+
+# Each board should override the GPIO bus pins with the configuration
+# relevant to it. Thus no pins are defined here.
+
+# hwpmc device
+hint.ar71xx_pmc.0.at="apb0"
+hint.ar71xx_pmc.0.irq=5
OpenPOWER on IntegriCloud