mediatek: Add support for D-Link EAGLE PRO AI M32
[openwrt/staging/hauke.git] / target / linux / mediatek / mt7622 / base-files / lib / upgrade / platform.sh
index b9fa055854e43b3dd2057c1b1e03520c66ae7433..e256d2b53325e35749c31648cae050f0b0e0fcb8 100755 (executable)
@@ -1,6 +1,4 @@
 REQUIRE_IMAGE_METADATA=1
-RAMFS_COPY_BIN='fw_printenv fw_setenv fwtool'
-RAMFS_COPY_DATA='/etc/fw_env.config /var/lock/fw_printenv.lock'
 
 platform_do_upgrade() {
        local board=$(board_name)
@@ -8,16 +6,14 @@ platform_do_upgrade() {
 
        case "$board" in
        bananapi,bpi-r64)
-               export_bootdevice
-               export_partdevice rootdev 0
+               local rootdev="$(cmdline_get_var root)"
+               rootdev="${rootdev##*/}"
+               rootdev="${rootdev%p[0-9]*}"
                case "$rootdev" in
                mmc*)
-                       sync
-                       export UPGRADE_MMC_PARTDEV=$(find_mmc_part "production" $rootdev)
-                       [ "$UPGRADE_MMC_PARTDEV" ] || return 1
-                       export UPGRADE_MMC_IMAGE_BLOCKS=$(($(get_image "$1" | fwtool -i /dev/null -T - | dd of=$UPGRADE_MMC_PARTDEV bs=512 2>&1 | grep "records out" | cut -d' ' -f1)))
-                       [ "$UPGRADE_MMC_IMAGE_BLOCKS" ] || return 0
-                       dd if=/dev/zero of=$UPGRADE_MMC_PARTDEV bs=512 seek=$UPGRADE_MMC_IMAGE_BLOCKS count=8
+                       CI_ROOTDEV="$rootdev"
+                       CI_KERNPART="production"
+                       emmc_do_upgrade "$1"
                        ;;
                *)
                        CI_KERNPART="fit"
@@ -25,7 +21,8 @@ platform_do_upgrade() {
                        ;;
                esac
                ;;
-       buffalo,wsr-2533dhp2)
+       buffalo,wsr-2533dhp2|\
+       buffalo,wsr-3200ax4s)
                local magic="$(get_magic_long "$1")"
 
                # use "mtd write" if the magic is "DHP2 (0x44485032)"
@@ -37,8 +34,15 @@ platform_do_upgrade() {
                        nand_do_upgrade "$1"
                fi
                ;;
-       linksys,e8450-ubi|\
-       mediatek,mt7622,ubi)
+       dlink,eagle-pro-ai-m32-a1|\
+       elecom,wrc-x3200gst3|\
+       mediatek,mt7622-rfb1-ubi|\
+       netgear,wax206|\
+       totolink,a8000ru|\
+       xiaomi,redmi-router-ax6s)
+               nand_do_upgrade "$1"
+               ;;
+       linksys,e8450-ubi)
                CI_KERNPART="fit"
                nand_do_upgrade "$1"
                ;;
@@ -50,9 +54,6 @@ platform_do_upgrade() {
                fi
                default_do_upgrade "$1"
                ;;
-       totolink,a8000ru)
-               nand_do_upgrade "$1"
-               ;;
        *)
                default_do_upgrade "$1"
                ;;
@@ -68,11 +69,18 @@ platform_check_image() {
        [ "$#" -gt 1 ] && return 1
 
        case "$board" in
-       buffalo,wsr-2533dhp2)
+       buffalo,wsr-2533dhp2|\
+       buffalo,wsr-3200ax4s)
                buffalo_check_image "$board" "$magic" "$1" || return 1
                ;;
-       totolink,a8000ru)
+       dlink,eagle-pro-ai-m32-a1|\
+       elecom,wrc-x3200gst3|\
+       mediatek,mt7622-rfb1-ubi|\
+       netgear,wax206|\
+       totolink,a8000ru|\
+       xiaomi,redmi-router-ax6s)
                nand_do_platform_check "$board" "$1"
+               return $?
                ;;
        *)
                [ "$magic" != "d00dfeed" ] && {
@@ -86,23 +94,13 @@ platform_check_image() {
        return 0
 }
 
-platform_copy_config_mmc() {
-       if [ ! -e "$UPGRADE_BACKUP" ] ||
-          [ ! -e "$UPGRADE_MMC_PARTDEV" ] ||
-          [ ! "$UPGRADE_MMC_IMAGE_BLOCKS" ]; then
-               return
-       fi
-       dd if="$UPGRADE_BACKUP" of="$UPGRADE_MMC_PARTDEV" bs=512 seek=$UPGRADE_MMC_IMAGE_BLOCKS
-       sync
-}
-
 platform_copy_config() {
        case "$(board_name)" in
        bananapi,bpi-r64)
                export_bootdevice
                export_partdevice rootdev 0
                if echo $rootdev | grep -q mmc; then
-                       platform_copy_config_mmc
+                       emmc_copy_config
                fi
                ;;
        esac