diff options
-rw-r--r-- | sys/mips/conf/AP93 | 138 | ||||
-rw-r--r-- | sys/mips/conf/AP93.hints | 197 |
2 files changed, 335 insertions, 0 deletions
diff --git a/sys/mips/conf/AP93 b/sys/mips/conf/AP93 new file mode 100644 index 0000000..202a7cf --- /dev/null +++ b/sys/mips/conf/AP93 @@ -0,0 +1,138 @@ +# +# AP93 -- Kernel configuration file for FreeBSD/mips for Atheros AP93 reference +# board (AR7240) +# +# $FreeBSD$ +# + +ident AP93 + +# XXX The default load address in the Uboot environment is 0x80010000 +makeoptions KERNLOADADDR=0x80050000 +options HZ=1000 + +# The AP93 has 64mb of RAM; hard-code that +options AR71XX_REALMEM=64*1024*1024 + +# It's UBOOT, not Redboot - without this, things will hang at startup +options AR71XX_ENV_UBOOT + +makeoptions MODULES_OVERRIDE="ath ath_pci ath_ahb bridgestp if_bridge if_gif if_gre random wlan wlan_acl wlan_amrr wlan_ccmp wlan_rssadapt wlan_tkip wlan_wep wlan_xauth usb ar71xx" + +hints "AP93.hints" +include "../atheros/std.ar71xx" + +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 +# Can't do IPv6 - it just doesn't fit. +# options INET6 +# options NFSCL #Network Filesystem Client +options PSEUDOFS #Pseudo-filesystem framework +options _KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time extensions +options ALQ + +# Debugging for use in -current +options DEADLKRES +options INVARIANTS +options INVARIANT_SUPPORT +options WITNESS +options WITNESS_SKIPSPIN +options FFS #Berkeley Fast Filesystem + +# Support uncompress lzma rootfs +device geom_uncompress +options GEOM_UNCOMPRESS +options ROOTDEVNAME=\"ufs:/dev/map/rootfs.uncompress\" + +# PCI bus +device pci +device ar724x_pci +# Enable the AR71xx EEPROM PCI(e) workaround +options AR71XX_ATH_EEPROM + +# NVRAM U-Boot Environment -> Kernel environment +device nvram2env + +# Wireless NIC cards +options IEEE80211_DEBUG +options IEEE80211_SUPPORT_MESH +options IEEE80211_SUPPORT_TDMA +options IEEE80211_ALQ + +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 + +device ath # Atheros pci/cardbus NIC's +device ath_pci # PCI/PCIe bus glue +options ATH_DEBUG +options ATH_ENABLE_11N +options ATH_DIAGAPI +device firmware +options ATH_EEPROM_FIRMWARE + +device ath_hal +options AH_SUPPORT_AR5416 +options AH_DEBUG +options AH_DEBUG_ALQ + +device ath_rate_sample + +device mii +device arge +device miiproxy +options ARGE_DEBUG +options ARGE_MDIO +device etherswitch +device arswitch + +# USB devices - (todo: does AR7240 have OHCI, or just EHCI?) + +#device usb +options USB_EHCI_BIG_ENDIAN_DESC # handle big-endian byte order +options USB_DEBUG +options USB_HOST_ALIGN=32 +#device ehci + +# Mass storage +#device scbus +#device umass +#device da + +# Read MSDOS formatted disks +options GEOM_PART_BSD +options GEOM_PART_MBR +#options MSDOSFS + +# GPIO Bus +#device gpio +#device gpioled + +# SPI and flash +device spibus +device ar71xx_spi +device mx25l + +# The flash is statically partitioned; add in that +device geom_map + +device ar71xx_wdog + +# Serial +device uart + +# Network twiddling +device loop +device ether +device md +device bpf +device random +device if_bridge diff --git a/sys/mips/conf/AP93.hints b/sys/mips/conf/AP93.hints new file mode 100644 index 0000000..1e8f0ce --- /dev/null +++ b/sys/mips/conf/AP93.hints @@ -0,0 +1,197 @@ +# $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 + +# 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.at="nexus0" +hint.arge.1.maddr=0x1A000000 +hint.arge.1.msize=0x1000 +hint.arge.1.irq=3 + +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 +# +# XXX TODO - have the AR7240 switch auto-detect correctly? +# XXX It detects as an AR8216, which isn't strictly true! +# +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 + +# 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 + +# pci +hint.pcib.0.at="nexus0" +hint.pcib.0.irq=0 + +# ath +hint.ath.0.eeprom_firmware="pcib.0.bus.0.0.0.eeprom_firmware" + +# GPIO +hint.gpio.0.at="apb0" +hint.gpio.0.maddr=0x18040000 +hint.gpio.0.msize=0x1000 +hint.gpio.0.irq=2 + +# 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 + +# SPI controller/bus +hint.spi.0.at="nexus0" +hint.spi.0.maddr=0x1f000000 +hint.spi.0.msize=0x10 + +# SPI flash +hint.mx25l.0.at="spibus0" +hint.mx25l.0.cs=0 + +# Watchdog +hint.ar71xx_wdog.0.at="nexus0" + +# 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 AP93 environment: +# +# 256k - uboot +# 256k - uboot-env +# 3072k - spare-rootfs +# 1024k - spare-uImage +# 3072k - rootfs +# 1024k - uImage +# 64k - mib0 +# 64k - mib1 +# 4096k - ct +# 3392k - var +# 64k - ART + +# To make it useful for FreeBSD for now, treat spare rootfs, spare +# uimage and rootfs as 'rootfs'. + +hint.map.0.at="flash/spi0" +hint.map.0.start=0x00000000 +hint.map.0.end=0x00040000 +hint.map.0.name="uboot" +hint.map.0.readonly=1 + +hint.map.1.at="flash/spi0" +hint.map.1.start=0x00040000 +hint.map.1.end=0x00080000 +hint.map.1.name="uboot-env" +hint.map.1.readonly=1 + +hint.map.2.at="flash/spi0" +hint.map.2.start=0x00080000 +# hint.map.2.end=0x00380000 +hint.map.2.end=0x00780000 +# hint.map.2.name="spare-rootfs" +hint.map.2.name="rootfs" +hint.map.2.readonly=1 + +#hint.map.3.at="flash/spi0" +#hint.map.3.start=0x00380000 +#hint.map.3.end=0x00480000 +#hint.map.3.name="spare-uImage" +#hint.map.3.readonly=1 + +#hint.map.4.at="flash/spi0" +#hint.map.4.start=0x00480000 +#hint.map.4.end=0x00780000 +#hint.map.4.name="rootfs" +#hint.map.4.readonly=1 + +hint.map.3.at="flash/spi0" +hint.map.3.start=0x00780000 +hint.map.3.end=0x00880000 +hint.map.3.name="uImage" +hint.map.3.readonly=1 + +hint.map.4.at="flash/spi0" +hint.map.4.start=0x00880000 +hint.map.4.end=0x00890000 +hint.map.4.name="mib0" +hint.map.4.readonly=1 + +hint.map.5.at="flash/spi0" +hint.map.5.start=0x00890000 +hint.map.5.end=0x008a0000 +hint.map.5.name="mib1" +hint.map.5.readonly=1 + +hint.map.6.at="flash/spi0" +hint.map.6.start=0x008a0000 +hint.map.6.end=0x00ca0000 +hint.map.6.name="ct" +hint.map.6.readonly=1 + +hint.map.7.at="flash/spi0" +hint.map.7.start=0x00ca0000 +hint.map.7.end=0x00ff0000 +hint.map.7.name="var" +hint.map.7.readonly=1 + +hint.map.8.at="flash/spi0" +hint.map.8.start=0x00ff0000 +hint.map.8.end=0x01000000 # 64k ART +hint.map.8.name="ART" +hint.map.8.readonly=1 + |