mediatek: drop platform_get_bootdev
[openwrt/staging/stintel.git] / target / linux / mediatek / mt7622 / base-files / lib / upgrade / platform.sh
1 REQUIRE_IMAGE_METADATA=1
2 RAMFS_COPY_BIN='fitblk'
3
4 platform_do_upgrade() {
5 local board=$(board_name)
6 local file_type=$(identify $1)
7
8 case "$board" in
9 bananapi,bpi-r64|\
10 linksys,e8450-ubi|\
11 ubnt,unifi-6-lr-v1-ubootmod|\
12 ubnt,unifi-6-lr-v2-ubootmod|\
13 ubnt,unifi-6-lr-v3-ubootmod)
14 [ -e /dev/fit0 ] && fitblk /dev/fit0
15 [ -e /dev/fitrw ] && fitblk /dev/fitrw
16 bootdev="$(fitblk_get_bootdev)"
17 case "$bootdev" in
18 mmcblk*)
19 EMMC_KERN_DEV="/dev/$bootdev"
20 emmc_do_upgrade "$1"
21 ;;
22 mtdblock*)
23 PART_NAME="/dev/mtd${bootdev:8}"
24 default_do_upgrade "$1"
25 ;;
26 ubiblock*)
27 CI_KERNPART="fit"
28 nand_do_upgrade "$1"
29 ;;
30 esac
31 ;;
32
33 buffalo,wsr-2533dhp2|\
34 buffalo,wsr-3200ax4s)
35 local magic="$(get_magic_long "$1")"
36
37 # use "mtd write" if the magic is "DHP2 (0x44485032)"
38 # or "DHP3 (0x44485033)"
39 if [ "$magic" = "44485032" -o "$magic" = "44485033" ]; then
40 buffalo_upgrade_ubinized "$1"
41 else
42 CI_KERNPART="firmware"
43 nand_do_upgrade "$1"
44 fi
45 ;;
46 dlink,eagle-pro-ai-m32-a1|\
47 dlink,eagle-pro-ai-r32-a1|\
48 elecom,wrc-x3200gst3|\
49 mediatek,mt7622-rfb1-ubi|\
50 netgear,wax206|\
51 totolink,a8000ru|\
52 xiaomi,redmi-router-ax6s)
53 nand_do_upgrade "$1"
54 ;;
55 linksys,e8450)
56 if grep -q mtdparts=slave /proc/cmdline; then
57 PART_NAME=firmware2
58 else
59 PART_NAME=firmware1
60 fi
61 default_do_upgrade "$1"
62 ;;
63 *)
64 default_do_upgrade "$1"
65 ;;
66 esac
67 }
68
69 PART_NAME=firmware
70
71 platform_check_image() {
72 local board=$(board_name)
73 local magic="$(get_magic_long "$1")"
74
75 [ "$#" -gt 1 ] && return 1
76
77 case "$board" in
78 buffalo,wsr-2533dhp2|\
79 buffalo,wsr-3200ax4s)
80 buffalo_check_image "$board" "$magic" "$1" || return 1
81 ;;
82 dlink,eagle-pro-ai-m32-a1|\
83 dlink,eagle-pro-ai-r32-a1|\
84 elecom,wrc-x3200gst3|\
85 mediatek,mt7622-rfb1-ubi|\
86 netgear,wax206|\
87 totolink,a8000ru|\
88 xiaomi,redmi-router-ax6s)
89 nand_do_platform_check "$board" "$1"
90 return $?
91 ;;
92 *)
93 [ "$magic" != "d00dfeed" ] && {
94 echo "Invalid image type."
95 return 1
96 }
97 return 0
98 ;;
99 esac
100
101 return 0
102 }
103
104 platform_copy_config() {
105 case "$(board_name)" in
106 bananapi,bpi-r64)
107 if fitblk_get_bootdev | grep -q mmc; then
108 emmc_copy_config
109 fi
110 ;;
111 esac
112 }