apm821xx: add support for the Netgear Centria N900 WNDR4700/WNDR4720
[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 merakinand_do_platform_check $board "$1"
21 return $?;
22 ;;
23
24 wndr4700)
25 nand_do_platform_check $board "$1"
26 return $?;
27 ;;
28
29 *)
30 ;;
31 esac
32
33 echo "Sysupgrade is not yet supported on $board."
34 return 1
35 }
36
37 platform_pre_upgrade() {
38 local board=$(apm821xx_board_name)
39
40 case "$board" in
41 mr24)
42 merakinand_do_upgrade "$1"
43 ;;
44
45 wndr4700)
46 nand_do_upgrade "$1"
47 ;;
48
49 *)
50 ;;
51 esac
52 }
53
54 platform_do_upgrade() {
55 local board=$(apm821xx_board_name)
56
57 case "$board" in
58 mbl)
59 mbl_do_upgrade "$ARGV"
60 ;;
61
62 *)
63 default_do_upgrade "$ARGV"
64 ;;
65 esac
66 }
67
68 platform_copy_config() {
69 local board=$(apm821xx_board_name)
70
71 case "$board" in
72 mbl)
73 mbl_copy_config
74 ;;
75
76 *)
77 ;;
78 esac
79 }
80
81 disable_watchdog() {
82 killall watchdog
83 ( ps | grep -v 'grep' | grep '/dev/watchdog' ) && {
84 echo 'Could not disable watchdog'
85 return 1
86 }
87 }
88
89 append sysupgrade_pre_upgrade disable_watchdog