apm821xx: Add support for the Cisco Meraki MX60/MX60W
[openwrt/openwrt.git] / target / linux / apm821xx / base-files / lib / upgrade / platform.sh
1 #!/bin/sh
2
3 . /lib/apm821xx.sh
4
5 PART_NAME=firmware
6 RAMFS_COPY_DATA=/lib/apm821xx.sh
7
8 platform_check_image() {
9 local board=$(apm821xx_board_name)
10
11 [ "$#" -gt 1 ] && return 1
12
13 case "$board" in
14 mbl)
15 mbl_do_platform_check $board "$1"
16 return $?;
17 ;;
18
19 mr24|\
20 mx60)
21 merakinand_do_platform_check $board "$1"
22 return $?;
23 ;;
24
25 wndr4700)
26 nand_do_platform_check $board "$1"
27 return $?;
28 ;;
29
30 *)
31 ;;
32 esac
33
34 echo "Sysupgrade is not yet supported on $board."
35 return 1
36 }
37
38 platform_pre_upgrade() {
39 local board=$(apm821xx_board_name)
40
41 case "$board" in
42 mr24|\
43 mx60)
44 merakinand_do_upgrade "$1"
45 ;;
46
47 wndr4700)
48 nand_do_upgrade "$1"
49 ;;
50
51 *)
52 ;;
53 esac
54 }
55
56 platform_do_upgrade() {
57 local board=$(apm821xx_board_name)
58
59 case "$board" in
60 mbl)
61 mbl_do_upgrade "$ARGV"
62 ;;
63
64 *)
65 default_do_upgrade "$ARGV"
66 ;;
67 esac
68 }
69
70 platform_copy_config() {
71 local board=$(apm821xx_board_name)
72
73 case "$board" in
74 mbl)
75 mbl_copy_config
76 ;;
77
78 *)
79 ;;
80 esac
81 }
82
83 disable_watchdog() {
84 killall watchdog
85 ( ps | grep -v 'grep' | grep '/dev/watchdog' ) && {
86 echo 'Could not disable watchdog'
87 return 1
88 }
89 }
90
91 append sysupgrade_pre_upgrade disable_watchdog