Add device PicoStation M2HP support.

This is a nice small outdoor/indoor AP from Ubiquity Networks.

The device has:
AR7241 CPU SoC
AR9287 Wifi
8MB flash
32MB RAM

wifi has been tested to work along with leds.

Submitted by:   loos
Approved by:    sbruno (mentor, implicit)
Tested by:      hiren
This commit is contained in:
Hiren Panchasara 2013-08-30 20:46:01 +00:00
parent 510739cc24
commit 631f16444a
2 changed files with 171 additions and 0 deletions

View File

@ -0,0 +1,68 @@
#
# Specific board setup for the Picostation M2 HP board.
#
# This board has the following hardware:
#
# + AR7241 CPU SoC
# + AR9287 Wifi
# + Integrated switch (XXX speed?)
# + 8MB flash
# + 32MB RAM
# + uboot environment
# $FreeBSD$
include "AR724X_BASE"
ident "PICOSTATION_M2HP"
hints "PICOSTATION_M2HP.hints"
options AR71XX_REALMEM=32*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
# Enable GPIO
device gpio
device gpioled

View File

@ -0,0 +1,103 @@
# $FreeBSD$
# arge1 MDIO bus
hint.argemdio.0.at="nexus0"
hint.argemdio.0.maddr=0x1a000000
hint.argemdio.0.msize=0x1000
hint.argemdio.0.order=0
# Override MAC Address with the one on EEPROM
hint.arge.0.eeprommac=0x1fff0000
# arge0: dedicated switch port; RMII; dedicated PHY 4 on switch, connected
# via internal switch MDIO bus.
hint.arge.0.media=100 # Map to 100/full
hint.arge.0.fduplex=1 #
hint.arge.0.phymask=0x10 # PHY4
hint.arge.0.mdio=mdioproxy1 # .. off of the switch mdiobus
# arge1: nail to 1000/full, RMII - connected to the switch
hint.arge.1.media=1000 # Map to 1000/full
hint.arge.1.fduplex=1 #
hint.arge.1.phymask=0x0 # no directly mapped PHYs
#
# AR7240 switch config
#
hint.arswitch.0.at="mdio0"
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"
# GPIO pins
# Pin 0: red led (sig1)
# Pin 1: yellow led (sig2)
# Pin 11: green len (sig3)
# Pin 7: green len (sig4)
# Pin 12: Reset switch
hint.gpio.0.pinmask=0x1883
# 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
# GEOM_MAP
#
# Picostation M2 HP
#
# mtdparts=ar7240-nor0:256k(u-boot),64k(u-boot-env),1024k(kernel),6528k(rootfs),256k(cfg),64k(EEPROM)
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=1
hint.map.2.at="flash/spi0"
hint.map.2.start=0x00050000
hint.map.2.end=0x00130000 # 896k kernel
hint.map.2.name="kernel"
hint.map.2.readonly=1
hint.map.3.at="flash/spi0"
hint.map.3.start=0x130000
hint.map.3.end=0x007b0000 # 6656k rootfs
hint.map.3.name="rootfs"
hint.map.3.readonly=0
hint.map.4.at="flash/spi0"
hint.map.4.start=0x007b0000
hint.map.4.end=0x007f0000 # 256k cfg
hint.map.4.name="cfg"
hint.map.4.readonly=0
hint.map.5.at="flash/spi0"
hint.map.5.start=0x007f0000
hint.map.5.end=0x00800000 # 64k EEPROM
hint.map.5.name="eeprom"
hint.map.5.readonly=1