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)
committerAdrian Schmutzler <freifunk@adrianschmutzler.de>
Sat, 5 Jun 2021 21:39:14 +0000 (23:39 +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>
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 ddb09baa087926d1965a74bb1e644cc653514e9c..fe41512f36f31cbb9dbac46e222f06c8f4d2ad52 100644 (file)
@@ -1112,16 +1112,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 17fa48c739114b69de4760edacf879e283f39623..e2e2614483a5eda3360d97d639204944d56fdfda 100644 (file)
@@ -215,7 +215,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"
                ;;
@@ -338,7 +339,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)