f54665dfa15b685940aa770d5660ac55fb03bb41
[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 linksys,e8450-ubi)
36 CI_KERNPART="fit"
37 nand_do_upgrade "$1"
38 ;;
39 linksys,e8450)
40 if grep -q mtdparts=slave /proc/cmdline; then
41 PART_NAME=firmware2
42 else
43 PART_NAME=firmware1
44 fi
45 default_do_upgrade "$1"
46 ;;
47 mediatek,mt7622-rfb1-ubi|\
48 totolink,a8000ru|\
49 xiaomi,redmi-router-ax6s)
50 nand_do_upgrade "$1"
51 ;;
52 *)
53 default_do_upgrade "$1"
54 ;;
55 esac
56 }
57
58 PART_NAME=firmware
59
60 platform_check_image() {
61 local board=$(board_name)
62 local magic="$(get_magic_long "$1")"
63
64 [ "$#" -gt 1 ] && return 1
65
66 case "$board" in
67 buffalo,wsr-2533dhp2)
68 buffalo_check_image "$board" "$magic" "$1" || return 1
69 ;;
70 mediatek,mt7622-rfb1-ubi|\
71 totolink,a8000ru|\
72 xiaomi,redmi-router-ax6s)
73 nand_do_platform_check "$board" "$1"
74 ;;
75 *)
76 [ "$magic" != "d00dfeed" ] && {
77 echo "Invalid image type."
78 return 1
79 }
80 return 0
81 ;;
82 esac
83
84 return 0
85 }
86
87 platform_copy_config() {
88 case "$(board_name)" in
89 bananapi,bpi-r64)
90 export_bootdevice
91 export_partdevice rootdev 0
92 if echo $rootdev | grep -q mmc; then
93 emmc_copy_config
94 fi
95 ;;
96 esac
97 }