ramips: add Poray X5/X6 Support
authorJohn Crispin <john@openwrt.org>
Thu, 1 Aug 2013 14:31:04 +0000 (14:31 +0000)
committerJohn Crispin <john@openwrt.org>
Thu, 1 Aug 2013 14:31:04 +0000 (14:31 +0000)
Signed-off-by: Felix Kaechele <heffer@fedoraproject.org>
SVN-Revision: 37638

target/linux/ramips/base-files/etc/diag.sh
target/linux/ramips/base-files/etc/uci-defaults/02_network
target/linux/ramips/base-files/lib/preinit/06_set_iface_mac
target/linux/ramips/base-files/lib/ramips.sh
target/linux/ramips/base-files/lib/upgrade/platform.sh
target/linux/ramips/dts/X5.dts [new file with mode: 0644]
target/linux/ramips/image/Makefile
target/linux/ramips/rt305x/profiles/poray.mk

index 57c8beb6c271d881c1ef77617bfa86e9294cb921..d04d990665776738b31661bb3ef3435992b0eae6 100755 (executable)
@@ -138,6 +138,9 @@ get_status_led() {
        ur-336un)
                status_led="ur336:green:wps"
                ;;
+       x5)
+               status_led="x5:green:power"
+               ;;
        xdxrn502j)
                status_led="xdxrn502j:green:power"
                ;;
index 133c2decb9a031c0f4e8d264e5613c684ceb785d..fa5b28ea95c7b01837ec82b00905d7de3c7fbfbb 100755 (executable)
@@ -227,7 +227,8 @@ ramips_setup_macs()
                ;;
 
        m3 |\
-       m4)
+       m4 |\
+       x5)
                lan_mac=$(mtd_get_mac_binary factory 4)
                lan_mac=$(macaddr_add "$lan_mac" -1)
                ;;
index f9aabd5c4e81e853ffa081f5507e4f2d87ea5bde..30732339f13070d68c446d1e1a53bce2a8063f64 100644 (file)
@@ -76,7 +76,8 @@ preinit_set_mac_address() {
                ifconfig eth0 hw ether $mac 2>/dev/null
                ;;
        m3 |\
-       m4)
+       m4 |\
+       x5)
                mac=$(mtd_get_mac_binary factory 4)
                mac=$(macaddr_add "$mac" -1)
                ifconfig eth0 hw ether $mac 2>/dev/null
index e3776f1304d2d641f088820d5d09d90dad0b4034..1bf93e30bfe010b04a45cfb9149e37c650df691a 100755 (executable)
@@ -154,6 +154,9 @@ ramips_board_detect() {
        *"Poray M4")
                name="m4"
                ;;
+       *"Poray X5")
+               name="x5"
+               ;;
        *"PWH2004")
                name="pwh2004"
                ;;
index 5e1a7a5651ed10ac734a9c024ee8c9ebfc8e6077..4b80afa966f9c13aa08b073f36959d3a9c43c729 100755 (executable)
@@ -75,7 +75,8 @@ platform_check_image() {
        whr-g300n |\
        ur-326n4g |\
        ur-336un |\
-       wr512-3gn)
+       wr512-3gn |\
+       x5)
                [ "$magic" != "27051956" ] && {
                        echo "Invalid image type."
                        return 1
diff --git a/target/linux/ramips/dts/X5.dts b/target/linux/ramips/dts/X5.dts
new file mode 100644 (file)
index 0000000..d9e9632
--- /dev/null
@@ -0,0 +1,133 @@
+/dts-v1/;
+
+/include/ "rt5350.dtsi"
+
+/ {
+       compatible = "X5", "ralink,rt5350-soc";
+       model = "Poray X5";
+
+       palmbus@10000000 {
+               sysc@0 {
+                       ralink,pinmux = "i2c", "spi", "uartlite", "mdio", "sdram", "rgmii";
+                       ralink,gpiomux = "jtag";
+                       ralink,uartmux = "gpio";
+                       ralink,wdtmux = <1>;
+               };
+
+               gpio0: gpio@600 {
+                       status = "okay";
+               };
+
+               spi@b00 {
+                       status = "okay";
+                       m25p80@0 {
+                               #address-cells = <1>;
+                               #size-cells = <1>;
+                               compatible = "gd25q64";
+                               reg = <0 0>;
+                               linux,modalias = "m25p80", "gd25q64";
+                               spi-max-frequency = <10000000>;
+
+                               partition@0 {
+                                       label = "u-boot";
+                                       reg = <0x0 0x30000>;
+                                       read-only;
+                               };
+
+                               partition@30000 {
+                                       label = "u-boot-env";
+                                       reg = <0x30000 0x10000>;
+                                       read-only;
+                               };
+
+                               factory: partition@40000 {
+                                       label = "factory";
+                                       reg = <0x40000 0x10000>;
+                                       read-only;
+                               };
+
+                               partition@50000 {
+                                       label = "firmware";
+                                       reg = <0x50000 0x7b0000>;
+                               };
+                       };
+               };
+       };
+
+       ethernet@10100000 {
+               status = "okay";
+       };
+
+       esw@10110000 {
+               status = "okay";
+               ralink,portmap = <0x2f>;
+               ralink,led_polarity = <1>;
+       };
+
+       gpio-leds {
+               compatible = "gpio-leds";
+               power {
+                       label = "x5:green:power";
+                       gpios = <&gpio0 13 1>;
+               };
+               20 {
+                       label = "x5:green:20";
+                       gpios = <&gpio0 12 1>;
+               };
+               50 {
+                       label = "x5:green:50";
+                       gpios = <&gpio0 11 1>;
+               };
+               80 {
+                       label = "x5:green:80";
+                       gpios = <&gpio0 7 1>;
+               };
+       };
+
+       gpio-keys-polled {
+               compatible = "gpio-keys-polled";
+               #address-cells = <1>;
+               #size-cells = <0>;
+               poll-interval = <20>;
+               bat {
+                       label = "bat";
+                       gpios = <&gpio0 9 1>;
+                       linux,code = <0x211>;
+               };
+               reset {
+                       label = "reset";
+                       gpios = <&gpio0 10 1>;
+                       linux,code = <0x198>;
+               };
+               mode {
+                       label = "mode";
+                       gpios = <&gpio0 14 1>;
+                       linux,code = <0x100>;
+                       linux,input-type = <5>;
+               };
+       };
+
+       gpio_export {
+               compatible = "gpio-export";
+               #size-cells = <0>;
+               usb-mode {
+                       gpio-export,name = "usb-mode";
+                       gpio-export,output = <0>;
+                       gpios = <&gpio0 18 0>;
+               };
+       };
+
+       wmac@10180000 {
+               status = "okay";
+               ralink,mtd-eeprom = <&factory 0>;
+               ralink,led-polarity = <1>;
+       };
+
+       ehci@101c0000 {
+               status = "okay";
+       };
+
+       ohci@101c1000 {
+               status = "okay";
+       };
+};
index 68343e3fdde011c27052a77149f82614cb816dc1..0a099b2d3725d1e0cf7b8f5e87fad9d2cda3d904 100644 (file)
@@ -477,6 +477,8 @@ Image/Build/Profile/UR-336UN=$(call BuildFirmware/Default8M/$(1),$(1),ur-336un,U
 
 Image/Build/Profile/WR6202=$(call BuildFirmware/Default8M/$(1),$(1),wr6202,WR6202)
 
+Image/Build/Profile/X5=$(call BuildFirmware/Poray8M/$(1),$(1),x5,X5)
+
 Image/Build/Profile/XDXRN502J=$(call BuildFirmware/Default4M/$(1),$(1),xdxrn502j,XDXRN502J)
 
 ifeq ($(SUBTARGET),rt305x)
@@ -540,6 +542,7 @@ define Image/Build/Profile/Default
        $(call Image/Build/Profile/WNCE2001,$(1))
        $(call Image/Build/Profile/WR512-3GN,$(1))
        $(call Image/Build/Profile/WR6202,$(1))
+       $(call Image/Build/Profile/X5,$(1))
        $(call Image/Build/Profile/XDXRN502J,$(1))
 endef
 endif
index 10cf37f3812c2cb298304237cbce32c7b01fc055..86b9a8b8fce5cb6f11b8885a297ae4b97e6f13f4 100644 (file)
@@ -25,3 +25,13 @@ define Profile/M4/Description
 endef
 
 $(eval $(call Profile,M4))
+
+define Profile/X5
+       NAME:=Poray X5/X6
+       PACKAGES:=kmod-usb-core kmod-usb2 kmod-ledtrig-netdev kmod-ledtrig-timer
+endef
+define Profile/X5/Description
+       Package set for Poray X5/X6 board
+endef
+
+$(eval $(call Profile,X5))