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 2c1460650fc54102fd88e459548e6166c2142b3d..e256d2b53325e35749c31648cae050f0b0e0fcb8 100755 (executable)
@@ -1,6 +1,4 @@
 REQUIRE_IMAGE_METADATA=1
-RAMFS_COPY_BIN='fw_printenv fw_setenv blockdev'
-RAMFS_COPY_DATA='/etc/fw_env.config /var/lock/fw_printenv.lock'
 
 platform_do_upgrade() {
        local board=$(board_name)
@@ -8,20 +6,23 @@ platform_do_upgrade() {
 
        case "$board" in
        bananapi,bpi-r64)
-               export_bootdevice
-               export_partdevice rootdev 0
-               local fitpart=$(get_partition_by_name $rootdev "production")
-               [ "$fitpart" ] || return 1
-               dd if=/dev/zero of=/dev/$fitpart bs=4096 count=1 2>/dev/null
-               blockdev --rereadpt /dev/$rootdev
-               get_image "$1" | dd of=/dev/$fitpart
-               blockdev --rereadpt /dev/$rootdev
-               local datapart=$(get_partition_by_name $rootdev "rootfs_data")
-               [ "$datapart" ] || return 0
-               dd if=/dev/zero of=/dev/$datapart bs=4096 count=1 2>/dev/null
-               echo $datapart > /tmp/sysupgrade.datapart
+               local rootdev="$(cmdline_get_var root)"
+               rootdev="${rootdev##*/}"
+               rootdev="${rootdev%p[0-9]*}"
+               case "$rootdev" in
+               mmc*)
+                       CI_ROOTDEV="$rootdev"
+                       CI_KERNPART="production"
+                       emmc_do_upgrade "$1"
+                       ;;
+               *)
+                       CI_KERNPART="fit"
+                       nand_do_upgrade "$1"
+                       ;;
+               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)"
@@ -33,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"
                ;;
@@ -61,9 +69,19 @@ 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
                ;;
+       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" ] && {
                        echo "Invalid image type."
@@ -76,18 +94,14 @@ platform_check_image() {
        return 0
 }
 
-platform_copy_config_mmc() {
-       [ -e "$UPGRADE_BACKUP" ] || return
-       local datapart=$(cat /tmp/sysupgrade.datapart)
-       [ "$datapart" ] || echo "no rootfs_data partition, cannot keep configuration." >&2
-       dd if="$UPGRADE_BACKUP" of=/dev/$datapart
-       sync
-}
-
 platform_copy_config() {
        case "$(board_name)" in
        bananapi,bpi-r64)
-               platform_copy_config_mmc
+               export_bootdevice
+               export_partdevice rootdev 0
+               if echo $rootdev | grep -q mmc; then
+                       emmc_copy_config
+               fi
                ;;
        esac
 }