From dd922e54039cc2f9e90d5e6687f00ef745c4d9f1 Mon Sep 17 00:00:00 2001 From: Imre Kaloz Date: Wed, 5 Nov 2014 14:37:13 +0000 Subject: [PATCH] [ramips]: add support for the Linksys E1700 git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43186 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../ramips/base-files/etc/board.d/02_network | 5 + target/linux/ramips/base-files/etc/diag.sh | 3 + target/linux/ramips/base-files/lib/ramips.sh | 3 + .../ramips/base-files/lib/upgrade/platform.sh | 1 + target/linux/ramips/dts/E1700.dts | 148 ++++++++++++++++++ target/linux/ramips/image/Makefile | 2 + .../linux/ramips/mt7620a/profiles/linksys.mk | 16 ++ 7 files changed, 178 insertions(+) create mode 100644 target/linux/ramips/dts/E1700.dts create mode 100644 target/linux/ramips/mt7620a/profiles/linksys.mk diff --git a/target/linux/ramips/base-files/etc/board.d/02_network b/target/linux/ramips/base-files/etc/board.d/02_network index 52e27c5321..924be3665e 100755 --- a/target/linux/ramips/base-files/etc/board.d/02_network +++ b/target/linux/ramips/base-files/etc/board.d/02_network @@ -221,6 +221,7 @@ ramips_setup_interfaces() ucidef_set_interface_lan "eth0" ;; + e1700 | \ mt7620a_mt7530) ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2" ucidef_add_switch "switch1" "1" "1" @@ -302,6 +303,10 @@ ramips_setup_macs() wan_mac=$(mtd_get_mac_ascii nvram wanmac) ;; + e1700) + wan_mac=$(mtd_get_mac_ascii config WAN_MAC_ADDR) + ;; + wcr-150gn) wan_mac=$(mtd_get_mac_binary factory 40) ;; diff --git a/target/linux/ramips/base-files/etc/diag.sh b/target/linux/ramips/base-files/etc/diag.sh index 709158be1d..b743c8408a 100755 --- a/target/linux/ramips/base-files/etc/diag.sh +++ b/target/linux/ramips/base-files/etc/diag.sh @@ -48,6 +48,9 @@ get_status_led() { dap-1350) status_led="d-link:blue:power" ;; + e1700) + status_led="linksys:green:power" + ;; esr-9753) status_led="esr-9753:orange:power" ;; diff --git a/target/linux/ramips/base-files/lib/ramips.sh b/target/linux/ramips/base-files/lib/ramips.sh index a02bcf9674..e42f719cd8 100755 --- a/target/linux/ramips/base-files/lib/ramips.sh +++ b/target/linux/ramips/base-files/lib/ramips.sh @@ -175,6 +175,9 @@ ramips_board_detect() { *"Kingston MLW221") name="mlw221" ;; + *"Linksys E1700") + name="e1700" + ;; *"Planex MZK-750DHP") name="mzk-750dhp" ;; diff --git a/target/linux/ramips/base-files/lib/upgrade/platform.sh b/target/linux/ramips/base-files/lib/upgrade/platform.sh index decbc546fd..19793c20fb 100755 --- a/target/linux/ramips/base-files/lib/upgrade/platform.sh +++ b/target/linux/ramips/base-files/lib/upgrade/platform.sh @@ -44,6 +44,7 @@ platform_check_image() { dir-620-a1 | \ dir-620-d1 | \ dir-810l | \ + e1700 | \ esr-9753 | \ f7c027 | \ fonera20n | \ diff --git a/target/linux/ramips/dts/E1700.dts b/target/linux/ramips/dts/E1700.dts new file mode 100644 index 0000000000..8fdb611b0c --- /dev/null +++ b/target/linux/ramips/dts/E1700.dts @@ -0,0 +1,148 @@ +/* + * Device Tree file for the Linksys E1700 + * + * Copyright (C) 2014 Imre Kaloz + * + * This file is licensed under the terms of the GNU General Public + * License version 2. This program is licensed "as is" without any + * warranty of any kind, whether express or implied. + */ + +/dts-v1/; + +/include/ "mt7620a.dtsi" + +/ { + compatible = "linksys,e1700", "ralink,mt7620a-soc"; + model = "Linksys E1700"; + + palmbus@10000000 { + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "mx25l6405d"; + reg = <0 0>; + linux,modalias = "m25p80", "mx25l6405d"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "config"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x7b0000>; + }; + }; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + ethernet@10100000 { + status = "okay"; + + mtd-mac-address = <&factory 0x28>; + + pinctrl-names = "default"; + pinctrl-0 = <&rgmii1_pins &rgmii2_pins &mdio_pins>; + + ralink,port-map = "llllw"; + + port@5 { + status = "okay"; + ralink,fixed-link = <1000 1 1 1>; + phy-mode = "rgmii"; + }; + + mdio-bus { + status = "okay"; + + phy0: ethernet-phy@0 { + reg = <0>; + phy-mode = "rgmii"; + }; + phy1: ethernet-phy@1 { + reg = <1>; + phy-mode = "rgmii"; + }; + phy2: ethernet-phy@2 { + reg = <2>; + phy-mode = "rgmii"; + }; + phy3: ethernet-phy@3 { + reg = <3>; + phy-mode = "rgmii"; + }; + phy4: ethernet-phy@4 { + reg = <4>; + phy-mode = "rgmii"; + }; + phy1f: ethernet-phy@1f { + reg = <0x1f>; + phy-mode = "rgmii"; + }; + }; + }; + + gsw@10110000 { + ralink,port4 = "gmac"; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + reset { + label = "reset"; + gpios = <&gpio0 1 0>; + linux,code = <0x198>; + }; + wps { + label = "wps"; + gpios = <&gpio0 2 0>; + linux,code = <0x211>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + power { + label = "linksys:green:power"; + gpios = <&gpio0 10 1>; + }; + wan { + label = "linksys:green:wps"; + gpios = <&gpio0 12 1>; + }; + }; +}; diff --git a/target/linux/ramips/image/Makefile b/target/linux/ramips/image/Makefile index 1f03386c4f..58bfd6dfe4 100644 --- a/target/linux/ramips/image/Makefile +++ b/target/linux/ramips/image/Makefile @@ -772,6 +772,7 @@ endif # MT7620A Profiles # +Image/Build/Profile/E1700=$(call BuildFirmware/UMedia/$(1),$(1),e1700,E1700,0x013326) Image/Build/Profile/MT7620a=$(call BuildFirmware/Default8M/$(1),$(1),mt7620a,MT7620a) Image/Build/Profile/MT7620a_MT7610e=$(call BuildFirmware/Default8M/$(1),$(1),mt7620a_mt7610e,MT7620a_MT7610e) Image/Build/Profile/MT7620a_MT7530=$(call BuildFirmware/Default8M/$(1),$(1),mt7620a_mt7530,MT7620a_MT7530) @@ -792,6 +793,7 @@ Image/Build/Profile/Y1S=$(call BuildFirmware/Default16M/$(1),$(1),Lenovo-y1s,Y1S ifeq ($(SUBTARGET),mt7620a) define Image/Build/Profile/Default + $(call Image/Build/Profile/E1700,$(1)) $(call Image/Build/Profile/MT7620a,$(1)) $(call Image/Build/Profile/MT7620a_MT7610e,$(1)) $(call Image/Build/Profile/MT7620a_MT7530,$(1)) diff --git a/target/linux/ramips/mt7620a/profiles/linksys.mk b/target/linux/ramips/mt7620a/profiles/linksys.mk new file mode 100644 index 0000000000..d8a2df4593 --- /dev/null +++ b/target/linux/ramips/mt7620a/profiles/linksys.mk @@ -0,0 +1,16 @@ +# +# Copyright (C) 2014 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +define Profile/E1700 + NAME:=Linksys E1700 + PACKAGES:=swconfig +endef + +define Profile/E1700/Description + Package set compatible with the Linksys E1700. +endef +$(eval $(call Profile,E1700))