mvebu: add support for the Linksys WRT3200ACM (Rango)
[openwrt/openwrt.git] / target / linux / mvebu / base-files / lib / upgrade / platform.sh
1 #
2 # Copyright (C) 2014-2016 OpenWrt.org
3 # Copyright (C) 2016 LEDE-Project.org
4 #
5
6 . /lib/mvebu.sh
7
8 RAMFS_COPY_DATA=/lib/mvebu.sh
9
10 platform_check_image() {
11 local board=$(mvebu_board_name)
12 local magic_long="$(get_magic_long "$1")"
13
14 [ "$#" -gt 1 ] && return 1
15
16 case "$board" in
17 armada-385-linksys-caiman|armada-385-linksys-cobra|armada-385-linksys-rango|armada-385-linksys-shelby|armada-xp-linksys-mamba)
18 [ "$magic_long" != "27051956" -a "$magic_long" != "73797375" ] && {
19 echo "Invalid image type."
20 return 1
21 }
22 return 0;
23 ;;
24 armada-388-clearfog)
25 platform_check_image_clearfog "$ARGV"
26 return $?
27 ;;
28 esac
29
30 echo "Sysupgrade is not yet supported on $board."
31 return 1
32 }
33
34 platform_do_upgrade() {
35 local board=$(mvebu_board_name)
36
37 case "$board" in
38 armada-385-linksys-caiman|armada-385-linksys-cobra|armada-385-linksys-rango|armada-385-linksys-shelby|armada-xp-linksys-mamba)
39 platform_do_upgrade_linksys "$ARGV"
40 ;;
41 armada-388-clearfog)
42 platform_do_upgrade_clearfog "$ARGV"
43 ;;
44 *)
45 default_do_upgrade "$ARGV"
46 ;;
47 esac
48 }
49 platform_copy_config() {
50 local board=$(mvebu_board_name)
51
52 case "$board" in
53 armada-388-clearfog)
54 platform_copy_config_clearfog "$ARGV"
55 ;;
56 esac
57 }
58
59 disable_watchdog() {
60 killall watchdog
61 ( ps | grep -v 'grep' | grep '/dev/watchdog' ) && {
62 echo 'Could not disable watchdog'
63 return 1
64 }
65 }
66
67 append sysupgrade_pre_upgrade disable_watchdog