summaryrefslogtreecommitdiffstats
path: root/sys/mips/conf
diff options
context:
space:
mode:
authoradrian <adrian@FreeBSD.org>2012-08-29 01:08:36 +0000
committeradrian <adrian@FreeBSD.org>2012-08-29 01:08:36 +0000
commit3227d08f4221f399f157d7cda38154c158e57985 (patch)
treeb7838e63a64f6cb6c74da07dc5204873f1572f1f /sys/mips/conf
parent51a27e09d57ff78420eb2cd141685af3249c9aef (diff)
downloadFreeBSD-src-3227d08f4221f399f157d7cda38154c158e57985.zip
FreeBSD-src-3227d08f4221f399f157d7cda38154c158e57985.tar.gz
Bring over a configuration for the Atheros AP91 reference board.
This has an AR7240 SoC with an AR9285 wireless NIC on-board. Since the kernel partition on the 4MiB flash is 960KiB, quite a bit is disabled to try and squeeze the build into that. Even lzma'ed, it's still quite large.
Diffstat (limited to 'sys/mips/conf')
-rw-r--r--sys/mips/conf/AP9164
-rw-r--r--sys/mips/conf/AP91.hints103
2 files changed, 167 insertions, 0 deletions
diff --git a/sys/mips/conf/AP91 b/sys/mips/conf/AP91
new file mode 100644
index 0000000..c1c2077
--- /dev/null
+++ b/sys/mips/conf/AP91
@@ -0,0 +1,64 @@
+#
+# Specific board setup for the Atheros AP91 reference board.
+#
+# The AP91 has the following hardware:
+#
+# + AR7241 CPU SoC
+# + AR9287 Wifi
+# + Integrated switch (XXX speed?)
+# + 4MB flash
+# + 16MB RAM
+# + uboot environment
+
+# $FreeBSD$
+
+include "AR724X_BASE"
+ident "AP91"
+hints "AP91.hints"
+
+options AR71XX_REALMEM=16*1024*1024
+
+options AR71XX_ENV_UBOOT
+
+# Limit inlines
+makeoptions INLINE_LIMIT=768
+
+# We bite the performance overhead for now; the kernel won't
+# fit if the mutexes are inlined.
+options MUTEX_NOINLINE
+options RWLOCK_NOINLINE
+options SX_NOINLINE
+
+# There's no need to enable swapping on this platform.
+options NO_SWAPPING
+
+# For DOS - enable if required
+# options MSDOSFS
+
+# uncompress - to boot read-only lzma natively from flash
+device geom_uncompress
+options GEOM_UNCOMPRESS
+options ROOTDEVNAME=\"ufs:/dev/map/rootfs.uncompress\"
+
+# Not enough space for these..
+nooptions INVARIANTS
+nooptions INVARIANT_SUPPORT
+nooptions WITNESS
+nooptions WITNESS_SKIPSPIN
+nooptions DEBUG_REDZONE
+nooptions DEBUG_MEMGUARD
+
+# Used for the static uboot partition map
+device geom_map
+
+# Options needed for the EEPROM based calibration/PCI configuration data.
+options AR71XX_ATH_EEPROM # Fetch EEPROM/PCI config from flash
+options ATH_EEPROM_FIRMWARE # Use EEPROM from flash
+device firmware # Used by the above
+
+# Options required for miiproxy and mdiobus
+options ARGE_MDIO # Export an MDIO bus separate from arge
+device miiproxy # MDIO bus <-> MII PHY rendezvous
+
+device etherswitch
+device arswitch
diff --git a/sys/mips/conf/AP91.hints b/sys/mips/conf/AP91.hints
new file mode 100644
index 0000000..803bbc2
--- /dev/null
+++ b/sys/mips/conf/AP91.hints
@@ -0,0 +1,103 @@
+# $FreeBSD$
+
+# arge0 MDIO bus
+hint.argemdio.0.at="nexus0"
+hint.argemdio.0.maddr=0x19000000
+hint.argemdio.0.msize=0x1000
+hint.argemdio.0.order=0
+
+# arge1 MDIO bus doesn't exist on the AR7240
+
+# arge0: MII; dedicated PHY 4 on switch, connected via internal switch
+# MDIO bus.
+
+hint.arge.0.at="nexus0"
+hint.arge.0.maddr=0x19000000
+hint.arge.0.msize=0x1000
+hint.arge.0.irq=2
+# hint.arge.0.eeprommac=0x83fe9ff0
+hint.arge.0.phymask=0x10 # PHY 4
+# hint.arge.0.miimode=2 # MII
+hint.arge.0.mdio=mdioproxy1 # Hanging off the arswitch MDIO bus
+
+# arge1: connected to the LAN switch MAC, at 1000BaseTX / GMII.
+
+hint.arge.1.phymask=0x0
+# hint.arge.1.miimode=1 # GMII
+hint.arge.1.media=1000 # Force to 1000BaseTX/full
+hint.arge.1.fduplex=1
+
+#
+# AR7240 switch config
+#
+hint.arswitch.0.is_7240=1 # We need to be explicitly told this
+hint.arswitch.0.numphys=4 # 4 active switch PHYs (PHY 0 -> 3)
+hint.arswitch.0.phy4cpu=1 # Yes, PHY 4 == dedicated PHY
+hint.arswitch.0.is_rgmii=0 # No, not RGMII
+hint.arswitch.0.is_gmii=0 # No, not GMII
+
+# ath0 hint - pcie slot 0
+hint.pcib.0.bus.0.0.0.ath_fixup_addr=0x1fff1000
+hint.pcib.0.bus.0.0.0.ath_fixup_size=4096
+
+# ath
+hint.ath.0.eeprom_firmware="pcib.0.bus.0.0.0.eeprom_firmware"
+
+# Signal leds
+hint.gpioled.0.at="gpiobus0"
+hint.gpioled.0.name="sig1"
+hint.gpioled.0.pins=0x0001 # pin 0
+hint.gpioled.1.at="gpiobus0"
+hint.gpioled.1.name="sig2"
+hint.gpioled.1.pins=0x0002 # pin 1
+hint.gpioled.2.at="gpiobus0"
+hint.gpioled.2.name="sig3"
+hint.gpioled.2.pins=0x0800 # pin 11
+hint.gpioled.3.at="gpiobus0"
+hint.gpioled.3.name="sig4"
+hint.gpioled.3.pins=0x0080 # pin 7
+
+# nvram mapping - XXX ?
+hint.nvram.0.base=0x1f030000
+hint.nvram.0.maxsize=0x2000
+hint.nvram.0.flags=3 # 1 = No check, 2 = Format Generic
+hint.nvram.1.base=0x1f032000
+hint.nvram.1.maxsize=0x4000
+hint.nvram.1.flags=3 # 1 = No check, 2 = Format Generic
+
+# GEOM_MAP
+#
+# From my AP91 environment:
+#
+# mtdparts=ar7240-nor0:256k(u-boot),64k(u-boot-env),2752k(rootfs),
+# 960k(uImage),64k(ART)
+
+hint.map.0.at="flash/spi0"
+hint.map.0.start=0x00000000
+hint.map.0.end=0x00040000 # 256k u-boot
+hint.map.0.name="u-boot"
+hint.map.0.readonly=1
+
+hint.map.1.at="flash/spi0"
+hint.map.1.start=0x00040000
+hint.map.1.end=0x00050000 # 64k u-boot-env
+hint.map.1.name="u-boot-env"
+hint.map.1.readonly=0
+
+hint.map.2.at="flash/spi0"
+hint.map.2.start=0x00050000
+hint.map.2.end=0x00300000 # 2752k rootfs
+hint.map.2.name="rootfs"
+hint.map.2.readonly=1
+
+hint.map.3.at="flash/spi0"
+hint.map.3.start=0x00300000
+hint.map.3.end=0x003f0000 # 896k uImage
+hint.map.3.name="uImage"
+hint.map.3.readonly=1
+
+hint.map.4.at="flash/spi0"
+hint.map.4.start=0x003f0000
+hint.map.4.end=0x00400000 # 64k ART
+hint.map.4.name="ART"
+hint.map.4.readonly=1
OpenPOWER on IntegriCloud