1036793145df4abc86580d16abcad527bb0f5e9f
[openwrt/openwrt.git] / target / linux / mediatek / mt7622 / base-files / lib / upgrade / platform.sh
1 REQUIRE_IMAGE_METADATA=1
2
3 platform_do_upgrade() {
4 local board=$(board_name)
5 local file_type=$(identify $1)
6
7 case "$board" in
8 bananapi,bpi-r64)
9 export_bootdevice
10 export_partdevice rootdev 0
11 case "$rootdev" in
12 mmc*)
13 CI_ROOTDEV="$rootdev"
14 CI_KERNPART="production"
15 emmc_do_upgrade "$1"
16 ;;
17 *)
18 CI_KERNPART="fit"
19 nand_do_upgrade "$1"
20 ;;
21 esac
22 ;;
23 buffalo,wsr-2533dhp2)
24 local magic="$(get_magic_long "$1")"
25
26 # use "mtd write" if the magic is "DHP2 (0x44485032)"
27 # or "DHP3 (0x44485033)"
28 if [ "$magic" = "44485032" -o "$magic" = "44485033" ]; then
29 buffalo_upgrade_ubinized "$1"
30 else
31 CI_KERNPART="firmware"
32 nand_do_upgrade "$1"
33 fi
34 ;;
35 elecom,wrc-x3200gst3|\
36 mediatek,mt7622-rfb1-ubi|\
37 totolink,a8000ru|\
38 xiaomi,redmi-router-ax6s)
39 nand_do_upgrade "$1"
40 ;;
41 linksys,e8450-ubi)
42 CI_KERNPART="fit"
43 nand_do_upgrade "$1"
44 ;;
45 linksys,e8450)
46 if grep -q mtdparts=slave /proc/cmdline; then
47 PART_NAME=firmware2
48 else
49 PART_NAME=firmware1
50 fi
51 default_do_upgrade "$1"
52 ;;
53 *)
54 default_do_upgrade "$1"
55 ;;
56 esac
57 }
58
59 PART_NAME=firmware
60
61 platform_check_image() {
62 local board=$(board_name)
63 local magic="$(get_magic_long "$1")"
64
65 [ "$#" -gt 1 ] && return 1
66
67 case "$board" in
68 buffalo,wsr-2533dhp2)
69 buffalo_check_image "$board" "$magic" "$1" || return 1
70 ;;
71 elecom,wrc-x3200gst3|\
72 mediatek,mt7622-rfb1-ubi|\
73 totolink,a8000ru|\
74 xiaomi,redmi-router-ax6s)
75 nand_do_platform_check "$board" "$1"
76 ;;
77 *)
78 [ "$magic" != "d00dfeed" ] && {
79 echo "Invalid image type."
80 return 1
81 }
82 return 0
83 ;;
84 esac
85
86 return 0
87 }
88
89 platform_copy_config() {
90 case "$(board_name)" in
91 bananapi,bpi-r64)
92 export_bootdevice
93 export_partdevice rootdev 0
94 if echo $rootdev | grep -q mmc; then
95 emmc_copy_config
96 fi
97 ;;
98 esac
99 }