ramips: split Youku YK1 to YK-L1 and YK-L1c
authorShiji Yang <yangshiji66@qq.com>
Sun, 16 May 2021 13:21:09 +0000 (21:21 +0800)
committerPetr Štetiar <ynezz@true.cz>
Tue, 19 Apr 2022 12:48:21 +0000 (14:48 +0200)
Device specifications:
* Model: Youku YK-L1/L1c
* CPU: MT7620A
* RAM: 128 MiB
* Flash: 32 MiB (YK-L1)/ 16 MiB (YK-L1c)
* LAN: 2* 10M/100M Ports
* WAN: 1* 10M/100M Port
* USB: 1* USB2.0
* SD: 1* MicroSD socket
* UART: 1* TTL, Baudrate 57600

Descriptions:
  Previous supported device YOUKU yk1 is actually Youku YK-L1. Though they look
  really different, the only hardware difference between the two models is flash
  size, YK-L1 has 32 MiB flash but YK-L1c has 16MiB. It seems that YK-L1c can
  compatible with YK-L1's firmware but it's better to split it to different models.

  It is easy to identify the models by looking at the label on the bottom of the
  device. The label has the model number "YK-L1" or "YK-L1c". Due to different flash
  sizes, YK-L1c that using previous YK-L1's firmware needs to apply "force update"
  to install compatible firmware, so please backup config file before system upgrade.

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
[use more specific name for DTSI]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
(cherry picked from commit 4a9f389ed2dcee18a5c5e1f0d4e5c406f9290579)

target/linux/ramips/dts/mt7620a_youku_yk-l1.dts [new file with mode: 0644]
target/linux/ramips/dts/mt7620a_youku_yk-l1.dtsi [new file with mode: 0644]
target/linux/ramips/dts/mt7620a_youku_yk-l1c.dts [new file with mode: 0644]
target/linux/ramips/dts/mt7620a_youku_yk1.dts [deleted file]
target/linux/ramips/image/mt7620.mk
target/linux/ramips/mt7620/base-files/etc/board.d/02_network

diff --git a/target/linux/ramips/dts/mt7620a_youku_yk-l1.dts b/target/linux/ramips/dts/mt7620a_youku_yk-l1.dts
new file mode 100644 (file)
index 0000000..5155318
--- /dev/null
@@ -0,0 +1,12 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+
+#include "mt7620a_youku_yk-l1.dtsi"
+
+/ {
+       compatible = "youku,yk-l1", "ralink,mt7620a-soc";
+       model = "Youku YK-L1";
+};
+
+&firmware {
+       reg = <0x50000 0x1fb0000>;
+};
diff --git a/target/linux/ramips/dts/mt7620a_youku_yk-l1.dtsi b/target/linux/ramips/dts/mt7620a_youku_yk-l1.dtsi
new file mode 100644 (file)
index 0000000..61062a3
--- /dev/null
@@ -0,0 +1,126 @@
+#include "mt7620a.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+
+/ {
+       aliases {
+               led-boot = &led_power;
+               led-failsafe = &led_power;
+               led-running = &led_power;
+               led-upgrade = &led_power;
+               label-mac-device = &ethernet;
+       };
+
+       leds {
+               compatible = "gpio-leds";
+
+               wlan {
+                       label = "blue:wlan";
+                       gpios = <&gpio3 0 GPIO_ACTIVE_LOW>;
+                       linux,default-trigger = "phy0tpt";
+               };
+
+               usb {
+                       label = "blue:usb";
+                       gpios = <&gpio1 11 GPIO_ACTIVE_LOW>;
+                       trigger-sources = <&ohci_port1>, <&ehci_port1>;
+                       linux,default-trigger = "usbport";
+               };
+
+               led_power: power {
+                       label = "blue:power";
+                       gpios = <&gpio1 5 GPIO_ACTIVE_LOW>;
+               };
+       };
+
+       keys {
+               compatible = "gpio-keys";
+
+               reset {
+                       label = "reset";
+                       gpios = <&gpio0 1 GPIO_ACTIVE_LOW>;
+                       linux,code = <KEY_RESTART>;
+               };
+       };
+};
+
+&gpio1 {
+       status = "okay";
+};
+
+&gpio3 {
+       status = "okay";
+};
+
+&spi0 {
+       status = "okay";
+
+       flash@0 {
+               compatible = "jedec,spi-nor";
+               reg = <0>;
+               spi-max-frequency = <80000000>;
+               m25p,fast-read;
+
+               partitions {
+                       compatible = "fixed-partitions";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+
+                       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;
+                       };
+
+                       firmware: partition@50000 {
+                               compatible = "denx,uimage";
+                               label = "firmware";
+                               /* reg property is set based on flash size in DTS files */
+                       };
+               };
+       };
+};
+
+&state_default {
+       default {
+               groups = "i2c", "rgmii1", "wled";
+               function = "gpio";
+       };
+};
+
+&ethernet {
+       pinctrl-names = "default";
+
+       mtd-mac-address = <&factory 0x28>;
+
+       mediatek,portmap = "llllw";
+};
+
+&wmac {
+       ralink,mtd-eeprom = <&factory 0x0>;
+};
+
+&sdhci {
+       status = "okay";
+};
+
+&ehci {
+       status = "okay";
+};
+
+&ohci {
+       status = "okay";
+};
diff --git a/target/linux/ramips/dts/mt7620a_youku_yk-l1c.dts b/target/linux/ramips/dts/mt7620a_youku_yk-l1c.dts
new file mode 100644 (file)
index 0000000..c59f010
--- /dev/null
@@ -0,0 +1,12 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+
+#include "mt7620a_youku_yk-l1.dtsi"
+
+/ {
+       compatible = "youku,yk-l1c", "ralink,mt7620a-soc";
+       model = "Youku YK-L1c";
+};
+
+&firmware {
+       reg = <0x50000 0xfb0000>;
+};
diff --git a/target/linux/ramips/dts/mt7620a_youku_yk1.dts b/target/linux/ramips/dts/mt7620a_youku_yk1.dts
deleted file mode 100644 (file)
index 2e59e5b..0000000
+++ /dev/null
@@ -1,129 +0,0 @@
-#include "mt7620a.dtsi"
-
-#include <dt-bindings/gpio/gpio.h>
-#include <dt-bindings/input/input.h>
-
-/ {
-       compatible = "youku,yk1", "ralink,mt7620a-soc";
-       model = "YOUKU YK1";
-
-       aliases {
-               led-boot = &led_power;
-               led-failsafe = &led_power;
-               led-running = &led_power;
-               led-upgrade = &led_power;
-               label-mac-device = &ethernet;
-       };
-
-       leds {
-               compatible = "gpio-leds";
-
-               wlan {
-                       label = "blue:wlan";
-                       gpios = <&gpio3 0 GPIO_ACTIVE_LOW>;
-                       linux,default-trigger = "phy0tpt";
-               };
-
-               usb {
-                       label = "blue:usb";
-                       gpios = <&gpio1 11 GPIO_ACTIVE_LOW>;
-                       trigger-sources = <&ohci_port1>, <&ehci_port1>;
-                       linux,default-trigger = "usbport";
-               };
-
-               led_power: power {
-                       label = "blue:power";
-                       gpios = <&gpio1 5 GPIO_ACTIVE_LOW>;
-               };
-       };
-
-       keys {
-               compatible = "gpio-keys";
-
-               reset {
-                       label = "reset";
-                       gpios = <&gpio0 1 GPIO_ACTIVE_LOW>;
-                       linux,code = <KEY_RESTART>;
-               };
-       };
-};
-
-&gpio1 {
-       status = "okay";
-};
-
-&gpio3 {
-       status = "okay";
-};
-
-&spi0 {
-       status = "okay";
-
-       flash@0 {
-               compatible = "jedec,spi-nor";
-               reg = <0>;
-               spi-max-frequency = <80000000>;
-               m25p,fast-read;
-
-               partitions {
-                       compatible = "fixed-partitions";
-                       #address-cells = <1>;
-                       #size-cells = <1>;
-
-                       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 {
-                               compatible = "denx,uimage";
-                               label = "firmware";
-                               reg = <0x50000 0x1fb0000>;
-                       };
-               };
-       };
-};
-
-&state_default {
-       default {
-               groups = "i2c", "rgmii1", "wled";
-               function = "gpio";
-       };
-};
-
-&ethernet {
-       pinctrl-names = "default";
-
-       mtd-mac-address = <&factory 0x28>;
-
-       mediatek,portmap = "llllw";
-};
-
-&wmac {
-       ralink,mtd-eeprom = <&factory 0x0>;
-};
-
-&sdhci {
-       status = "okay";
-};
-
-&ehci {
-       status = "okay";
-};
-
-&ohci {
-       status = "okay";
-};
index 56941f2b9c73601555cbb90a06bb7e6897bd2dcb..4f85b82c0edf395b33f1290ca35118d3e96f1431 100644 (file)
@@ -1113,16 +1113,26 @@ define Device/xiaomi_miwifi-mini
 endef
 TARGET_DEVICES += xiaomi_miwifi-mini
 
-define Device/youku_yk1
+define Device/youku_yk-l1
   SOC := mt7620a
   IMAGE_SIZE := 32448k
-  DEVICE_VENDOR := YOUKU
-  DEVICE_MODEL := YK1
+  DEVICE_VENDOR := Youku
+  DEVICE_MODEL := YK-L1
   DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-sdhci-mt7620 \
        kmod-usb-ledtrig-usbport
-  SUPPORTED_DEVICES += youku-yk1
+  SUPPORTED_DEVICES += youku-yk1 youku,yk1
 endef
-TARGET_DEVICES += youku_yk1
+TARGET_DEVICES += youku_yk-l1
+
+define Device/youku_yk-l1c
+  SOC := mt7620a
+  IMAGE_SIZE := 16064k
+  DEVICE_VENDOR := Youku
+  DEVICE_MODEL := YK-L1c
+  DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-sdhci-mt7620 \
+       kmod-usb-ledtrig-usbport
+endef
+TARGET_DEVICES += youku_yk-l1c
 
 define Device/yukai_bocco
   SOC := mt7620a
index 919102b130478cf0dd67f2923fca566fe3368275..4fd2455f5cf4323d09deceab660ea84de940cf1a 100755 (executable)
@@ -216,7 +216,8 @@ ramips_setup_interfaces()
                ucidef_add_switch "switch0" \
                        "0:lan" "4:wan" "6@eth0"
                ;;
-       youku,yk1)
+       youku,yk-l1|\
+       youku,yk-l1c)
                ucidef_add_switch "switch0" \
                        "0:lan" "1:lan" "4:wan" "6@eth0"
                ;;
@@ -339,7 +340,8 @@ ramips_setup_macs()
        lenovo,newifi-y1s|\
        ohyeah,oy-0001|\
        wavlink,wl-wn530hg4|\
-       youku,yk1)
+       youku,yk-l1|\
+       youku,yk-l1c)
                wan_mac=$(mtd_get_mac_binary factory 0x2e)
                ;;
        linksys,e1700)