1. /lib/ipq806x.sh
2
3PART_NAME=firmware
4
5platform_check_image() {
6	local board=$(ipq806x_board_name)
7
8	case "$board" in
9	ap148 |\
10	d7800 |\
11	ea8500 |\
12	r7500 |\
13	r7500v2 |\
14	r7800)
15		nand_do_platform_check $board $1
16		return $?;
17		;;
18	c2600)
19		local magic_long="$(get_magic_long "$1")"
20		[ "$magic_long" != "27051956" ] && {
21			echo "Invalid image, bad magic: $magic_long"
22			return 1
23		}
24		return 0;
25		;;
26	*)
27		return 1;
28	esac
29}
30
31platform_pre_upgrade() {
32	local board=$(ipq806x_board_name)
33
34	case "$board" in
35	ap148 |\
36	d7800 |\
37	r7500 |\
38	r7500v2 |\
39	r7800)
40		nand_do_upgrade "$1"
41		;;
42	ea8500)
43		linksys_preupgrade "$1"
44		;;
45	esac
46}
47
48platform_do_upgrade() {
49	local board=$(ipq806x_board_name)
50
51	case "$board" in
52	c2600)
53		PART_NAME="os-image:rootfs"
54		MTD_CONFIG_ARGS="-s 0x200000"
55		default_do_upgrade "$ARGV"
56		;;
57	ea8500)
58		platform_do_upgrade_linksys "$ARGV"
59		;;
60	esac
61}
62