mediatek: mt7623: rework images for U7623-02 board
authorDaniel Golle <daniel@makrotopia.org>
Fri, 20 Aug 2021 20:11:32 +0000 (21:11 +0100)
committerDaniel Golle <daniel@makrotopia.org>
Sun, 23 Jan 2022 20:20:37 +0000 (20:20 +0000)
Users of older OpenWrt versions need sysupgrade using the *emmc.img.gz
file once which will upgrade U-Boot and switch to the new image layout.
Users of the vendor firmware need to first flash the legacy image to
then sunsequently carry out a full-flash upgrade.

Alternatively the board can also be flashed using MediaTek's
proprietary SP Flash Tool.

Configuration as well as persistent MAC address will be lost once at
this point and you will have to redo (or restore) all configuration
manually. To restore the previous persistent MAC address users may set
it manually using

fw_setenv ethaddr 00:11:22:33:44:55

For future upgrades once running OpenWrt past this commit, the usual
*sysupgrade.itb file can be used.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
14 files changed:
target/linux/mediatek/dts/mt7623a-unielec-u7623-02-emmc-512m.dts
target/linux/mediatek/dts/mt7623a-unielec-u7623-02-emmc.dtsi [deleted file]
target/linux/mediatek/dts/mt7623a-unielec-u7623-02.dts [new file with mode: 0644]
target/linux/mediatek/dts/mt7623a-unielec-u7623-02.dtsi [new file with mode: 0644]
target/linux/mediatek/image/Config.in [deleted file]
target/linux/mediatek/image/Makefile
target/linux/mediatek/image/gen_mt7623_emmc_img.sh [deleted file]
target/linux/mediatek/image/gen_mtk_mmc_img.sh [deleted file]
target/linux/mediatek/image/mt7623.mk
target/linux/mediatek/image/mt7623a_unielec_u7623-uEnv.txt [deleted file]
target/linux/mediatek/mt7623/base-files/etc/board.d/02_network
target/linux/mediatek/mt7623/base-files/lib/preinit/07_set_iface_mac
target/linux/mediatek/mt7623/base-files/lib/upgrade/platform.sh
target/linux/mediatek/mt7623/config-5.10

index 822ca3fd497554e4d68a174e15401597d0937f56..609bb8f109e5eb5964ca617fbf1e920e72821a78 100644 (file)
@@ -4,11 +4,15 @@
  */
 
 /dts-v1/;
-#include "mt7623a-unielec-u7623-02-emmc.dtsi"
+#include "mt7623a-unielec-u7623-02.dtsi"
 
 / {
-       model = "UniElec U7623-02 eMMC (512M RAM)";
-       compatible = "unielec,u7623-02-emmc-512m", "unielec,u7623-02-emmc", "mediatek,mt7623";
+       model = "UniElec U7623-02 eMMC (legacy loader, 512M RAM)";
+       compatible = "unielec,u7623-02-emmc-512m", "unielec,u7623-02", "mediatek,mt7623";
+
+       chosen {
+               bootargs = "root=/dev/mmcblk0p2 rootfstype=squashfs,f2fs console=ttyS0,115200 blkdevparts=mmcblk0:3M@6M(recovery),256M@9M(root)";
+       };
 
        memory@80000000 {
                device_type = "memory";
diff --git a/target/linux/mediatek/dts/mt7623a-unielec-u7623-02-emmc.dtsi b/target/linux/mediatek/dts/mt7623a-unielec-u7623-02-emmc.dtsi
deleted file mode 100644 (file)
index 46db098..0000000
+++ /dev/null
@@ -1,357 +0,0 @@
-// SPDX-License-Identifier: (GPL-2.0-or-later OR MIT)
-/*
- * Copyright 2018 Kristian Evensen <kristian.evensen@gmail.com>
- */
-
-#include <dt-bindings/input/input.h>
-#include "mt7623.dtsi"
-#include "mt6323.dtsi"
-
-/ {
-       compatible = "unielec,u7623-02-emmc", "mediatek,mt7623";
-
-       aliases {
-               serial0 = &uart2;
-               ethernet0 = &gmac0;
-               mmc0 = &mmc0;
-               led-boot = &led3_green;
-               led-failsafe = &led3_green;
-               led-running = &led3_green;
-               led-upgrade = &led3_green;
-       };
-
-       chosen {
-               bootargs = "root=/dev/mmcblk0p2 rootfstype=squashfs,f2fs console=ttyS0,115200 blkdevparts=mmcblk0:3M@6M(recovery),256M@9M(root)";
-               stdout-path = "serial2:115200n8";
-       };
-
-       cpus {
-               cpu@0 {
-                       proc-supply = <&mt6323_vproc_reg>;
-               };
-
-               cpu@1 {
-                       proc-supply = <&mt6323_vproc_reg>;
-               };
-
-               cpu@2 {
-                       proc-supply = <&mt6323_vproc_reg>;
-               };
-
-               cpu@3 {
-                       proc-supply = <&mt6323_vproc_reg>;
-               };
-       };
-
-       reg_1p8v: regulator-1p8v {
-               compatible = "regulator-fixed";
-               regulator-name = "fixed-1.8V";
-               regulator-min-microvolt = <1800000>;
-               regulator-max-microvolt = <1800000>;
-               regulator-boot-on;
-               regulator-always-on;
-       };
-
-       reg_3p3v: regulator-3p3v {
-               compatible = "regulator-fixed";
-               regulator-name = "fixed-3.3V";
-               regulator-min-microvolt = <3300000>;
-               regulator-max-microvolt = <3300000>;
-               regulator-boot-on;
-               regulator-always-on;
-       };
-
-       reg_5v: regulator-5v {
-               compatible = "regulator-fixed";
-               regulator-name = "fixed-5V";
-               regulator-min-microvolt = <5000000>;
-               regulator-max-microvolt = <5000000>;
-               regulator-boot-on;
-               regulator-always-on;
-       };
-
-       gpio-keys {
-               compatible = "gpio-keys";
-               pinctrl-names = "default";
-               pinctrl-0 = <&key_pins_a>;
-
-               factory {
-                       label = "factory";
-                       linux,code = <KEY_RESTART>;
-                       gpios = <&pio 256 GPIO_ACTIVE_LOW>;
-               };
-       };
-
-       leds {
-               compatible = "gpio-leds";
-               pinctrl-names = "default";
-               pinctrl-0 = <&led_pins_unielec>;
-
-               led3_green: led3 {
-                       label = "u7623-01:green:led3";
-                       gpios = <&pio 14 GPIO_ACTIVE_LOW>;
-               };
-
-               led4 {
-                       label = "u7623-01:green:led4";
-                       gpios = <&pio 15 GPIO_ACTIVE_LOW>;
-               };
-       };
-};
-
-&crypto {
-       status = "okay";
-};
-
-&eth {
-       status = "okay";
-
-       gmac0: mac@0 {
-               compatible = "mediatek,eth-mac";
-               reg = <0>;
-               phy-mode = "trgmii";
-
-               fixed-link {
-                       speed = <1000>;
-                       full-duplex;
-                       pause;
-               };
-       };
-
-       mdio: mdio-bus {
-               #address-cells = <1>;
-               #size-cells = <0>;
-
-               mt7530: switch@0 {
-                       compatible = "mediatek,mt7530";
-               };
-       };
-};
-
-&mt7530 {
-       compatible = "mediatek,mt7530";
-       #address-cells = <1>;
-       #size-cells = <0>;
-       reg = <0>;
-       pinctrl-names = "default";
-       mediatek,mcm;
-       resets = <&ethsys 2>;
-       reset-names = "mcm";
-       core-supply = <&mt6323_vpa_reg>;
-       io-supply = <&mt6323_vemc3v3_reg>;
-
-       dsa,mii-bus = <&mdio>;
-
-       ports {
-               #address-cells = <1>;
-               #size-cells = <0>;
-               reg = <0>;
-
-               port@0 {
-                       reg = <0>;
-                       label = "lan0";
-                       cpu = <&cpu_port0>;
-               };
-
-               port@1 {
-                       reg = <1>;
-                       label = "lan1";
-                       cpu = <&cpu_port0>;
-               };
-
-               port@2 {
-                       reg = <2>;
-                       label = "lan2";
-                       cpu = <&cpu_port0>;
-               };
-
-               port@3 {
-                       reg = <3>;
-                       label = "lan3";
-                       cpu = <&cpu_port0>;
-               };
-
-               port@4 {
-                       reg = <4>;
-                       label = "wan";
-                       cpu = <&cpu_port0>;
-               };
-
-               cpu_port0: port@6 {
-                       reg = <6>;
-                       label = "cpu";
-                       ethernet = <&gmac0>;
-                       phy-mode = "trgmii";
-
-                       fixed-link {
-                               speed = <1000>;
-                               full-duplex;
-                       };
-               };
-       };
-};
-
-&mmc0 {
-       pinctrl-names = "default", "state_uhs";
-       pinctrl-0 = <&mmc0_pins_default>;
-       pinctrl-1 = <&mmc0_pins_uhs>;
-       status = "okay";
-       bus-width = <8>;
-       max-frequency = <50000000>;
-       cap-mmc-highspeed;
-       vmmc-supply = <&reg_3p3v>;
-       vqmmc-supply = <&reg_1p8v>;
-       non-removable;
-};
-
-&pio {
-       key_pins_a: keys-alt {
-               pins-keys {
-                       pinmux = <MT7623_PIN_256_GPIO256_FUNC_GPIO256>,
-                                <MT7623_PIN_257_GPIO257_FUNC_GPIO257>;
-                       input-enable;
-               };
-       };
-
-       led_pins_unielec: leds-unielec {
-               pins-leds {
-                       pinmux = <MT7623_PIN_14_GPIO14_FUNC_GPIO14>,
-                                <MT7623_PIN_15_GPIO15_FUNC_GPIO15>;
-               };
-       };
-
-       mmc0_pins_default: mmc0default {
-               pins_cmd_dat {
-                       pinmux = <MT7623_PIN_111_MSDC0_DAT7_FUNC_MSDC0_DAT7>,
-                                <MT7623_PIN_112_MSDC0_DAT6_FUNC_MSDC0_DAT6>,
-                                <MT7623_PIN_113_MSDC0_DAT5_FUNC_MSDC0_DAT5>,
-                                <MT7623_PIN_114_MSDC0_DAT4_FUNC_MSDC0_DAT4>,
-                                <MT7623_PIN_118_MSDC0_DAT3_FUNC_MSDC0_DAT3>,
-                                <MT7623_PIN_119_MSDC0_DAT2_FUNC_MSDC0_DAT2>,
-                                <MT7623_PIN_120_MSDC0_DAT1_FUNC_MSDC0_DAT1>,
-                                <MT7623_PIN_121_MSDC0_DAT0_FUNC_MSDC0_DAT0>,
-                                <MT7623_PIN_116_MSDC0_CMD_FUNC_MSDC0_CMD>;
-                       input-enable;
-                       bias-pull-up;
-               };
-
-               pins_clk {
-                       pinmux = <MT7623_PIN_117_MSDC0_CLK_FUNC_MSDC0_CLK>;
-                       bias-pull-down;
-               };
-
-               pins_rst {
-                       pinmux = <MT7623_PIN_115_MSDC0_RSTB_FUNC_MSDC0_RSTB>;
-                       bias-pull-up;
-               };
-       };
-
-       mmc0_pins_uhs: mmc0 {
-               pins_cmd_dat {
-                       pinmux = <MT7623_PIN_111_MSDC0_DAT7_FUNC_MSDC0_DAT7>,
-                                <MT7623_PIN_112_MSDC0_DAT6_FUNC_MSDC0_DAT6>,
-                                <MT7623_PIN_113_MSDC0_DAT5_FUNC_MSDC0_DAT5>,
-                                <MT7623_PIN_114_MSDC0_DAT4_FUNC_MSDC0_DAT4>,
-                                <MT7623_PIN_118_MSDC0_DAT3_FUNC_MSDC0_DAT3>,
-                                <MT7623_PIN_119_MSDC0_DAT2_FUNC_MSDC0_DAT2>,
-                                <MT7623_PIN_120_MSDC0_DAT1_FUNC_MSDC0_DAT1>,
-                                <MT7623_PIN_121_MSDC0_DAT0_FUNC_MSDC0_DAT0>,
-                                <MT7623_PIN_116_MSDC0_CMD_FUNC_MSDC0_CMD>;
-                       input-enable;
-                       drive-strength = <MTK_DRIVE_2mA>;
-                       bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
-               };
-
-               pins_clk {
-                       pinmux = <MT7623_PIN_117_MSDC0_CLK_FUNC_MSDC0_CLK>;
-                       drive-strength = <MTK_DRIVE_2mA>;
-                       bias-pull-down = <MTK_PUPD_SET_R1R0_01>;
-               };
-
-               pins_rst {
-                       pinmux = <MT7623_PIN_115_MSDC0_RSTB_FUNC_MSDC0_RSTB>;
-                       bias-pull-up;
-               };
-       };
-
-       pcie_default: pcie_pin_default {
-               pins_cmd_dat {
-                       pinmux = <MT7623_PIN_208_AUD_EXT_CK1_FUNC_PCIE0_PERST_N>,
-                                <MT7623_PIN_209_AUD_EXT_CK2_FUNC_PCIE1_PERST_N>;
-                       bias-disable;
-               };
-       };
-};
-
-&pwm {
-       pinctrl-names = "default";
-       pinctrl-0 = <&pwm_pins_a>;
-       status = "okay";
-};
-
-&pwrap {
-       mt6323 {
-               mt6323led: led {
-                       compatible = "mediatek,mt6323-led";
-                       #address-cells = <1>;
-                       #size-cells = <0>;
-
-                       led@0 {
-                               reg = <0>;
-                               label = "led0";
-                       };
-               };
-       };
-};
-
-&mt6323keys {
-       mediatek,long-press-mode = <0>;
-};
-
-&uart2 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&uart2_pins_b>;
-       status = "okay";
-};
-
-&usb1 {
-       vusb33-supply = <&reg_3p3v>;
-       vbus-supply = <&reg_3p3v>;
-       status = "okay";
-};
-
-&u3phy1 {
-       status = "okay";
-};
-
-&u3phy2 {
-       status = "okay";
-       mediatek,phy-switch = <&hifsys>;
-};
-
-&pcie {
-       pinctrl-names = "default";
-       pinctrl-0 = <&pcie_default>;
-       status = "okay";
-
-       pcie@0,0 {
-               status = "okay";
-       };
-
-       pcie@1,0 {
-               status = "okay";
-       };
-
-       pcie@2,0 {
-               status = "okay";
-       };
-};
-
-&pcie0_phy {
-       status = "okay";
-};
-
-&pcie1_phy {
-       status = "okay";
-};
-
diff --git a/target/linux/mediatek/dts/mt7623a-unielec-u7623-02.dts b/target/linux/mediatek/dts/mt7623a-unielec-u7623-02.dts
new file mode 100644 (file)
index 0000000..bcd81ba
--- /dev/null
@@ -0,0 +1,12 @@
+// SPDX-License-Identifier: (GPL-2.0-or-later OR MIT)
+/*
+ * Copyright 2018 Kristian Evensen <kristian.evensen@gmail.com>
+ */
+
+/dts-v1/;
+#include "mt7623a-unielec-u7623-02.dtsi"
+
+/ {
+       model = "UniElec U7623-02 eMMC";
+       compatible = "unielec,u7623-02", "mediatek,mt7623";
+};
diff --git a/target/linux/mediatek/dts/mt7623a-unielec-u7623-02.dtsi b/target/linux/mediatek/dts/mt7623a-unielec-u7623-02.dtsi
new file mode 100644 (file)
index 0000000..50c7f3e
--- /dev/null
@@ -0,0 +1,356 @@
+// SPDX-License-Identifier: (GPL-2.0-or-later OR MIT)
+/*
+ * Copyright 2018 Kristian Evensen <kristian.evensen@gmail.com>
+ */
+
+#include <dt-bindings/input/input.h>
+#include "mt7623.dtsi"
+#include "mt6323.dtsi"
+
+/ {
+       compatible = "unielec,u7623-02", "mediatek,mt7623";
+
+       aliases {
+               serial0 = &uart2;
+               ethernet0 = &gmac0;
+               mmc0 = &mmc0;
+               led-boot = &led3_green;
+               led-failsafe = &led3_green;
+               led-running = &led3_green;
+               led-upgrade = &led3_green;
+       };
+
+       chosen {
+               stdout-path = "serial0:115200n8";
+       };
+
+       cpus {
+               cpu@0 {
+                       proc-supply = <&mt6323_vproc_reg>;
+               };
+
+               cpu@1 {
+                       proc-supply = <&mt6323_vproc_reg>;
+               };
+
+               cpu@2 {
+                       proc-supply = <&mt6323_vproc_reg>;
+               };
+
+               cpu@3 {
+                       proc-supply = <&mt6323_vproc_reg>;
+               };
+       };
+
+       reg_1p8v: regulator-1p8v {
+               compatible = "regulator-fixed";
+               regulator-name = "fixed-1.8V";
+               regulator-min-microvolt = <1800000>;
+               regulator-max-microvolt = <1800000>;
+               regulator-boot-on;
+               regulator-always-on;
+       };
+
+       reg_3p3v: regulator-3p3v {
+               compatible = "regulator-fixed";
+               regulator-name = "fixed-3.3V";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               regulator-boot-on;
+               regulator-always-on;
+       };
+
+       reg_5v: regulator-5v {
+               compatible = "regulator-fixed";
+               regulator-name = "fixed-5V";
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+               regulator-boot-on;
+               regulator-always-on;
+       };
+
+       gpio-keys {
+               compatible = "gpio-keys";
+               pinctrl-names = "default";
+               pinctrl-0 = <&key_pins_a>;
+
+               factory {
+                       label = "factory";
+                       linux,code = <KEY_RESTART>;
+                       gpios = <&pio 256 GPIO_ACTIVE_LOW>;
+               };
+       };
+
+       leds {
+               compatible = "gpio-leds";
+               pinctrl-names = "default";
+               pinctrl-0 = <&led_pins_unielec>;
+
+               led3_green: led3 {
+                       label = "u7623-01:green:led3";
+                       gpios = <&pio 14 GPIO_ACTIVE_LOW>;
+               };
+
+               led4 {
+                       label = "u7623-01:green:led4";
+                       gpios = <&pio 15 GPIO_ACTIVE_LOW>;
+               };
+       };
+};
+
+&crypto {
+       status = "okay";
+};
+
+&eth {
+       status = "okay";
+
+       gmac0: mac@0 {
+               compatible = "mediatek,eth-mac";
+               reg = <0>;
+               phy-mode = "trgmii";
+
+               fixed-link {
+                       speed = <1000>;
+                       full-duplex;
+                       pause;
+               };
+       };
+
+       mdio: mdio-bus {
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               mt7530: switch@0 {
+                       compatible = "mediatek,mt7530";
+               };
+       };
+};
+
+&mt7530 {
+       compatible = "mediatek,mt7530";
+       #address-cells = <1>;
+       #size-cells = <0>;
+       reg = <0>;
+       pinctrl-names = "default";
+       mediatek,mcm;
+       resets = <&ethsys 2>;
+       reset-names = "mcm";
+       core-supply = <&mt6323_vpa_reg>;
+       io-supply = <&mt6323_vemc3v3_reg>;
+
+       dsa,mii-bus = <&mdio>;
+
+       ports {
+               #address-cells = <1>;
+               #size-cells = <0>;
+               reg = <0>;
+
+               port@0 {
+                       reg = <0>;
+                       label = "lan0";
+                       cpu = <&cpu_port0>;
+               };
+
+               port@1 {
+                       reg = <1>;
+                       label = "lan1";
+                       cpu = <&cpu_port0>;
+               };
+
+               port@2 {
+                       reg = <2>;
+                       label = "lan2";
+                       cpu = <&cpu_port0>;
+               };
+
+               port@3 {
+                       reg = <3>;
+                       label = "lan3";
+                       cpu = <&cpu_port0>;
+               };
+
+               port@4 {
+                       reg = <4>;
+                       label = "wan";
+                       cpu = <&cpu_port0>;
+               };
+
+               cpu_port0: port@6 {
+                       reg = <6>;
+                       label = "cpu";
+                       ethernet = <&gmac0>;
+                       phy-mode = "trgmii";
+
+                       fixed-link {
+                               speed = <1000>;
+                               full-duplex;
+                       };
+               };
+       };
+};
+
+&mmc0 {
+       pinctrl-names = "default", "state_uhs";
+       pinctrl-0 = <&mmc0_pins_default>;
+       pinctrl-1 = <&mmc0_pins_uhs>;
+       status = "okay";
+       bus-width = <8>;
+       max-frequency = <50000000>;
+       cap-mmc-highspeed;
+       vmmc-supply = <&reg_3p3v>;
+       vqmmc-supply = <&reg_1p8v>;
+       non-removable;
+};
+
+&pio {
+       key_pins_a: keys-alt {
+               pins-keys {
+                       pinmux = <MT7623_PIN_256_GPIO256_FUNC_GPIO256>,
+                                <MT7623_PIN_257_GPIO257_FUNC_GPIO257>;
+                       input-enable;
+               };
+       };
+
+       led_pins_unielec: leds-unielec {
+               pins-leds {
+                       pinmux = <MT7623_PIN_14_GPIO14_FUNC_GPIO14>,
+                                <MT7623_PIN_15_GPIO15_FUNC_GPIO15>;
+               };
+       };
+
+       mmc0_pins_default: mmc0default {
+               pins_cmd_dat {
+                       pinmux = <MT7623_PIN_111_MSDC0_DAT7_FUNC_MSDC0_DAT7>,
+                                <MT7623_PIN_112_MSDC0_DAT6_FUNC_MSDC0_DAT6>,
+                                <MT7623_PIN_113_MSDC0_DAT5_FUNC_MSDC0_DAT5>,
+                                <MT7623_PIN_114_MSDC0_DAT4_FUNC_MSDC0_DAT4>,
+                                <MT7623_PIN_118_MSDC0_DAT3_FUNC_MSDC0_DAT3>,
+                                <MT7623_PIN_119_MSDC0_DAT2_FUNC_MSDC0_DAT2>,
+                                <MT7623_PIN_120_MSDC0_DAT1_FUNC_MSDC0_DAT1>,
+                                <MT7623_PIN_121_MSDC0_DAT0_FUNC_MSDC0_DAT0>,
+                                <MT7623_PIN_116_MSDC0_CMD_FUNC_MSDC0_CMD>;
+                       input-enable;
+                       bias-pull-up;
+               };
+
+               pins_clk {
+                       pinmux = <MT7623_PIN_117_MSDC0_CLK_FUNC_MSDC0_CLK>;
+                       bias-pull-down;
+               };
+
+               pins_rst {
+                       pinmux = <MT7623_PIN_115_MSDC0_RSTB_FUNC_MSDC0_RSTB>;
+                       bias-pull-up;
+               };
+       };
+
+       mmc0_pins_uhs: mmc0 {
+               pins_cmd_dat {
+                       pinmux = <MT7623_PIN_111_MSDC0_DAT7_FUNC_MSDC0_DAT7>,
+                                <MT7623_PIN_112_MSDC0_DAT6_FUNC_MSDC0_DAT6>,
+                                <MT7623_PIN_113_MSDC0_DAT5_FUNC_MSDC0_DAT5>,
+                                <MT7623_PIN_114_MSDC0_DAT4_FUNC_MSDC0_DAT4>,
+                                <MT7623_PIN_118_MSDC0_DAT3_FUNC_MSDC0_DAT3>,
+                                <MT7623_PIN_119_MSDC0_DAT2_FUNC_MSDC0_DAT2>,
+                                <MT7623_PIN_120_MSDC0_DAT1_FUNC_MSDC0_DAT1>,
+                                <MT7623_PIN_121_MSDC0_DAT0_FUNC_MSDC0_DAT0>,
+                                <MT7623_PIN_116_MSDC0_CMD_FUNC_MSDC0_CMD>;
+                       input-enable;
+                       drive-strength = <MTK_DRIVE_2mA>;
+                       bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
+               };
+
+               pins_clk {
+                       pinmux = <MT7623_PIN_117_MSDC0_CLK_FUNC_MSDC0_CLK>;
+                       drive-strength = <MTK_DRIVE_2mA>;
+                       bias-pull-down = <MTK_PUPD_SET_R1R0_01>;
+               };
+
+               pins_rst {
+                       pinmux = <MT7623_PIN_115_MSDC0_RSTB_FUNC_MSDC0_RSTB>;
+                       bias-pull-up;
+               };
+       };
+
+       pcie_default: pcie_pin_default {
+               pins_cmd_dat {
+                       pinmux = <MT7623_PIN_208_AUD_EXT_CK1_FUNC_PCIE0_PERST_N>,
+                                <MT7623_PIN_209_AUD_EXT_CK2_FUNC_PCIE1_PERST_N>;
+                       bias-disable;
+               };
+       };
+};
+
+&pwm {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pwm_pins_a>;
+       status = "okay";
+};
+
+&pwrap {
+       mt6323 {
+               mt6323led: led {
+                       compatible = "mediatek,mt6323-led";
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+
+                       led@0 {
+                               reg = <0>;
+                               label = "led0";
+                       };
+               };
+       };
+};
+
+&mt6323keys {
+       mediatek,long-press-mode = <0>;
+};
+
+&uart2 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&uart2_pins_b>;
+       status = "okay";
+};
+
+&usb1 {
+       vusb33-supply = <&reg_3p3v>;
+       vbus-supply = <&reg_3p3v>;
+       status = "okay";
+};
+
+&u3phy1 {
+       status = "okay";
+};
+
+&u3phy2 {
+       status = "okay";
+       mediatek,phy-switch = <&hifsys>;
+};
+
+&pcie {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pcie_default>;
+       status = "okay";
+
+       pcie@0,0 {
+               status = "okay";
+       };
+
+       pcie@1,0 {
+               status = "okay";
+       };
+
+       pcie@2,0 {
+               status = "okay";
+       };
+};
+
+&pcie0_phy {
+       status = "okay";
+};
+
+&pcie1_phy {
+       status = "okay";
+};
+
diff --git a/target/linux/mediatek/image/Config.in b/target/linux/mediatek/image/Config.in
deleted file mode 100644 (file)
index 63329d3..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-config MTK_BOOT_PARTSIZE
-       int "Boot (SD Card/eMMC) filesystem partition size (in MiB)"
-       depends on TARGET_mediatek_mt7623_DEVICE_unielec_u7623-emmc || TARGET_DEVICE_mediatek_mt7623_DEVICE_unielec_u7623-emmc
-       default 32
index 7aa7a7285c3fb20c36e5650b7dc37e352772dfa1..4c17e5845a226f3cc9534b9ce89bdd8774cae1ee 100644 (file)
@@ -6,17 +6,7 @@
 include $(TOPDIR)/rules.mk
 include $(INCLUDE_DIR)/image.mk
 
-define Build/sysupgrade-emmc
-       rm -f $@.recovery
-       mkfs.fat -C $@.recovery 3070
-
-       ./gen_$(SUBTARGET)_emmc_img.sh $@ \
-               $(IMAGE_KERNEL) \
-               $@.recovery \
-               $(IMAGE_ROOTFS)
-endef
-
-# default all platform image(fit) build 
+# default all platform image(fit) build
 define Device/Default
   PROFILES = Default $$(DEVICE_NAME)
   KERNEL_NAME := Image
diff --git a/target/linux/mediatek/image/gen_mt7623_emmc_img.sh b/target/linux/mediatek/image/gen_mt7623_emmc_img.sh
deleted file mode 100755 (executable)
index b9eedf8..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/bin/sh
-#
-# This script is used only to create the "legacy" image for UniElec U7623,
-# suitable for upgrading from the vendor OpenWrt or from OpenWrt 19.07.
-#
-OUTPUT_FILE=$1
-KERNEL_FILE=$2
-RECOVERY_FILE=$3
-ROOTFS_FILE=$4
-
-BS=512
-
-# These two offsets are relative to the absolute location of the kernel on the mmc
-# (0xA00), so their position in the image is -2560 blocks
-#
-# They must be kept in sync with the default command line for U7623.
-# blkdevparts=mmcblk0:3M@6M(recovery),256M@9M(root)"
-#
-# For upgrading from the vendor firmware, the total image must fit in its
-# MTD 'firmware' partition, which is typically 36MiB.
-
-# In the legacy image, the uImage starts at block 0xa00. Allow 4864 KiB (9728) blocks.
-RECOVERY_OFFSET=9728
-# The recovery image is 3MiB, or 6144 blocks.
-ROOTFS_OFFSET=15872
-
-dd bs="$BS" of="$OUTPUT_FILE" if="$KERNEL_FILE"
-dd bs="$BS" of="$OUTPUT_FILE" if="$RECOVERY_FILE" seek="$RECOVERY_OFFSET"
-dd bs="$BS" of="$OUTPUT_FILE" if="$ROOTFS_FILE" seek="$ROOTFS_OFFSET"
-dd if=/dev/zero of="$OUTPUT_FILE" bs=128k count=1 oflag=append conv=notrunc
diff --git a/target/linux/mediatek/image/gen_mtk_mmc_img.sh b/target/linux/mediatek/image/gen_mtk_mmc_img.sh
deleted file mode 100755 (executable)
index 7e19e1a..0000000
+++ /dev/null
@@ -1,147 +0,0 @@
-#!/bin/bash
-# SPDX-License-Identifier: GPL-2.0-only
-#
-# Copyright © 2019 Alexey Loukianov <lx2@lexa2.ru>
-# Copyright © 2020 David Woodhouse <dwmw2@infradead.org>
-
-# Generates a bootable SD card image for Banana Pi R2 (and probably
-# other similar boards) as documented at
-# http://www.fw-web.de/dokuwiki/doku.php?id=en:bpi-r2:storage
-#
-# The first sector must contain the SDMMC_BOOT header shown
-# below, and also contains the MBR partition table in the end
-# of the sector. The partition table must contain no active
-# partitions.
-#
-# The second sector must contain the BRLYT header, and the
-# special preloader image goes in sector 4; 2KiB into the image.
-#
-# The preloader loads U-Boot from  sector 640; 320KiB into the image.
-# The location and the size (512KiB) are fixed and not read from
-# the partition table. We set up a partition for it merely for
-# our own convenience for upgrades, etc.
-#
-# The second partition is a FAT file system containing the kernel
-# image and a uboot.env file, which is provided to this script as
-# $4 (bootfs image). Its size is configurable with the
-# CONFIG_MTK_BOOT_PARTSIZE option; by default 32MiB.
-#
-# The root filesystem comes next in the third partition.
-#
-#
-#   ------------------------   Sector   Offset
-#   |  MBR + SDMMC_BOOT    |     0       0x0
-#   |----------------------|
-#   |     BRLYT header     |     1       0x200
-#   |----------------------|
-#   .                      .
-#   .                      .
-#   |----------------------|
-#   |                      |     4       0x800
-#   |                      |
-#   |     Preloader        |
-#   .                      .
-#   .                      .
-#   |                      |     639
-#   |----------------------|
-#   |   MBR partition #1   |     640     0x50000
-#   |                      |
-#   |       U-Boot         |
-#   .                      .
-#   .                      .
-#   |                      |     1663
-#   |----------------------|
-#   |   MBR partition #2   |
-#   |                      |
-#   |    FAT partition     |   ( MTK_BOOT_PARTSIZE
-#   .                      .     default 32MiB )
-#   .    (kernel, uEnv)    .
-#   |                      |
-#   |----------------------|
-#   |   MBR partition #3   |
-#   |                      |
-#   |   Root partition     |
-#   |                      |   ( TARGET_ROOTFS_PARTSIZE
-#   |  (squashfs+overlay   |     default 104MiB )
-#   .    or ext4, etc.)    .
-#   .                      .
-#   |                      |
-#   ------------------------
-#
-# For eMMC boot, everything up to and including the preloader must be
-# written to /dev/mmcblk0boot0, with the SDMMC_BOOT header changed to
-# read EMMC_BOOT\0 instead.
-#
-# The contents of the main eMMC are identical to the SD card layout,
-# with the preloader loading 512KiB of U-Boot starting at 0x50000.
-
-usage() {
-    echo "SYNTAX: $0 sd <file> <preloader image> <u-boot image> <u-boot offset> <bootfs image> <rootfs image> <bootfs size> <rootfs size>"
-    echo " OR:    $0 emmc <file> <preloader image>"
-    exit 1
-}
-
-set -e
-
-PRELOADER_OFFSET=2     # 2KiB
-
-SDMMC_BOOT="SDMMC_BOOT\x00\x00\x01\x00\x00\x00\x00\x02\x00\x00"
-EMMC_BOOT="EMMC_BOOT\x00\x00\x00\x01\x00\x00\x00\x00\x02\x00\x00"
-BRLYT="BRLYT\x00\x00\x00\x01\x00\x00\x00\x00\x08\x00\x00\
-\x00\x08\x00\x00\x42\x42\x42\x42\x08\x00\x01\x00\x00\x08\x00\x00\
-\x00\x08\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
-
-case $1 in
- sd)
-       [ $# -eq 9 ] || usage
-       OUTPUT="$2"
-       PRELOADER="$3"
-       UBOOT="$4"
-       UBOOTOFS="$5"
-       BOOTFS="$6"
-       ROOTFS="$7"
-       BOOTFSSIZE="$8"
-       ROOTFSSIZE="$9"
-
-       head=4
-       sect=63
-
-       set $(ptgen -o $OUTPUT -h $head -s $sect -a 0 -l 1024 \
-                   -t 41 -p 512k@${UBOOTOFS} \
-                   -t c -p ${BOOTFSSIZE}M \
-                   -t 83 -p ${ROOTFSSIZE}M )
-
-       UBOOT_OFFSET="$(($1 / 512))"
-       UBOOT_SIZE="$(($2 / 512))"
-       BOOTFS_OFFSET="$(($3 / 512))"
-       BOOTFS_SIZE="$(($4 / 512))"
-       ROOTFS_OFFSET="$(($5 / 512))"
-       ROOTFS_SIZE="$(($6 / 512))"
-
-       echo -en "${SDMMC_BOOT}" | dd bs=1 of="${OUTPUT}" seek=0   conv=notrunc
-       echo -en "${BRLYT}"      | dd bs=1 of="${OUTPUT}" seek=512 conv=notrunc
-
-       # For eMMC-only boards like U7623 the preloader doesn't need to be included in the
-       # main image as it's only ever needed in the eMMC boot partition.
-       if [ -r ${PRELOADER} ]; then
-           dd bs=1024 if="${PRELOADER}" of="${OUTPUT}" seek="${PRELOADER_OFFSET}" conv=notrunc
-       fi
-       dd bs=512  if="${UBOOT}"     of="${OUTPUT}" seek="${UBOOT_OFFSET}"     conv=notrunc
-       dd bs=512  if="${BOOTFS}"    of="${OUTPUT}" seek="${BOOTFS_OFFSET}"    conv=notrunc
-       dd bs=512  if="${ROOTFS}"    of="${OUTPUT}" seek="${ROOTFS_OFFSET}"    conv=notrunc
-       dd bs=128k if=/dev/zero      of="${OUTPUT}" count=1    oflag=append    conv=notrunc
-       ;;
- emmc)
-       [ $# -eq 3 ] || usage
-       OUTPUT="$2"
-       PRELOADER="$3"
-
-       echo -en "${EMMC_BOOT}"  | dd bs=1 of="${OUTPUT}" seek=0
-       echo -en "${BRLYT}"      | dd bs=1 of="${OUTPUT}" seek=512 conv=notrunc
-
-       dd bs=1024 if="${PRELOADER}" of="${OUTPUT}" seek="${PRELOADER_OFFSET}" conv=notrunc
-       ;;
- *)
-       usage
-       ;;
-esac
index 1d7745f1d699eb61ff01faa47865126c4a75a14c..cad3dd2b93803b75c1e3d1737fed3974f2d6b326 100644 (file)
@@ -1,5 +1,5 @@
 KERNEL_LOADADDR := 0x80008000
-DEVICE_VARS += UBOOT_TARGET UBOOT_OFFSET UBOOT_ENVSIZE
+DEVICE_VARS += UBOOT_TARGET UBOOT_OFFSET UBOOT_IMAGE
 
 # The bootrom of MT7623 expects legacy MediaTek headers present in
 # exactly the location also used for the primary GPT partition table.
@@ -55,7 +55,7 @@ DEVICE_VARS += UBOOT_TARGET UBOOT_OFFSET UBOOT_ENVSIZE
 define Build/mt7623-mbr
        cp $@ $@.tmp 2>/dev/null || true
        ptgen -o $@.tmp -h 4 -s 63 -a 0 -l 1024 \
-                       -t 0x41 -N uboot        -p 3584k@320k \
+                       -t 0x41 -N uboot        -p 1M@$(UBOOT_OFFSET) \
                        -t 0xea -N recovery     -p 40M@4M \
                $(if $(findstring sdmmc,$1), \
                        -t 0x2e -N production   -p $(CONFIG_TARGET_ROOTFS_PARTSIZE)M@48M \
@@ -81,7 +81,12 @@ define Build/append-preloader
 endef
 
 define Build/append-bootloader
-       cat $(STAGING_DIR_IMAGE)/$1-u-boot.bin >> $@
+       cat $(STAGING_DIR_IMAGE)/$1-$(UBOOT_IMAGE) >> $@
+endef
+
+define Build/scatterfile
+       ./gen_scatterfile.sh $(subst mt,MT,$(SUBTARGET)) "$1" \
+               $(subst -scatter.txt,,$(notdir $@)) "$(DEVICE_TITLE)" > $@
 endef
 
 define Device/bananapi_bpi-r2
@@ -89,84 +94,69 @@ define Device/bananapi_bpi-r2
   DEVICE_MODEL := BPi-R2
   DEVICE_DTS := mt7623n-bananapi-bpi-r2
   DEVICE_PACKAGES := mkf2fs e2fsprogs kmod-usb3 kmod-ata-ahci
-  UBOOT_ENVSIZE := 0x10000
   UBOOT_OFFSET := 320k
   UBOOT_TARGET := mt7623n_bpir2
-  UBOOT_PATH := $(STAGING_DIR_IMAGE)/mt7623n_bpir2-u-boot.bin
+  UBOOT_IMAGE := u-boot.bin
+  UBOOT_PATH := $(STAGING_DIR_IMAGE)/$$(UBOOT_TARGET)-$$(UBOOT_IMAGE)
   IMAGES := sysupgrade.itb
   KERNEL := kernel-bin | gzip
   KERNEL_INITRAMFS_SUFFIX := -recovery.itb
   KERNEL_INITRAMFS := kernel-bin | gzip | fit gzip $$(DTS_DIR)/$$(DEVICE_DTS).dtb with-initrd
   IMAGE/sysupgrade.itb := append-kernel | fit gzip $$(DTS_DIR)/$$(DEVICE_DTS).dtb external-static-with-rootfs | append-metadata
-  ARTIFACT/preloader.bin := append-preloader $$(UBOOT_TARGET)
+  ARTIFACT/preloader.bin := mt7623-mbr emmc |\
+                           pad-to 2k | append-preloader $$(UBOOT_TARGET)
   ARTIFACT/u-boot.bin := append-uboot
   ARTIFACT/sdcard.img.gz := mt7623-mbr sdmmc |\
                            pad-to 2k | append-preloader $$(UBOOT_TARGET) |\
-                           pad-to 320k | append-bootloader $$(UBOOT_TARGET) |\
+                           pad-to $$(UBOOT_OFFSET) | append-bootloader $$(UBOOT_TARGET) |\
                            pad-to 4092k | mt7623-mbr emmc |\
                            pad-to 4M | append-image-stage initramfs-recovery.itb |\
                            pad-to 48M | append-image squashfs-sysupgrade.itb |\
                            gzip
-  ARTIFACTS = u-boot.bin preloader.bin scatter.txt sdcard.img.gz
+  ARTIFACTS := u-boot.bin preloader.bin sdcard.img.gz
   SUPPORTED_DEVICES := bananapi,bpi-r2
 endef
 TARGET_DEVICES += bananapi_bpi-r2
 
-
-ifneq ($(CONFIG_MTK_BOOT_PARTSIZE),)
-BOOTFS_BLOCK_SIZE := 1024
-BOOTFS_BLOCKS := $(shell echo $$(($(CONFIG_MTK_BOOT_PARTSIZE)*1024*1024/$(BOOTFS_BLOCK_SIZE))))
-endif
-
-define Build/mtk-mmc-img
-       rm -f $@.boot
-       mkfs.fat -C $@.boot $(BOOTFS_BLOCKS)
-
-       if [ -r $(STAGING_DIR_IMAGE)/$(UBOOT_TARGET)-preloader.bin ]; then \
-               ./gen_mtk_mmc_img.sh emmc $@.emmc \
-                       $(STAGING_DIR_IMAGE)/$(UBOOT_TARGET)-preloader.bin; \
-               mcopy -i $@.boot $@.emmc ::eMMCboot.bin; \
-       fi
-       mkenvimage -s $(UBOOT_ENVSIZE) -o $(STAGING_DIR_IMAGE)/$(UBOOT_TARGET)-uboot.env $(UBOOT_TARGET)-uEnv.txt
-       mcopy -i $@.boot $(STAGING_DIR_IMAGE)/$(UBOOT_TARGET)-uboot.env ::uboot.env
-       mcopy -i $@.boot $(IMAGE_KERNEL) ::uImage
-       ./gen_mtk_mmc_img.sh sd $@ \
-               $(STAGING_DIR_IMAGE)/$(UBOOT_TARGET)-preloader.bin \
-               $(STAGING_DIR_IMAGE)/$(UBOOT_TARGET)-u-boot*.bin \
-               $(UBOOT_OFFSET) \
-               $@.boot \
-               $(IMAGE_ROOTFS) \
-               $(CONFIG_MTK_BOOT_PARTSIZE) \
-               104
-endef
-
-define Build/scatterfile
-       ./gen_scatterfile.sh $(subst mt,MT,$(SUBTARGET)) "$1" \
-               $(subst -scatter.txt,,$(notdir $@)) "$(DEVICE_TITLE)" > $@
-endef
-
-
-# Full eMMC image including U-Boot and partition table
-define Device/unielec_u7623-emmc
+define Device/unielec_u7623-02
   DEVICE_VENDOR := UniElec
-  DEVICE_MODEL := U7623
-  DEVICE_VARIANT := eMMC
+  DEVICE_MODEL := U7623-02
   # When we use FIT images, U-Boot will populate the /memory node with the correct
   # memory size discovered from the preloader, so we don't need separate builds.
-  DEVICE_DTS := mt7623a-unielec-u7623-02-emmc-512m
+  DEVICE_DTS := mt7623a-unielec-u7623-02
   DEVICE_DTS_DIR := ../dts
-  SUPPORTED_DEVICES := unielec,u7623-02-emmc-512m
-  UBOOT_ENVSIZE := 0x1000
+  DEVICE_PACKAGES := kmod-fs-vfat kmod-nls-cp437 kmod-nls-iso8859-1 kmod-mmc \
+       mkf2fs e2fsprogs kmod-usb-ohci kmod-usb2 kmod-usb3 kmod-ata-ahci
   UBOOT_OFFSET := 256k
   UBOOT_TARGET := mt7623a_unielec_u7623
-  IMAGES := img.gz
-  IMAGE/img.gz := mtk-mmc-img | gzip | append-metadata
-  DEVICE_PACKAGES := kmod-fs-vfat kmod-nls-cp437 kmod-nls-iso8859-1 kmod-mmc \
-       mkf2fs e2fsprogs kmod-usb-ohci kmod-usb2 kmod-usb3 kmod-ata-ahci-mtk
-  ARTIFACT/scatter.txt := scatterfile $$(firstword $$(FILESYSTEMS))-$$(firstword $$(IMAGES))
-  ARTIFACTS := scatter.txt
+  UBOOT_IMAGE := u-boot-mtk.bin
+  UBOOT_PATH := $(STAGING_DIR_IMAGE)/$$(UBOOT_TARGET)-$$(UBOOT_IMAGE)
+  IMAGES := sysupgrade.itb
+  KERNEL := kernel-bin | gzip
+  KERNEL_INITRAMFS_SUFFIX := -recovery.itb
+  KERNEL_INITRAMFS := kernel-bin | gzip | fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd
+  IMAGE/sysupgrade.itb := append-kernel | fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-static-with-rootfs | append-metadata
+  ARTIFACT/u-boot.bin := append-uboot
+# vendor Preloader seems not to care about SDMMC_BOOT/EMMC_BOOT header,
+# but OpenWrt expects 'SDMM' magic for sysupgrade.
+  ARTIFACT/emmc.img.gz := mt7623-mbr sdmmc |\
+                           pad-to $$(UBOOT_OFFSET) | append-bootloader $$(UBOOT_TARGET) |\
+                           pad-to 4M | append-image-stage initramfs-recovery.itb |\
+                           pad-to 48M | append-image squashfs-sysupgrade.itb |\
+                           gzip | append-metadata
+  ARTIFACT/scatter.txt := scatterfile emmc.img.gz
+  ARTIFACTS := u-boot.bin scatter.txt emmc.img.gz
+  SUPPORTED_DEVICES += unielec,u7623-02-emmc-512m
+endef
+TARGET_DEVICES += unielec_u7623-02
+
+
+# Legacy helper for U7623 board
+define Build/fat-recovery-fs
+       rm -f $@.recovery
+       mkfs.fat -C $@.recovery 3070
+       cat $@.recovery >> $@
 endef
-TARGET_DEVICES += unielec_u7623-emmc
 
 # Legacy partial image for U7623
 # This preserves the vendor U-Boot and starts with a uImage at 0xA00
@@ -180,9 +170,13 @@ define Device/unielec_u7623-02-emmc-512m-legacy
   KERNEL := kernel-bin | append-dtb | uImage none
   KERNEL_INITRAMFS := kernel-bin | append-dtb | uImage none
   DEVICE_PACKAGES := kmod-fs-vfat kmod-nls-cp437 kmod-nls-iso8859-1 kmod-mmc \
-       mkf2fs e2fsprogs kmod-usb-ohci kmod-usb2 kmod-usb3 kmod-ata-ahci-mtk
+       mkf2fs e2fsprogs kmod-usb-ohci kmod-usb2 kmod-usb3 kmod-ata-ahci-mtk \
+       partx-utils
   IMAGES := sysupgrade-emmc.bin.gz
-  IMAGE/sysupgrade-emmc.bin.gz := sysupgrade-emmc | gzip | append-metadata
+  IMAGE/sysupgrade-emmc.bin.gz := append-kernel |\
+                                   pad-to 4864k | fat-recovery-fs |\
+                                   pad-to 7936k | append-rootfs |\
+                                   gzip | append-metadata
   SUPPORTED_DEVICES := unielec,u7623-02-emmc-512m
 endef
 TARGET_DEVICES += unielec_u7623-02-emmc-512m-legacy
diff --git a/target/linux/mediatek/image/mt7623a_unielec_u7623-uEnv.txt b/target/linux/mediatek/image/mt7623a_unielec_u7623-uEnv.txt
deleted file mode 100644 (file)
index 5e5f8ca..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-# Boot menu for UniElec U7623
-# Copyright © 2020 David Woodhouse <dwmw2@infradead.org>
-
-kernel=uImage
-loadaddr=0x88000000
-dtaddr=0x83f00000
-fdt_high=0xafffffff
-
-console=ttyS0,115200
-bootopts=rootfstype=squashfs,ext4 rootwait
-
-# Create the command line (with appropriate root=) and boot the Linux FIT image.
-boot1=setenv bootargs "console=${console} root=${rootdev} ${bootopts}";printenv bootargs;\
- fatload mmc ${partition} ${loadaddr} ${kernel}; bootm
-
-bootmenu_0=Boot from eMMC.=setenv partition 0:2;setenv rootdev /dev/mmcblk0p3;run boot1
-bootmenu_default=0
-
-bootdelay=0
-bootcmd=bootmenu
index 2006248530bb273673d657a4b20d517e95800e78..aeab04001a3ec428977e728d1f7ac4c53f0a9eeb 100644 (file)
@@ -9,6 +9,7 @@ mediatek_setup_interfaces()
 
        case $board in
        bananapi,bpi-r2|\
+       unielec,u7623-02|\
        unielec,u7623-02-emmc-512m)
                ucidef_set_interfaces_lan_wan "lan0 lan1 lan2 lan3" "wan"
                ;;
@@ -20,6 +21,8 @@ mediatek_setup_macs()
        local board="$1"
 
        case $board in
+       bananapi,bpi-r2|\
+       unielec,u7623-02|\
        unielec,u7623-02-emmc-512m)
                ucidef_set_interface_macaddr "wan" "$(cat /sys/class/net/wan/address)"
                ;;
index 7b165df5651443f006a799cc713c5c6876b5ff2b..424fe50be2697e174f08192ab3c1eebbd2c2b60b 100644 (file)
@@ -42,22 +42,8 @@ preinit_set_mac_address() {
        local rootpart
 
        case $(board_name) in
-       bananapi,bpi-r2|\
        unielec,u7623-02-emmc-512m)
-               rootpart=$(cat /proc/cmdline)
-               rootpart="${rootpart##*root=}"
-               rootpart="${rootpart%% *}"
-               case $rootpart in
-               /dev/mmcblk0p2) # Legacy U7623 image
-                       set_recovery_mac_address /dev/mmcblk0p1
-                       ;;
-               /dev/mmcblk0p3) # U7623 or Banana Pi R2 eMMC
-                       set_recovery_mac_address /dev/mmcblk0p2
-                       ;;
-               /dev/mmcblk1p3) # Banana Pi R2 SD
-                       set_recovery_mac_address /dev/mmcblk1p2
-                       ;;
-               esac
+               set_recovery_mac_address /dev/mmcblk0p1
                ;;
        esac
 }
index 452a533db068561938c783acfb7a5221a02e0ffe..e885f460e9a5d9bd433749c60d83469d72fa26fd 100755 (executable)
@@ -2,8 +2,8 @@
 REQUIRE_IMAGE_METADATA=1
 RAMFS_COPY_BIN='fwtool'
 
-# Full system upgrade including preloader for MediaTek SoCs on eMMC or SD
-mtk_mmc_full_upgrade() {
+# Legacy full system upgrade including preloader for MediaTek SoCs on eMMC or SD
+legacy_mtk_mmc_full_upgrade() {
        local diskdev partdev diff oldrecovery
 
        if grep -q root=/dev/mmcblk0p2 /proc/cmdline; then
@@ -26,7 +26,7 @@ mtk_mmc_full_upgrade() {
        fi
        sync
 
-       if [ "$SAVE_PARTITIONS" = "1" ]; then
+       if [ "$UPGRADE_OPT_SAVE_PARTITIONS" = "1" ]; then
                get_partitions "/dev/$diskdev" bootdisk
 
                #extract the boot sector from the image
@@ -83,18 +83,18 @@ platform_do_upgrade() {
        local board=$(board_name)
 
        case "$board" in
-       bananapi,bpi-r2)
+       bananapi,bpi-r2|\
+       unielec,u7623-02)
                export_bootdevice
                export_partdevice fitpart 3
                [ "$fitpart" ] || return 1
                EMMC_KERN_DEV="/dev/$fitpart"
                emmc_do_upgrade "$1"
                ;;
-
        unielec,u7623-02-emmc-512m)
                local magic="$(get_magic_long "$1")"
                if [ "$magic" = "53444d4d" ]; then
-                       mtk_mmc_full_upgrade "$1"
+                       legacy_mtk_mmc_full_upgrade "$1"
                else # Old partial image starting with uImage
                        # Keep the persistent random mac address (if it exists)
                        recoverydev=mmcblk0p1
@@ -120,17 +120,14 @@ platform_do_upgrade() {
        esac
 }
 
-PART_NAME=firmware
-
 platform_check_image() {
-       local board=$(board_name)
        local magic="$(get_magic_long "$1")"
-       local diskdev partdev diff
 
        [ "$#" -gt 1 ] && return 1
 
-       case "$board" in
-       bananapi,bpi-r2)
+       case "$(board_name)" in
+       bananapi,bpi-r2|\
+       unielec,u7623-02)
                [ "$magic" != "d00dfeed" ] && {
                        echo "Invalid image type."
                        return 1
@@ -140,19 +137,17 @@ platform_check_image() {
                # Can always upgrade to the new-style full image
                [ "$magic" = "53444d4d" ] && return 0
 
+               # need to update to new bootchain via full image first
+               [ "$magic" = "d00dfeed" ] && {
+                       echo "Please use full eMMC image to update bootloader first."
+                       return 1
+               }
+
                # Legacy uImage directly at 0xA00 on the eMMC.
                [ "$magic" != "27051956" ] && {
                        echo "Invalid image type."
                        return 1
                }
-               rootpart=$(cat /proc/cmdline)
-               rootpart="${rootpart##*root=}"
-               rootpart="${rootpart%% *}"
-               [ "$rootpart" != "/dev/mmcblk0p2" ] && {
-                       echo "Cannot downgrade to legacy image."
-                       return 1
-               }
-               return 0
                ;;
        *)
                echo "Sysupgrade is not supported on your board yet."
@@ -165,7 +160,8 @@ platform_check_image() {
 
 platform_copy_config() {
        case "$(board_name)" in
-       bananapi,bpi-r2)
+       bananapi,bpi-r2|\
+       unielec,u7623-02)
                emmc_copy_config
                ;;
        unielec,u7623-02-emmc-512m)
index 308a08413bf765b6b7a0ee774b7ac471793c6bad..09ecc16ef215dad8f2e8b99fafa94fed289fb7ec 100644 (file)
@@ -391,7 +391,6 @@ CONFIG_MODULES_USE_ELF_REL=y
 # CONFIG_MOUSE_PS2 is not set
 # CONFIG_MOUSE_SERIAL is not set
 # CONFIG_MOUSE_VSXXXAA is not set
-CONFIG_MTD_BLOCK2MTD=y
 CONFIG_MTD_CMDLINE_PARTS=y
 # CONFIG_MTD_NAND_MTK_BMT is not set
 # CONFIG_MTD_PARSER_TRX is not set