Update ARC Freestation profile.

These devices are actually built around the 8devices Carambola dev board.

ARC FreeStation, Flex mARC, iFlex, and SplitStation devices are
supported with this image, see "ARCFlex Firmware Downloads":
http://www.antennas.com/wiki/index.php?title=ARC-OS_Firmware_Downloads_and_Revision_History

Funnily enough if present the external USB wlan ends up being wlan-0, with the
SoC device being wlan-1.

- Invert port map so special handling of vlan config can be removed.
- Add LED config similar to original ArcOS firmware.
- Add GPIO export for enabling PoE passthrough from ethernet port 0 to port 1
- Get MACs from factory partition.
- Update description to list supported devices.
- Carambola uses RT3050 (not RT3052), though my Carambola CPU
  actually reports itself as being an RT3350 while still having
  RT3050F markings.

Depends on the gpio-export patch to correctly set the sysfs default for 
active_low,
but will otherwise work and apply fine without it (in which case the active_low
devicetree setting is just silently ignored).

Signed-off-by: Tobias Diedrich <ranma+open...@tdiedrich.de>

--- a/target/linux/ramips/base-files/etc/uci-defaults/02_network
+++ b/target/linux/ramips/base-files/etc/uci-defaults/02_network
@@ -121,7 +121,6 @@ ramips_setup_interfaces()
                ucidef_add_switch_vlan "switch0" "2" "0t 5"
                ;;
 
-       freestation5 | \
        wcr-150gn)
                ucidef_set_interfaces_lan_wan "eth0.2" "eth0.1"
                ;;
@@ -242,6 +241,7 @@ ramips_setup_macs()
 
        all0239-3g | \
        carambola | \
+       freestation5 | \
        w502u)
                lan_mac=$(mtd_get_mac_binary factory 40)
                wan_mac=$(mtd_get_mac_binary factory 46)
--- a/target/linux/ramips/rt305x/profiles/freestation5.mk
+++ b/target/linux/ramips/rt305x/profiles/freestation5.mk
@@ -12,7 +12,7 @@ define Profile/FREESTATION5
 endef
 
 define Profile/FREESTATION5/Description
-       Package set for ARC Flex FreeStation5
+       Package set for ARC FreeStation, Flex mARC, iFlex, and SplitStation
 endef
 
 $(eval $(call Profile,FREESTATION5))
--- a/target/linux/ramips/dts/FREESTATION5.dts
+++ b/target/linux/ramips/dts/FREESTATION5.dts
@@ -5,7 +5,7 @@
 / {
        #address-cells = <1>;
        #size-cells = <1>;
-       compatible = "FREESTATION5", "ralink,rt3052-soc";
+       compatible = "FREESTATION5", "ralink,rt3050-soc";
        model = "ARC FreeStation5";
 
        memorydetect {
@@ -16,6 +16,18 @@
                bootargs = "console=ttyS0,115200 
mtdparts=1f000000.cfi:192k(u-boot)ro,64k(u-boot-env)ro,64k(factory)ro,7872k@0x50000(firmware)";
        };
 
+       palmbus@10000000 {
+               sysc@0 {
+                       ralink,pinmux = "i2c", "spi", "uartlite", "jtag", 
"mdio", "sdram", "rgmii";
+                       ralink,uartmux = "gpio";
+                       ralink,wdtmux = <1>;
+               };
+
+               gpio0: gpio@600 {
+                       status = "okay";
+               };
+       };
+
        cfi@1f000000 {
                compatible = "cfi-flash";
                reg = <0x1f000000 0x800000>;
@@ -32,7 +44,7 @@
 
        esw@10110000 {
                status = "okay";
-               ralink,portmap = <0x3e>;
+               ralink,portmap = <0x01>;
        };
 
        wmac@10180000 {
@@ -42,4 +54,33 @@
        otg@101c0000 {
                status = "okay";
        };
+
+       gpio-export {
+               compatible = "gpio-export";
+               // Used to enable power-over-ethernet passthrough from port0 to 
port1.
+               // Disable passthrough by default to prevent accidental 
equipment damage.
+               poe {
+                       gpio-export,name = "poe-passthrough";
+                       gpio-export,output = <1>; // OUT_INIT_HIGH
+                       gpios = <&gpio0 11 1>;    // GPIO 11, ACTIVE_LOW
+               };
+       };
+
+       gpio-leds {
+               compatible = "gpio-leds";
+               // The following leds are defined in the ArcOS firmware, but 
reportedly
+               // not present in the Freestation5 device.
+               wifi {
+                       label = "freestation:unknown:wifi";
+                       gpios = <&gpio0 7 1>;
+               };
+               powerg {
+                       label = "freestation:unknown:powerg";
+                       gpios = <&gpio0 9 1>;
+               };
+               usb {
+                       label = "freestation:unknown:usb";
+                       gpios = <&gpio0 14 1>;
+               };
+       };
 };

-- 
Tobias                                          PGP: http://8ef7ddba.uguu.de
_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to