From 449c5f7b30e3ec4d685c11ecf88f3412be6a22cf Mon Sep 17 00:00:00 2001 From: John Crispin Date: Wed, 1 Apr 2015 08:31:46 +0000 Subject: [PATCH] ramips: Add support for ZTE Q7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ZTE Q7 is a wireless router with SD Card,USB,1 ethernet port and a battery.It used MT7620a SoC. I can,t find any information about this router on ZTE's website. But I found this : http://en.cctairmobi.com/plus/list.php?tid=40 This router is the same as ZTE Q7 and later I found that both routers are made by the same company:-D This patch adds support for it. Because there is only one port,I disabled VLAN and use eth0 as lan port. I could only create a sysupgrade firmware because I don't know how the orignal webpage check the uploaded image:-( Signed-off-by: 郭传鈜 SVN-Revision: 45208 --- .../ramips/base-files/etc/board.d/01_leds | 3 + .../ramips/base-files/etc/board.d/02_network | 1 + 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/ZTE-Q7.dts | 111 ++++++++++++++++++ target/linux/ramips/image/Makefile | 2 + 7 files changed, 124 insertions(+) create mode 100644 target/linux/ramips/dts/ZTE-Q7.dts diff --git a/target/linux/ramips/base-files/etc/board.d/01_leds b/target/linux/ramips/base-files/etc/board.d/01_leds index bfe1c0c7f2..56ba3b73ce 100755 --- a/target/linux/ramips/base-files/etc/board.d/01_leds +++ b/target/linux/ramips/base-files/etc/board.d/01_leds @@ -237,6 +237,9 @@ case $board in set_usb_led "lenovo:blue:usb" set_wifi_led "lenovo:blue:wifi" ;; + zte-q7) + set_wifi_led "zte:blue:status" + ;; esac board_config_flush 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 89d1681062..d4ec19d6cd 100755 --- a/target/linux/ramips/base-files/etc/board.d/02_network +++ b/target/linux/ramips/base-files/etc/board.d/02_network @@ -46,6 +46,7 @@ ramips_setup_interfaces() 3g150b | \ 3g300m | \ w150m | \ + zte-q7 | \ all0256n | \ all5002 | \ all5003 | \ diff --git a/target/linux/ramips/base-files/etc/diag.sh b/target/linux/ramips/base-files/etc/diag.sh index 50b6ff24ca..5301593f65 100644 --- a/target/linux/ramips/base-files/etc/diag.sh +++ b/target/linux/ramips/base-files/etc/diag.sh @@ -224,6 +224,9 @@ get_status_led() { y1s) status_led="lenovo:blue:power" ;; + zte-q7) + status_led="zte:red:status" + ;; esac } diff --git a/target/linux/ramips/base-files/lib/ramips.sh b/target/linux/ramips/base-files/lib/ramips.sh index 4527414e6e..fc6eb37692 100755 --- a/target/linux/ramips/base-files/lib/ramips.sh +++ b/target/linux/ramips/base-files/lib/ramips.sh @@ -379,6 +379,9 @@ ramips_board_detect() { *"ZBT WR8305RT") name="wr8305rt" ;; + *"ZTE Q7") + name="zte-q7" + ;; *"Lenovo Y1") name="y1" ;; diff --git a/target/linux/ramips/base-files/lib/upgrade/platform.sh b/target/linux/ramips/base-files/lib/upgrade/platform.sh index fffbe72cb8..a5773b5e4d 100755 --- a/target/linux/ramips/base-files/lib/upgrade/platform.sh +++ b/target/linux/ramips/base-files/lib/upgrade/platform.sh @@ -114,6 +114,7 @@ platform_check_image() { xiaomi-miwifi-mini |\ y1 |\ y1s |\ + zte-q7 |\ zbt-wa05) [ "$magic" != "27051956" ] && { echo "Invalid image type." diff --git a/target/linux/ramips/dts/ZTE-Q7.dts b/target/linux/ramips/dts/ZTE-Q7.dts new file mode 100644 index 0000000000..9efc35e24e --- /dev/null +++ b/target/linux/ramips/dts/ZTE-Q7.dts @@ -0,0 +1,111 @@ +/dts-v1/; + +/include/ "mt7620a.dtsi" + +/ { + compatible = "ZTE-Q7", "ralink,mt7620a-soc"; + model = "ZTE Q7"; + + palmbus@10000000 { + + gpio0: gpio@600 { + status = "okay"; + }; + + gpio1: gpio@638 { + status = "okay"; + }; + + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "en25q64"; + 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 0x7b0000>; + }; + }; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "uartf", "rgmii1", "rgmii2", "ephy", "wled", "nd_sd"; + ralink,function = "gpio"; + }; + }; + }; + + ethernet@10100000 { + pinctrl-names = "default"; + pinctrl-0 = <&ephy_pins>; + mtd-mac-address = <&factory 0x4>; + ralink,port-map = "wllll"; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + sdhci@10130000 { + status = "okay"; + }; + + ehci@101c0000 { + status = "okay"; + }; + + ohci@101c1000 { + status = "okay"; + }; + + gpio-leds { + compatible = "gpio-leds"; + statred { + label = "zte:red:status"; + gpios = <&gpio0 13 1>; + }; + statblue { + label = "zte:blue:status"; + gpios = <&gpio0 9 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + reset { + label = "reset"; + gpios = <&gpio1 2 1>; + linux,code = <0x198>; + }; + }; +}; diff --git a/target/linux/ramips/image/Makefile b/target/linux/ramips/image/Makefile index 14f6f1ef7e..743f7b4cf6 100644 --- a/target/linux/ramips/image/Makefile +++ b/target/linux/ramips/image/Makefile @@ -862,6 +862,7 @@ Image/Build/Profile/WR8305RT=$(call BuildFirmware/Default8M/$(1),$(1),wr8305rt,W Image/Build/Profile/WRTNODE=$(call BuildFirmware/Default16M/$(1),$(1),wrtnode,WRTNODE) Image/Build/Profile/WT3020=$(call BuildFirmware/PorayDualSize/$(1),$(1),wt3020,WT3020) Image/Build/Profile/XIAOMI-MIWIFI-MINI=$(call BuildFirmware/Default16M/$(1),$(1),xiaomi-miwifi-mini,XIAOMI-MIWIFI-MINI) +Image/Build/Profile/ZTE-Q7=$(call BuildFirmware/Default8M/$(1),$(1),zte-q7,ZTE-Q7) Image/Build/Profile/ZBT-WA05=$(call BuildFirmware/Default8M/$(1),$(1),zbt-wa05,ZBT-WA05) Image/Build/Profile/ArcherC20i=$(call BuildFirmware/Tplink/$(1),$(1),ArcherC20i,ArcherC20i) @@ -891,6 +892,7 @@ define Image/Build/Profile/Default $(call Image/Build/Profile/WRTNODE,$(1)) $(call Image/Build/Profile/WT3020,$(1)) $(call Image/Build/Profile/XIAOMI-MIWIFI-MINI,$(1)) + $(call Image/Build/Profile/ZTE-Q7,$(1)) $(call Image/Build/Profile/ZBT-WA05,$(1)) $(call Image/Build/Profile/ArcherC20i,$(1)) endef