layerscape: armv8_64b: add Traverse Ten64 NAND variant
[openwrt/openwrt.git] / target / linux / layerscape / base-files / lib / upgrade / platform.sh
index e88dfdf145c9d442b77f4d5267b11385b6d1fd1e..c63cf05e5cc1e0b7d19f05bb0508735d841db27b 100644 (file)
@@ -49,6 +49,26 @@ platform_do_upgrade_traverse_nandubi() {
        nand_do_upgrade "$1" || (echo "Upgrade failed, setting bootsys ${bootsys}" && fw_setenv bootsys $bootsys)
 
 }
+
+platform_do_upgrade_traverse_slotubi() {
+       part="$(awk -F 'ubi.mtd=' '{printf $2}' /proc/cmdline | sed -e 's/ .*$//')"
+       echo "Active boot slot: ${part}"
+       new_active_sys="b"
+
+       if [ ! -z "${part}" ]; then
+               if [ "${part}" = "ubia" ]; then
+                       CI_UBIPART="ubib"
+               else
+                       CI_UBIPART="ubia"
+                       new_active_sys="a"
+               fi
+       fi
+       echo "Updating UBI part ${CI_UBIPART}"
+       fw_setenv "openwrt_active_sys" "${new_active_sys}"
+       nand_do_upgrade "$1"
+       return $?
+}
+
 platform_copy_config_sdboot() {
        local diskdev partdev parttype=ext4
 
@@ -90,6 +110,10 @@ platform_check_image() {
                nand_do_platform_check "traverse-ls1043" $1
                return $?
                ;;
+       traverse,ten64)
+               nand_do_platform_check "ten64-mtd" $1
+               return $?
+               ;;
        fsl,ls1012a-frdm | \
        fsl,ls1012a-frwy-sdboot | \
        fsl,ls1012a-rdb | \
@@ -130,6 +154,9 @@ platform_do_upgrade() {
        traverse,ls1043s)
                platform_do_upgrade_traverse_nandubi "$1"
                ;;
+       traverse,ten64)
+               platform_do_upgrade_traverse_slotubi "${1}"
+               ;;
        fsl,ls1012a-frdm | \
        fsl,ls1012a-rdb | \
        fsl,ls1021a-twr | \