ipq40xx: nvmem cells for EZVIZ CS-W3-WD1200G EUP
[openwrt/staging/chunkeey.git] / target / linux / ipq40xx / base-files / etc / hotplug.d / firmware / 11-ath10k-caldata
1 #!/bin/sh
2
3 [ -e /lib/firmware/$FIRMWARE ] && exit 0
4
5 . /lib/functions/caldata.sh
6
7 board=$(board_name)
8
9 case "$FIRMWARE" in
10 "ath10k/cal-pci-0000:01:00.0.bin")
11 case "$board" in
12 glinet,gl-b2200)
13 caldata_extract "ART" 0x9000 0x2f20
14 ;;
15 meraki,mr33)
16 caldata_extract_ubi "ART" 0x9000 0x844
17 caldata_valid "4408" || caldata_extract "ART" 0x9000 0x844
18 ath10k_patch_mac $(macaddr_add $(get_mac_binary "/sys/bus/i2c/devices/0-0050/eeprom" 0x66) 1)
19 ;;
20 esac
21 ;;
22 "ath10k/pre-cal-pci-0000:01:00.0.bin")
23 case "$board" in
24 asus,map-ac2200)
25 caldata_extract_ubi "Factory" 0x9000 0x2f20
26 ln -sf /lib/firmware/ath10k/pre-cal-pci-0000\:00\:00.0.bin \
27 /lib/firmware/ath10k/QCA9888/hw2.0/board.bin
28 ;;
29 avm,fritzrepeater-3000)
30 /usr/bin/fritz_cal_extract -i 1 -s 0x3D000 -e 0x212 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader0") || \
31 /usr/bin/fritz_cal_extract -i 1 -s 0x3C800 -e 0x212 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader0") || \
32 /usr/bin/fritz_cal_extract -i 1 -s 0x3C000 -e 0x212 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader0") || \
33 /usr/bin/fritz_cal_extract -i 1 -s 0x3D000 -e 0x212 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader1") || \
34 /usr/bin/fritz_cal_extract -i 1 -s 0x3C800 -e 0x212 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader1") || \
35 /usr/bin/fritz_cal_extract -i 1 -s 0x3C000 -e 0x212 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader1")
36 ;;
37 buffalo,wtr-m2133hp)
38 caldata_extract "ART" 0x9000 0x2f20
39 ath10k_patch_mac $(mtd_get_mac_binary ORGDATA 0x32)
40 ;;
41 engenius,eap2200 |\
42 openmesh,a62 |\
43 plasmacloud,pa2200)
44 caldata_extract "0:ART" 0x9000 0x2f20
45 ;;
46 linksys,ea8300 |\
47 linksys,mr8300)
48 caldata_extract "ART" 0x9000 0x2f20
49 # OEM assigns 4 sequential MACs
50 ath10k_patch_mac $(macaddr_setbit_la $(macaddr_add "$(cat /sys/class/net/eth0/address)" 4))
51 ;;
52 netgear,rbr50|\
53 netgear,rbs50|\
54 netgear,srr60|\
55 netgear,srs60)
56 caldata_extract_mmc "0:ART" 0x9000 0x2f20
57 ath10k_patch_mac $(mmc_get_mac_binary ARTMTD 0x12)
58 ;;
59 esac
60 ;;
61 "ath10k/pre-cal-ahb-a000000.wifi.bin")
62 case "$board" in
63 8dev,habanero-dvk |\
64 8dev,jalapeno |\
65 alfa-network,ap120c-ac |\
66 cilab,meshpoint-one |\
67 glinet,gl-ap1300 |\
68 glinet,gl-b1300 |\
69 glinet,gl-b2200 |\
70 glinet,gl-s1300 |\
71 linksys,ea6350v3 |\
72 mobipromo,cm520-79f |\
73 p2w,r619ac-64m |\
74 p2w,r619ac-128m |\
75 qcom,ap-dk01.1-c1)
76 caldata_extract "ART" 0x1000 0x2f20
77 ;;
78 aruba,ap-303 |\
79 aruba,ap-303h |\
80 aruba,ap-365)
81 caldata_extract "ART" 0x1000 0x2f20
82 ath10k_patch_mac $(mtd_get_mac_binary mfginfo 0x1D)
83 ;;
84 asus,map-ac2200)
85 caldata_extract_ubi "Factory" 0x1000 0x2f20
86 ;;
87 asus,rt-ac58u)
88 CI_UBIPART=UBI_DEV
89 caldata_extract_ubi "Factory" 0x1000 0x2f20
90 ;;
91 avm,fritzbox-4040)
92 /usr/bin/fritz_cal_extract -i 1 -s 0x400 -e 0x207 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader_config")
93 ;;
94 avm,fritzbox-7530 |\
95 avm,fritzrepeater-1200 |\
96 avm,fritzrepeater-3000)
97 /usr/bin/fritz_cal_extract -i 1 -s 0x3C000 -e 0x207 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader0") || \
98 /usr/bin/fritz_cal_extract -i 1 -s 0x3C800 -e 0x207 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader0") || \
99 /usr/bin/fritz_cal_extract -i 1 -s 0x3D000 -e 0x207 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader0") || \
100 /usr/bin/fritz_cal_extract -i 1 -s 0x3C000 -e 0x207 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader1") || \
101 /usr/bin/fritz_cal_extract -i 1 -s 0x3C800 -e 0x207 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader1") || \
102 /usr/bin/fritz_cal_extract -i 1 -s 0x3D000 -e 0x207 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader1")
103 ;;
104 buffalo,wtr-m2133hp)
105 caldata_extract "ART" 0x1000 0x2f20
106 ath10k_patch_mac $(mtd_get_mac_binary ORGDATA 0x26)
107 ;;
108 cellc,rtl30vw |\
109 compex,wpj419 |\
110 compex,wpj428 |\
111 edgecore,ecw5211 |\
112 edgecore,oap100 |\
113 engenius,eap1300 |\
114 engenius,eap2200 |\
115 luma,wrtq-329acn|\
116 openmesh,a42 |\
117 openmesh,a62 |\
118 plasmacloud,pa1200 |\
119 plasmacloud,pa2200 |\
120 qxwlan,e2600ac-c1 |\
121 qxwlan,e2600ac-c2 |\
122 unielec,u4019-32m)
123 caldata_extract "0:ART" 0x1000 0x2f20
124 ;;
125 devolo,magic-2-wifi-next)
126 caldata_extract "ART" 0x1000 0x2f20
127 ath10k_patch_mac $(mtd_get_mac_ascii APPSBLENV WiFiMacAddress0)
128 ;;
129 dlink,dap-2610)
130 caldata_extract "ART" 0x1000 0x2f20
131 ath10k_patch_mac $(mtd_get_mac_ascii bdcfg wlanmac)
132 ;;
133 engenius,emd1)
134 caldata_extract "0:ART" 0x1000 0x2f20
135 ath10k_patch_mac $(mtd_get_mac_ascii 0:APPSBLENV wlanaddr)
136 ;;
137 engenius,emr3500)
138 caldata_extract "0:ART" 0x1000 0x2f20
139 ath10k_patch_mac $(mtd_get_mac_ascii 0:APPSBLENV ethaddr)
140 ;;
141 engenius,ens620ext)
142 caldata_extract "ART" 0x1000 0x2f20
143 ath10k_patch_mac $(macaddr_add $(mtd_get_mac_ascii u-boot-env ethaddr) 2)
144 ;;
145 linksys,ea8300 |\
146 linksys,mr8300)
147 caldata_extract "ART" 0x1000 0x2f20
148 ath10k_patch_mac $(macaddr_add "$(cat /sys/class/net/eth0/address)" 2)
149 ;;
150 meraki,mr33)
151 caldata_extract_ubi "ART" 0x1000 0x2f20
152 caldata_valid "202f" || caldata_extract "ART" 0x1000 0x2f20
153 ath10k_patch_mac $(macaddr_add $(get_mac_binary "/sys/bus/i2c/devices/0-0050/eeprom" 0x66) 2)
154 ;;
155 mikrotik,hap-ac2 |\
156 mikrotik,hap-ac3)
157 wlan_data="/sys/firmware/mikrotik/hard_config/wlan_data"
158 ( [ -f "$wlan_data" ] && caldata_sysfsload_from_file "$wlan_data" 0x0 0x2f20 ) || \
159 ( [ -d "$wlan_data" ] && caldata_sysfsload_from_file "$wlan_data/data_0" 0x0 0x2f20 )
160 ;;
161 netgear,rbr50|\
162 netgear,rbs50|\
163 netgear,srr60|\
164 netgear,srs60)
165 caldata_extract_mmc "0:ART" 0x1000 0x2f20
166 ath10k_patch_mac $(mmc_get_mac_binary ARTMTD 0x0)
167 ;;
168 netgear,wac510)
169 caldata_extract "0:ART" 0x1000 0x2f20
170 ath10k_patch_mac $(mtd_get_mac_binary "0:MANUDATA" 0x6)
171 ;;
172 teltonika,rutx10)
173 caldata_extract "0:ART" 0x1000 0x2f20
174 ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary "0:CONFIG" 0x0) 2)
175 ;;
176 zyxel,nbg6617 |\
177 zyxel,wre6606)
178 caldata_extract "ART" 0x1000 0x2f20
179 ath10k_patch_mac $(macaddr_add $(cat /sys/class/net/eth0/address) -2)
180 ;;
181 esac
182 ;;
183 "ath10k/pre-cal-ahb-a800000.wifi.bin")
184 case "$board" in
185 8dev,habanero-dvk |\
186 8dev,jalapeno |\
187 alfa-network,ap120c-ac |\
188 cilab,meshpoint-one |\
189 glinet,gl-ap1300 |\
190 glinet,gl-b1300 |\
191 glinet,gl-b2200 |\
192 glinet,gl-s1300 |\
193 linksys,ea6350v3 |\
194 mobipromo,cm520-79f |\
195 p2w,r619ac-64m |\
196 p2w,r619ac-128m |\
197 qcom,ap-dk01.1-c1)
198 caldata_extract "ART" 0x5000 0x2f20
199 ;;
200 aruba,ap-303 |\
201 aruba,ap-303h |\
202 aruba,ap-365)
203 caldata_extract "ART" 0x5000 0x2f20
204 ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary mfginfo 0x1D) 1)
205 ;;
206 asus,map-ac2200)
207 caldata_extract_ubi "Factory" 0x5000 0x2f20
208 ;;
209 asus,rt-ac58u)
210 CI_UBIPART=UBI_DEV
211 caldata_extract_ubi "Factory" 0x5000 0x2f20
212 ;;
213 avm,fritzbox-4040)
214 /usr/bin/fritz_cal_extract -i 1 -s 0x400 -e 0x208 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader_config")
215 ;;
216 avm,fritzbox-7530 |\
217 avm,fritzrepeater-1200 |\
218 avm,fritzrepeater-3000)
219 /usr/bin/fritz_cal_extract -i 1 -s 0x3C800 -e 0x208 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader0") || \
220 /usr/bin/fritz_cal_extract -i 1 -s 0x3D000 -e 0x208 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader0") || \
221 /usr/bin/fritz_cal_extract -i 1 -s 0x3C000 -e 0x208 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader0") || \
222 /usr/bin/fritz_cal_extract -i 1 -s 0x3C800 -e 0x208 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader1") || \
223 /usr/bin/fritz_cal_extract -i 1 -s 0x3D000 -e 0x208 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader1") || \
224 /usr/bin/fritz_cal_extract -i 1 -s 0x3C000 -e 0x208 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader1")
225 ;;
226 buffalo,wtr-m2133hp)
227 caldata_extract "ART" 0x5000 0x2f20
228 ath10k_patch_mac $(mtd_get_mac_binary ORGDATA 0x2c)
229 ;;
230 cellc,rtl30vw |\
231 compex,wpj419 |\
232 compex,wpj428 |\
233 edgecore,ecw5211 |\
234 edgecore,oap100 |\
235 engenius,eap1300 |\
236 engenius,eap2200 |\
237 luma,wrtq-329acn|\
238 openmesh,a42 |\
239 openmesh,a62 |\
240 plasmacloud,pa1200 |\
241 plasmacloud,pa2200 |\
242 qxwlan,e2600ac-c1 |\
243 qxwlan,e2600ac-c2 |\
244 unielec,u4019-32m)
245 caldata_extract "0:ART" 0x5000 0x2f20
246 ;;
247 devolo,magic-2-wifi-next)
248 caldata_extract "ART" 0x5000 0x2f20
249 ath10k_patch_mac $(mtd_get_mac_ascii APPSBLENV WiFiMacAddress1)
250 ;;
251 dlink,dap-2610)
252 caldata_extract "ART" 0x5000 0x2f20
253 ath10k_patch_mac $(mtd_get_mac_ascii bdcfg wlanmac_a)
254 ;;
255 engenius,emd1)
256 caldata_extract "0:ART" 0x5000 0x2f20
257 ath10k_patch_mac $(macaddr_add $(mtd_get_mac_ascii 0:APPSBLENV wlanaddr) 1)
258 ;;
259 engenius,emr3500)
260 caldata_extract "0:ART" 0x5000 0x2f20
261 ath10k_patch_mac $(macaddr_add $(mtd_get_mac_ascii 0:APPSBLENV ethaddr) 1)
262 ;;
263 engenius,ens620ext)
264 caldata_extract "ART" 0x5000 0x2f20
265 ath10k_patch_mac $(macaddr_add $(mtd_get_mac_ascii u-boot-env ethaddr) 3)
266 ;;
267 linksys,ea8300 |\
268 linksys,mr8300)
269 caldata_extract "ART" 0x5000 0x2f20
270 ath10k_patch_mac $(macaddr_add "$(cat /sys/class/net/eth0/address)" 3)
271 ;;
272 meraki,mr33)
273 caldata_extract_ubi "ART" 0x5000 0x2f20
274 caldata_valid "202f" || caldata_extract "ART" 0x5000 0x2f20
275 ath10k_patch_mac $(macaddr_add $(get_mac_binary "/sys/bus/i2c/devices/0-0050/eeprom" 0x66) 3)
276 ;;
277 mikrotik,hap-ac2 |\
278 mikrotik,hap-ac3 |\
279 mikrotik,sxtsq-5-ac)
280 wlan_data="/sys/firmware/mikrotik/hard_config/wlan_data"
281 ( [ -f "$wlan_data" ] && caldata_sysfsload_from_file "$wlan_data" 0x8000 0x2f20 ) || \
282 ( [ -d "$wlan_data" ] && caldata_sysfsload_from_file "$wlan_data/data_2" 0x0 0x2f20 )
283 ;;
284 netgear,rbr50|\
285 netgear,rbs50|\
286 netgear,srr60|\
287 netgear,srs60)
288 caldata_extract_mmc "0:ART" 0x5000 0x2f20
289 ath10k_patch_mac $(mmc_get_mac_binary ARTMTD 0xc)
290 ;;
291 netgear,wac510)
292 caldata_extract "0:ART" 0x5000 0x2f20
293 ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary "0:MANUDATA" 0x6) 16)
294 ;;
295 teltonika,rutx10)
296 caldata_extract "0:ART" 0x5000 0x2f20
297 ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary "0:CONFIG" 0x0) 3)
298 ;;
299 zyxel,nbg6617 |\
300 zyxel,wre6606)
301 caldata_extract "ART" 0x5000 0x2f20
302 ath10k_patch_mac $(macaddr_add $(cat /sys/class/net/eth0/address) -1)
303 ;;
304 esac
305 ;;
306 *)
307 exit 1
308 ;;
309 esac