mpc85xx: Add Aerohive HiveAP-330 Access Point
[openwrt/staging/stintel.git] / target / linux / mpc85xx / base-files / lib / upgrade / platform.sh
index 65b3674769c001d2091d68ab4dd2291f44e0fe87..9e3a3d661a7ed9bf9f4d5a18047a7fdf93f34290 100755 (executable)
@@ -4,6 +4,10 @@
 
 PART_NAME=firmware
 
+get_magic_long_at() {
+       (get_image "$1" | dd bs=4 count=1 skip="$2" | hexdump -v -n 4 -e '1/1 "%02x"') 2>/dev/null
+}
+
 tplink_get_hwid() {
        local part
 
@@ -28,6 +32,29 @@ platform_check_image() {
        [ "$#" -gt 1 ] && return 1
 
        case $board in
+       hiveap-330)
+               local init_magic=$(get_magic_long_at "$1" "65536")
+               local root_magic=$(get_magic_long_at "$1" "131072")
+               local kernel_magic=$(get_magic_long_at "$1" "10551296")
+
+               [ "$magic" != "d00dfeed" ] && {
+                       echo "Invalid dtb image type."
+                       return 1
+               }
+               [ "$init_magic" != "27051956" ] && {
+                       echo "Invalid initramfs image type."
+                       return 1
+               }
+               [ "$root_magic" != "68737173" ] && {
+                       echo "Invalid rootfs image type."
+                       return 1
+               }
+               [ "$kernel_magic" != "27051956" ] && {
+                       echo "Invalid kernel image type."
+                       return 1
+               }
+               return 0
+               ;;
        tl-wdr4900-v1)
                [ "$magic" != "01000000" ] && {
                        echo "Invalid image type."