uboot-envtools: filogic: de-duplicate UBI env settings
[openwrt/staging/wigyori.git] / package / boot / uboot-envtools / files / mediatek_filogic
1 #
2 # Copyright (C) 2021 OpenWrt.org
3 #
4
5 [ -e /etc/config/ubootenv ] && exit 0
6
7 touch /etc/config/ubootenv
8
9 . /lib/uboot-envtools.sh
10 . /lib/functions.sh
11
12 board=$(board_name)
13
14 ubootenv_add_mmc_default() {
15 local envdev="$(find_mmc_part "ubootenv" "${1:-mmcblk0}")"
16 ubootenv_add_uci_config "$envdev" "0x0" "0x40000" "0x40000" "1"
17 ubootenv_add_uci_config "$envdev" "0x40000" "0x40000" "0x40000" "1"
18 }
19
20 ubootenv_add_nor_default() {
21 local envdev="/dev/mtd$(find_mtd_index "u-boot-env")"
22 ubootenv_add_uci_config "$envdev" "0x0" "0x20000" "0x20000" "1"
23 ubootenv_add_uci_config "$envdev" "0x20000" "0x20000" "0x20000" "1"
24 }
25
26 ubootenv_add_ubi_default() {
27 . /lib/upgrade/nand.sh
28 local envubi=$(nand_find_ubi ubi)
29 local envdev=/dev/$(nand_find_volume $envubi ubootenv)
30 local envdev2=/dev/$(nand_find_volume $envubi ubootenv2)
31 ubootenv_add_uci_config "$envdev" "0x0" "0x1f000" "0x1f000" "1"
32 ubootenv_add_uci_config "$envdev2" "0x0" "0x1f000" "0x1f000" "1"
33 }
34
35 case "$board" in
36 asus,rt-ax59u)
37 ubootenv_add_uci_config "/dev/mtd0" "0x100000" "0x20000" "0x20000"
38 ;;
39 bananapi,bpi-r3)
40 rootdev="$(cmdline_get_var root)"
41 rootdev="${rootdev##*/}"
42 rootdev="${rootdev%%p[0-9]*}"
43 case "$rootdev" in
44 mmc*)
45 ubootenv_add_mmc_default
46 ;;
47 mtd*)
48 ubootenv_add_nor_default
49 ;;
50 ubi*)
51 ubootenv_add_ubi_default
52 ;;
53 esac
54 ;;
55 cmcc,rax3000m)
56 case "$(cmdline_get_var root)" in
57 /dev/mmc*)
58 ubootenv_add_mmc_default
59 ;;
60 *)
61 ubootenv_add_ubi_default
62 ;;
63 esac
64 ;;
65 comfast,cf-e393ax)
66 ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x20000" "0x80000"
67 ;;
68 cetron,ct3003|\
69 netgear,wax220|\
70 zbtlink,zbt-z8102ax|\
71 zbtlink,zbt-z8103ax)
72 ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x20000" "0x20000"
73 ;;
74 h3c,magic-nx30-pro|\
75 jcg,q30-pro|\
76 qihoo,360t7|\
77 tplink,tl-xdr4288|\
78 tplink,tl-xdr6086|\
79 tplink,tl-xdr6088|\
80 xiaomi,mi-router-ax3000t-ubootmod|\
81 xiaomi,mi-router-wr30u-ubootmod|\
82 xiaomi,redmi-router-ax6000-ubootmod|\
83 zyxel,ex5601-t0-ubootmod)
84 ubootenv_add_ubi_default
85 ;;
86 glinet,gl-mt2500|\
87 glinet,gl-mt6000)
88 local envdev=$(find_mmc_part "u-boot-env")
89 ubootenv_add_uci_config "$envdev" "0x0" "0x80000"
90 ;;
91 glinet,gl-mt3000)
92 ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x80000" "0x20000"
93 ;;
94 jdcloud,re-cp-03)
95 local envdev=$(find_mmc_part "ubootenv" "mmcblk0")
96 ubootenv_add_uci_config "$envdev" "0x0" "0x40000" "0x40000" "1"
97 ubootenv_add_uci_config "$envdev" "0x40000" "0x40000" "0x40000" "1"
98 ;;
99 mercusys,mr90x-v1|\
100 routerich,ax3000)
101 local envdev=/dev/mtd$(find_mtd_index "u-boot-env")
102 ubootenv_add_uci_config "$envdev" "0x0" "0x20000" "0x20000" "1"
103 ;;
104 ubnt,unifi-6-plus)
105 ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x80000" "0x10000"
106 ;;
107 xiaomi,mi-router-ax3000t|\
108 xiaomi,mi-router-wr30u-stock|\
109 xiaomi,redmi-router-ax6000-stock)
110 ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x10000" "0x20000"
111 ubootenv_add_uci_sys_config "/dev/mtd2" "0x0" "0x10000" "0x20000"
112 ;;
113 zyxel,ex5601-t0)
114 local envdev=/dev/mtd$(find_mtd_index "u-boot-env")
115 ubootenv_add_uci_config "$envdev" "0x0" "0x20000" "0x40000" "2"
116 ;;
117 zyxel,ex5700-telenor)
118 ubootenv_add_uci_config "/dev/ubootenv" "0x0" "0x4000" "0x4000" "1"
119 ;;
120 esac
121
122 config_load ubootenv
123 config_foreach ubootenv_add_app_config
124
125 exit 0