ramips: Add Support for the Linksys RE6500
authorJohn Crispin <john@openwrt.org>
Thu, 18 Jun 2015 18:20:56 +0000 (18:20 +0000)
committerJohn Crispin <john@openwrt.org>
Thu, 18 Jun 2015 18:20:56 +0000 (18:20 +0000)
This patch adds support for the Linksys RE6500 Range Extender

http://wiki.openwrt.org/toh/linksys/re6500

Signed-off-by: L. D. Pinney <ldpinney@gmail.com>
SVN-Revision: 46043

target/linux/ramips/base-files/etc/board.d/01_leds
target/linux/ramips/base-files/etc/board.d/02_network
target/linux/ramips/base-files/etc/diag.sh
target/linux/ramips/base-files/lib/ramips.sh
target/linux/ramips/base-files/lib/upgrade/platform.sh
target/linux/ramips/dts/RE6500.dts [new file with mode: 0644]
target/linux/ramips/image/Makefile
target/linux/ramips/mt7621/profiles/linksys.mk [new file with mode: 0644]

index a5a8400..545bd70 100755 (executable)
@@ -212,6 +212,10 @@ case $board in
        wnce2001)
                set_wifi_led "netgear:green:wlan"
                ;;
+       re6500)
+               ucidef_set_led_default "power" "power" "linksys:white:power" "1"
+               ucidef_set_led_default "wifi" "wifi" "linksys:orange:wifi" "1"
+               ;;
        rt-n14u)
                ucidef_set_led_default "power" "power" "asus:blue:power" "1"
                ucidef_set_led_netdev "lan" "lan" "asus:blue:lan" eth0.1
index 4849238..bc1fc01 100755 (executable)
@@ -104,6 +104,7 @@ ramips_setup_interfaces()
                ucidef_add_switch_vlan "switch0" "2" "0 9t"
                ;;
 
+        re6500 | \
        asl26555)
                ucidef_set_interface_lan "eth0.1"
                ucidef_add_switch "switch0" "1" "1"
index 8bcc532..e695778 100644 (file)
@@ -132,6 +132,9 @@ get_status_led() {
        px4885)
                status_led="7links:orange:wifi"
                ;;
+       re6500)
+               status_led="linksys:orange:wifi"
+               ;;
        rt-n15)
                status_led="rt-n15:blue:power"
                ;;
index 2d00716..d2a1856 100755 (executable)
@@ -208,6 +208,9 @@ ramips_board_detect() {
        *"Linksys E1700")
                name="e1700"
                ;;
+       *"Linksys RE6500")
+               name="re6500"
+               ;;
        *"Planex MZK-750DHP")
                name="mzk-750dhp"
                ;;
index f3e8ed5..cedd62b 100755 (executable)
@@ -80,6 +80,7 @@ platform_check_image() {
        olinuxino-rt5350f-evb | \
        psr-680w | \
        px4885 | \
+       re6500 | \
        rp-n53 | \
        rt-g32-b1 | \
        rt-n10-plus | \
diff --git a/target/linux/ramips/dts/RE6500.dts b/target/linux/ramips/dts/RE6500.dts
new file mode 100644 (file)
index 0000000..0c33994
--- /dev/null
@@ -0,0 +1,115 @@
+/dts-v1/;
+
+/include/ "mt7621.dtsi"
+
+/ {
+       compatible = "mediatek,mt7621-eval-board", "mediatek,mt7621-soc";
+       model = "Linksys RE6500";
+
+       memory@0 {
+               device_type = "memory";
+               reg = <0x0 0x8000000>;
+       };
+
+       chosen {
+               bootargs = "console=ttyS0,57600";
+       };
+
+       palmbus@1E000000 {
+               spi@b00 {
+                       status = "okay";
+
+                       m25p80@0 {
+                               #address-cells = <1>;
+                               #size-cells = <1>;
+                               compatible = "mx25l6405d";
+                               reg = <0 0>;
+                               linux,modalias = "m25p80", "en25q64";
+                               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 0xfb0000>;
+                               };
+                       };
+               };
+       };
+
+       pinctrl {
+               state_default: pinctrl0 {
+                       gpio {
+                               ralink,group = "i2c", "uart2", "uart3", "rgmii2";
+                               ralink,function = "gpio";
+                       };
+               };
+       };
+
+       pcie@1e140000 {
+               status = "okay";
+
+               pcie0 {
+                       mt76@0,0 {
+                               reg = <0x0000 0 0 0 0>;
+                               device_type = "pci";
+                               mediatek,mtd-eeprom = <&factory 0x8000>;
+                               mediatek,2ghz = <0>;
+                       };
+               };
+
+               pcie1 {
+                       mt76@1,0 {
+                               reg = <0x0000 0 0 0 0>;
+                               device_type = "pci";
+                               mediatek,mtd-eeprom = <&factory 0x0000>;
+                               mediatek,5ghz = <0>;
+                       };
+               };
+       };
+
+       gpio-leds {
+               compatible = "gpio-leds";
+               wifi {
+                       label = "linksys:orange:wifi";
+                       gpios = <&gpio0 0 1>;
+               };
+               power {
+                       label = "linksys:white:power";
+                       gpios = <&gpio0 9 1>;
+               };
+       };
+
+       gpio-keys-polled {
+               compatible = "gpio-keys-polled";
+               #address-cells = <1>;
+               #size-cells = <0>;
+               poll-interval = <20>;
+               wps {
+                       label = "wps";
+                       gpios = <&gpio0 10 1>;
+                       linux,code = <0x211>;
+               };
+               reset {
+                       label = "reset";
+                       gpios = <&gpio0 11 0>;
+                       linux,code = <0x198>;
+               };
+       };
+};
index 0c455c2..776920b 100644 (file)
@@ -921,7 +921,7 @@ endif
 #
 
 ifeq ($(SUBTARGET),mt7621)
-  TARGET_DEVICES += mt7621 wsr-600 wsr-1166 dir-860l-b1 firewrt pbr-m1
+  TARGET_DEVICES += mt7621 wsr-600 wsr-1166 dir-860l-b1 firewrt pbr-m1 re6500
 endif
 
 define Device/mt7621
@@ -933,6 +933,10 @@ define Device/wsr-600
   DTS := WSR-600
 endef
 
+define Device/re6500
+  DTS := RE6500
+endef
+
 define Device/wsr-1166
   DTS := WSR-1166
   IMAGE/sysupgrade.bin := trx | pad-rootfs
diff --git a/target/linux/ramips/mt7621/profiles/linksys.mk b/target/linux/ramips/mt7621/profiles/linksys.mk
new file mode 100644 (file)
index 0000000..7d48008
--- /dev/null
@@ -0,0 +1,16 @@
+#
+# Copyright (C) 2015 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+define Profile/RE6500
+       NAME:=Linksys RE6500
+       PACKAGES:= kmod-mt76
+endef
+
+define Profile/RE6500/Description
+       Package set compatible with the Linksys RE6500 board.
+endef
+$(eval $(call Profile,RE6500))