ipq806x: add ipq4019 fritz4040 support
[openwrt/staging/blogic.git] / target / linux / ipq806x / base-files / lib / upgrade / platform.sh
index 7726abb91fb4a3dbb4cc94d9c3d346e35f03b9dd..89702850fca9a6a2234beec71019a53b5f2aeeac 100644 (file)
@@ -1,31 +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 |\
-       ea8500 |\
-       r7500 |\
-       r7500v2 |\
-       r7800)
-               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() {
@@ -34,6 +13,7 @@ platform_pre_upgrade() {
        case "$board" in
        ap148 |\
        d7800 |\
+       nbg6817 |\
        r7500 |\
        r7500v2 |\
        r7800)
@@ -57,5 +37,29 @@ platform_do_upgrade() {
        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