From e9baf8265bb8938169b882deff2026a7389bd9f7 Mon Sep 17 00:00:00 2001 From: John Crispin Date: Tue, 24 Nov 2015 18:29:02 +0000 Subject: [PATCH] ramips: add support for Youku YK1 Changes since V1: I resend this patch for current trunk.The former V1 patch is for CC branch. Signed-off-by: Shonn Lu SVN-Revision: 47617 --- .../ramips/base-files/etc/board.d/01_leds | 5 + .../ramips/base-files/etc/board.d/02_network | 3 +- target/linux/ramips/base-files/lib/ramips.sh | 3 + .../ramips/base-files/lib/upgrade/platform.sh | 3 +- target/linux/ramips/dts/YOUKU-YK1.dts | 127 ++++++++++++++++++ target/linux/ramips/image/Makefile | 2 + 6 files changed, 141 insertions(+), 2 deletions(-) create mode 100644 target/linux/ramips/dts/YOUKU-YK1.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 5627c8ca8c..1c18ded505 100755 --- a/target/linux/ramips/base-files/etc/board.d/01_leds +++ b/target/linux/ramips/base-files/etc/board.d/01_leds @@ -268,6 +268,11 @@ zbt-wr8305rt) zte-q7) set_wifi_led "$board:blue:status" ;; +youku-yk1) + ucidef_set_led_default "power" "power" "$board:blue:power" "1" + set_wifi_led "$board:blue:air" + set_usb_led "$board:blue:usb" + ;; 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 382174298a..22809d1720 100755 --- a/target/linux/ramips/base-files/etc/board.d/02_network +++ b/target/linux/ramips/base-files/etc/board.d/02_network @@ -84,7 +84,8 @@ ramips_setup_interfaces() wsr-600|\ wt1520|\ y1|\ - zbt-wg2626) + zbt-wg2626|\ + youku-yk1) ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2" ucidef_add_switch "switch0" "1" "1" ucidef_add_switch_vlan "switch0" "1" "0 1 2 3 6t" diff --git a/target/linux/ramips/base-files/lib/ramips.sh b/target/linux/ramips/base-files/lib/ramips.sh index a1bcb7261d..d6fdeb9891 100755 --- a/target/linux/ramips/base-files/lib/ramips.sh +++ b/target/linux/ramips/base-files/lib/ramips.sh @@ -460,6 +460,9 @@ ramips_board_detect() { *"ZBT-WR8305RT") name="zbt-wr8305rt" ;; + *"YK1") + name="youku-yk1" + ;; *) name="generic" ;; diff --git a/target/linux/ramips/base-files/lib/upgrade/platform.sh b/target/linux/ramips/base-files/lib/upgrade/platform.sh index 0e8d619069..0b9dd43791 100755 --- a/target/linux/ramips/base-files/lib/upgrade/platform.sh +++ b/target/linux/ramips/base-files/lib/upgrade/platform.sh @@ -134,7 +134,8 @@ platform_check_image() { zbt-wa05|\ zbt-wg2626|\ zbt-wr8305rt|\ - zte-q7) + zte-q7|\ + youku-yk1) [ "$magic" != "27051956" ] && { echo "Invalid image type." return 1 diff --git a/target/linux/ramips/dts/YOUKU-YK1.dts b/target/linux/ramips/dts/YOUKU-YK1.dts new file mode 100644 index 0000000000..418351cceb --- /dev/null +++ b/target/linux/ramips/dts/YOUKU-YK1.dts @@ -0,0 +1,127 @@ +/dts-v1/; + +/include/ "mt7620a.dtsi" + +/ { + compatible = "YOUKU-YK1", "ralink,mt7620a-soc"; + model = "YOUKU YK1"; + + palmbus@10000000 { + + gpio0: gpio@600 { + status = "okay"; + }; + + gpio1: gpio@638 { + status = "okay"; + }; + + gpio2: gpio@660 { + status = "okay"; + }; + + gpio3: gpio@688 { + status = "okay"; + }; + + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "w25q256"; + reg = <0 0>; + linux,modalias = "m25p80", "w25q256"; + 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 0x1fb0000>; + }; + }; + }; + }; + + pinctrl { + state_default: pinctrl0 { + default { + 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 = "llllw"; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0>; + }; + + sdhci@b0130000 { + status = "okay"; + }; + + ehci@101c0000 { + status = "okay"; + }; + + ohci@101c1000 { + status = "okay"; + }; + + gpio-leds { + compatible = "gpio-leds"; + wan { + label = "youku-yk1:blue:wan"; + gpios = <&gpio2 4 1>; + }; + air { + label = "youku-yk1:blue:air"; + gpios = <&gpio3 0 1>; + }; + usb { + label = "youku-yk1:blue:usb"; + gpios = <&gpio1 11 1>; + }; + power { + label = "youku-yk1:blue:power"; + gpios = <&gpio1 5 1>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + reset { + label = "reset"; + gpios = <&gpio0 1 1>; + linux,code = <0x198>; + }; + }; +}; diff --git a/target/linux/ramips/image/Makefile b/target/linux/ramips/image/Makefile index 5e19c3f97d..5a2b98cac6 100644 --- a/target/linux/ramips/image/Makefile +++ b/target/linux/ramips/image/Makefile @@ -900,6 +900,7 @@ Image/Build/Profile/WRTNODE=$(call BuildFirmware/Default16M/$(1),$(1),wrtnode,WR Image/Build/Profile/WT3020=$(call BuildFirmware/PorayDualSize/$(1),$(1),wt3020,WT3020) Image/Build/Profile/MIWIFI-MINI=$(call BuildFirmware/Default16M/$(1),$(1),miwifi-mini,MIWIFI-MINI) Image/Build/Profile/ZTE-Q7=$(call BuildFirmware/Default8M/$(1),$(1),zte-q7,ZTE-Q7) +Image/Build/Profile/YOUKU-YK1=$(call BuildFirmware/Default16M/$(1),$(1),youku-yk1,YOUKU-YK1) Image/Build/Profile/ZBT-WA05=$(call BuildFirmware/Default8M/$(1),$(1),zbt-wa05,ZBT-WA05) Image/Build/Profile/ZBT-WR8305RT=$(call BuildFirmware/Default8M/$(1),$(1),zbt-wr8305rt,ZBT-WR8305RT) Image/Build/Profile/ArcherC20i=$(call BuildFirmware/Tplink/$(1),$(1),ArcherC20i,ArcherC20i) @@ -939,6 +940,7 @@ define Image/Build/Profile/Default $(call Image/Build/Profile/WT3020,$(1)) $(call Image/Build/Profile/MIWIFI-MINI,$(1)) $(call Image/Build/Profile/ZTE-Q7,$(1)) + $(call Image/Build/Profile/YOUKU-YK1,$(1)) $(call Image/Build/Profile/ZBT-WA05,$(1)) $(call Image/Build/Profile/ZBT-WR8305RT,$(1)) $(call Image/Build/Profile/ArcherC20i,$(1))