summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoradrian <adrian@FreeBSD.org>2011-04-03 13:19:58 +0000
committeradrian <adrian@FreeBSD.org>2011-04-03 13:19:58 +0000
commit099ab0c9847292b9084d692f030827d7e3b9b427 (patch)
treec3783f175bd1a7633e37888ccc77bd6f49601418
parent0bf4a6b02b66b3ea3f888aff20fd933c01d2a9c7 (diff)
downloadFreeBSD-src-099ab0c9847292b9084d692f030827d7e3b9b427.zip
FreeBSD-src-099ab0c9847292b9084d692f030827d7e3b9b427.tar.gz
Commit configuration files for the AR913x SoC and the TP-Link WR-1043ND.
The AR91XX_BASE{,.hints} files define all the common parameters for the AR913x SoC systems. The TP-1043ND config file adds local parameters.
-rw-r--r--sys/mips/conf/AR91XX_BASE96
-rw-r--r--sys/mips/conf/AR91XX_BASE.hints52
-rw-r--r--sys/mips/conf/TP-WN1043ND30
-rw-r--r--sys/mips/conf/TP-WN1043ND.hints19
4 files changed, 197 insertions, 0 deletions
diff --git a/sys/mips/conf/AR91XX_BASE b/sys/mips/conf/AR91XX_BASE
new file mode 100644
index 0000000..9b3cf98
--- /dev/null
+++ b/sys/mips/conf/AR91XX_BASE
@@ -0,0 +1,96 @@
+#
+# AR91XX -- Kernel configuration base file for the Atheros AR913x SoC.
+#
+# This file (and the hints file accompanying it) are not designed to be
+# used by themselves. Instead, users of this file should create a kernel
+# config file which includes this file (which gets the basic hints), then
+# override the default options (adding devices as needed) and adding
+# hints as needed (for example, the GPIO and LAN PHY.)
+#
+# $FreeBSD$
+#
+
+machine mips mipseb
+ident AR91XX_BASE
+cpu CPU_MIPS4KC
+options ISA_MIPS32
+makeoptions KERNLOADADDR=0x80050000
+options HZ=1000
+
+files "../atheros/files.ar71xx"
+hints "AR91XX_BASE.hints"
+
+makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols
+makeoptions MODULES_OVERRIDE=""
+
+options DDB
+options KDB
+
+options SCHED_4BSD #4BSD scheduler
+options INET #InterNETworking
+options INET6 #InterNETworking
+options NFSCLIENT #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 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
+
+
+# Wireless NIC cards
+options IEEE80211_DEBUG
+options IEEE80211_SUPPORT_MESH
+options IEEE80211_SUPPORT_TDMA
+#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
+
+# This will come later -adrian
+#device ath # Atheros pci/cardbus NIC's
+options ATH_DEBUG
+options ATH_DIAGAPI
+options AH_DEBUG
+#device ath_hal
+option AH_SUPPORT_AR5416
+option AH_RXCFG_SDMAMW_4BYTES # See NOTES for details of this WAR
+option AH_NEED_DESC_SWAP # ?
+#device ath_rate_sample
+#device ath_ahb
+option AH_AR5416_INTERRUPT_MITIGATION
+
+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 # AR71XX (MIPS in general?) requires this
+device ehci
+
+device scbus
+device umass
+device da
+
+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
diff --git a/sys/mips/conf/AR91XX_BASE.hints b/sys/mips/conf/AR91XX_BASE.hints
new file mode 100644
index 0000000..4b5b47f
--- /dev/null
+++ b/sys/mips/conf/AR91XX_BASE.hints
@@ -0,0 +1,52 @@
+# This file (and the kernel config file accompanying it) are not designed
+# to be used by themselves. Instead, users of this file should create a
+# kernel # config file which includes this file (which gets the basic hints),
+# then override the default options (adding devices as needed) and adding
+# hints as needed (for example, the GPIO and LAN PHY.)
+
+# $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
+
+#ehci - note the 0x100 offset for the AR913x/AR724x
+hint.ehci.0.at="nexus0"
+hint.ehci.0.maddr=0x1b000100
+hint.ehci.0.msize=0x00ffff00
+hint.ehci.0.irq=1
+
+hint.arge.0.at="nexus0"
+hint.arge.0.maddr=0x19000000
+hint.arge.0.msize=0x1000
+hint.arge.0.irq=2
+
+hint.arge.1.at="nexus0"
+hint.arge.1.maddr=0x1a000000
+hint.arge.1.msize=0x1000
+hint.arge.1.irq=3
+
+hint.ath.0.at="nexus0"
+hint.ath.0.maddr=0x180c0000
+hint.ath.0.msize=0x30000
+hint.ath.0.irq=0
+# Set this to define where the ath calibration data
+# should be fetched from in physical memory.
+# hint.ath.0.eepromaddr=0x1fff1000
+
+# 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"
diff --git a/sys/mips/conf/TP-WN1043ND b/sys/mips/conf/TP-WN1043ND
new file mode 100644
index 0000000..cc68a31
--- /dev/null
+++ b/sys/mips/conf/TP-WN1043ND
@@ -0,0 +1,30 @@
+#
+# TP-1043ND -- Kernel configuration file for the TP-Link WR-1043ND
+#
+# $FreeBSD$
+#
+
+# Include the default AR913x parameters common to all AR913x SoC users.
+include "AR91XX_BASE"
+
+ident TP-WN1043ND
+
+# Override hints with board values
+hints "TP-WN1043ND.hints"
+
+# Force the board memory - 32mb
+options AR71XX_REALMEM=32*1024*1024
+
+# read MSDOS formatted disks - USB
+options MSDOSFS
+options GEOM_PART_BSD
+options GEOM_PART_MBR
+
+# Just make sure the thing boots off of the first attached SCSI device for now!
+#options ROOTDEVNAME=\"ufs:da0a\"
+# Or an MDROOT for testing.
+options MD_ROOT
+options MD_ROOT_SIZE=5120
+device geom_uzip
+options GEOM_UZIP
+options ROOTDEVNAME=\"ufs:/dev/md0.uzip\"
diff --git a/sys/mips/conf/TP-WN1043ND.hints b/sys/mips/conf/TP-WN1043ND.hints
new file mode 100644
index 0000000..e43d7b9
--- /dev/null
+++ b/sys/mips/conf/TP-WN1043ND.hints
@@ -0,0 +1,19 @@
+#
+# This file adds to the values in AR91XX_BASE.hints.
+#
+# $FreeBSD$
+
+# Hard-code the PHY for now, until there's switch phy support.
+hint.arge.0.phymask=0x000c
+hint.arge.0.media=1000
+hint.arge.0.fduplex=1
+# Where is the MAC address stored in flash for this particular unit.
+hint.arge.0.eeprommac=0x1f01fc00
+
+# This isn't used, but configure it anyway.
+# This should eventually just not be configured, but the if then
+# needs to be properly disabled or spurious interrupts occur.
+hint.arge.1.phymask=0x0
+
+# Where the ART is
+hint.ath.0.eepromaddr=0x1fff1000
OpenPOWER on IntegriCloud