mvebu: add support for the Linksys WRT3200ACM (Rango)
[librecmc/librecmc.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