ipq806x: add ipq4019 fritz4040 support
[openwrt/staging/blogic.git] / target / linux / ipq806x / base-files / lib / upgrade / platform.sh
index a181f13b43a2f02916c97e713a75adff571a79e6..89702850fca9a6a2234beec71019a53b5f2aeeac 100644 (file)
@@ -1,28 +1,10 @@
 . /lib/ipq806x.sh
 
 PART_NAME=firmware
+REQUIRE_IMAGE_METADATA=1
 
 platform_check_image() {
-       local board=$(ipq806x_board_name)
-
-       case "$board" in
-       ap148 |\
-       d7800 |\
-       r7500)
-               nand_do_platform_check $board $1
-               return $?;
-               ;;
-       c2600)
-               local magic_long="$(get_magic_long "$1")"
-               [ "$magic_long" != "27051956" ] && {
-                       echo "Invalid image, bad magic: $magic_long"
-                       return 1
-               }
-               return 0;
-               ;;
-       *)
-               return 1;
-       esac
+       return 0;
 }
 
 platform_pre_upgrade() {
@@ -31,9 +13,15 @@ platform_pre_upgrade() {
        case "$board" in
        ap148 |\
        d7800 |\
-       r7500)
+       nbg6817 |\
+       r7500 |\
+       r7500v2 |\
+       r7800)
                nand_do_upgrade "$1"
                ;;
+       ea8500)
+               linksys_preupgrade "$1"
+               ;;
        esac
 }
 
@@ -46,5 +34,32 @@ platform_do_upgrade() {
                MTD_CONFIG_ARGS="-s 0x200000"
                default_do_upgrade "$ARGV"
                ;;
+       ea8500)
+               platform_do_upgrade_linksys "$ARGV"
+               ;;
+       vr2600v)
+               PART_NAME="kernel:rootfs"
+               MTD_CONFIG_ARGS="-s 0x200000"
+               default_do_upgrade "$ARGV"
+               ;;
+       *)
+               default_do_upgrade "$ARGV"
+               ;;
+       esac
+}
+
+platform_nand_pre_upgrade() {
+       local board=$(ipq806x_board_name)
+
+       case "$board" in
+       nbg6817)
+               zyxel_do_upgrade "$1"
+               ;;
        esac
 }
+
+blink_led() {
+       . /etc/diag.sh; set_state upgrade
+}
+
+append sysupgrade_pre_upgrade blink_led