Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 12 May 2012 04:52:59 +0000 (UTC)
From:      Adrian Chadd <adrian@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r235320 - head/sys/mips/conf
Message-ID:  <201205120452.q4C4qxdg016214@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: adrian
Date: Sat May 12 04:52:59 2012
New Revision: 235320
URL: http://svn.freebsd.org/changeset/base/235320

Log:
  Add in the AP93 configuration file.
  
  The AP93 has:
  
  * AR7240 - mips24k processor with integrated 10/100 switch and
    various other peripherals;
  * AR9283 - 2x2 2.4GHz 802.11n (with calibration data in flash);
  * 64MB RAM;
  * 16MB SPI flash.
  
  The switch code detects as an AR8216 at the present moment, which isn't
  _entirely_ strictly true.  However, the MII/MDIO routing in AP93.hints
  works - the arge0 MAC connects to PHY4 in the switch, but via the
  switch internal MDIO bus.  The switch connects to arge0's MDIO bus,
  but only to export the switch registers.
  
  Thanks to stb and ray for the switch work, and ray for helping determine
  what the correct switch hints should be for this thing.

Added:
  head/sys/mips/conf/AP93   (contents, props changed)
  head/sys/mips/conf/AP93.hints   (contents, props changed)

Added: head/sys/mips/conf/AP93
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sys/mips/conf/AP93	Sat May 12 04:52:59 2012	(r235320)
@@ -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

Added: head/sys/mips/conf/AP93.hints
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sys/mips/conf/AP93.hints	Sat May 12 04:52:59 2012	(r235320)
@@ -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
+



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201205120452.q4C4qxdg016214>