diff --git a/target/linux/avr32/base-files/lib/upgrade/platform.sh b/target/linux/avr32/base-files/lib/upgrade/platform.sh
new file mode 100755
index 0000000000000000000000000000000000000000..00ad863d1bd358b3dfcaadf406dd3a6985bad2e9
--- /dev/null
+++ b/target/linux/avr32/base-files/lib/upgrade/platform.sh
@@ -0,0 +1,28 @@
+#
+# Copyright (C) 2013 OpenWrt.org
+#
+
+PART_NAME=firmware
+
+platform_check_image() {
+	local magic="$(get_magic_long "$1")"
+
+	[ "$ARGC" -gt 1 ] && return 1
+
+	[ "$magic" != "27051956" ] && {
+		echo "Invalid image type."
+		return 1
+	}
+
+	return 0
+}
+
+disable_watchdog() {
+	killall watchdog
+	( ps | grep -v 'grep' | grep '/dev/watchdog' ) && {
+		echo 'Could not disable watchdog'
+		return 1
+	}
+}
+
+append sysupgrade_pre_upgrade disable_watchdog