ath79: convert ath10k pre-calibration data to NVMEM (built-in MAC)
[openwrt/staging/svanheule.git] / target / linux / ath79 / generic / 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 . /lib/functions/k2t.sh
7
8 board=$(board_name)
9
10 case "$FIRMWARE" in
11 "ath10k/cal-pci-0000:00:00.0.bin")
12 case $board in
13 allnet,all-wap02860ac|\
14 araknis,an-500-ap-i-ac|\
15 araknis,an-700-ap-i-ac|\
16 comfast,cf-e380ac-v2|\
17 engenius,enstationac-v1|\
18 glinet,gl-x750|\
19 watchguard,ap300)
20 caldata_extract "art" 0x5000 0x844
21 ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary art 0x0) 2)
22 ;;
23 asus,pl-ac56|\
24 asus,rp-ac66|\
25 comfast,cf-wr650ac-v1|\
26 comfast,cf-wr650ac-v2|\
27 devolo,dlan-pro-1200plus-ac|\
28 devolo,magic-2-wifi|\
29 joyit,jt-or750i|\
30 qxwlan,e1700ac-v2-8m|\
31 qxwlan,e1700ac-v2-16m|\
32 qxwlan,e600gac-v2-8m|\
33 qxwlan,e600gac-v2-16m|\
34 sophos,ap15|\
35 sophos,ap55|\
36 sophos,ap55c|\
37 sophos,ap100|\
38 sophos,ap100c|\
39 ubnt,bullet-ac|\
40 ubnt,uk-ultra|\
41 ubnt,unifiac-lite|\
42 ubnt,unifiac-lr|\
43 ubnt,unifiac-mesh|\
44 ubnt,unifiac-mesh-pro|\
45 ubnt,lap-120|\
46 ubnt,litebeam-ac-gen2|\
47 ubnt,nanobeam-ac|\
48 ubnt,nanobeam-ac-gen2|\
49 ubnt,nanobeam-ac-xc|\
50 ubnt,nanostation-ac|\
51 ubnt,nanostation-ac-loco|\
52 ubnt,powerbeam-5ac-500|\
53 ubnt,powerbeam-5ac-gen2|\
54 ubnt,rocket-5ac-lite|\
55 ubnt,unifiac-pro|\
56 yuncore,a770|\
57 yuncore,xd3200)
58 caldata_extract "art" 0x5000 0x844
59 ;;
60 avm,fritz1750e|\
61 avm,fritzdvbc)
62 caldata_extract "urlader" 0x198a 0x844
63 ;;
64 devolo,dvl1200e|\
65 devolo,dvl1200i|\
66 devolo,dvl1750c|\
67 devolo,dvl1750e|\
68 devolo,dvl1750i|\
69 devolo,dvl1750x)
70 caldata_extract "art" 0x5000 0x844
71 ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary art 0x0) -1)
72 ;;
73 engenius,ecb1200|\
74 engenius,ecb1750)
75 caldata_extract "art" 0x5000 0x844
76 ath10k_patch_mac $(mtd_get_mac_ascii u-boot-env athaddr)
77 ;;
78 engenius,ews511ap)
79 caldata_extract "art" 0x5000 0x844
80 ath10k_patch_mac $(macaddr_add $(cat /sys/class/net/eth0/address) 1)
81 ;;
82 extreme-networks,ws-ap3805i)
83 caldata_extract "art" 0x5000 0x844
84 ath10k_patch_mac $(mtd_get_mac_ascii cfg1 RADIOADDR0)
85 ;;
86 glinet,gl-ar750)
87 caldata_extract "art" 0x5000 0x844
88 ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary art 0x0) 1)
89 ;;
90 iodata,wn-ac1167dgr|\
91 iodata,wn-ac1600dgr2|\
92 sitecom,wlr-7100|\
93 zyxel,nbg6616)
94 caldata_extract "art" 0x5000 0x844
95 ath10k_patch_mac $(macaddr_add $(mtd_get_mac_ascii u-boot-env ethaddr) 1)
96 ;;
97 nec,wg800hp)
98 caldata_extract "art" 0x5000 0x844
99 ath10k_patch_mac $(mtd_get_mac_text board_data 0x880)
100 ;;
101 ocedo,koala|\
102 ocedo,ursus)
103 caldata_extract "art" 0x5000 0x844
104 ath10k_patch_mac $(mtd_get_mac_binary art 0xc)
105 ;;
106 openmesh,a40|\
107 openmesh,a60|\
108 openmesh,mr1750-v1|\
109 openmesh,mr1750-v2|\
110 openmesh,om5p-ac-v2)
111 caldata_extract "ART" 0x5000 0x844
112 ath10k_patch_mac $(macaddr_add $(cat /sys/class/net/eth0/address) 16)
113 ;;
114 qihoo,c301)
115 caldata_extract "radiocfg" 0x5000 0x844
116 ath10k_patch_mac $(mtd_get_mac_ascii devdata wlan5mac)
117 ;;
118 tplink,archer-a7-v5|\
119 tplink,archer-c2-v3|\
120 tplink,archer-c7-v4|\
121 tplink,archer-c7-v5|\
122 tplink,archer-c25-v1|\
123 tplink,tl-wr902ac-v1)
124 caldata_extract "art" 0x5000 0x844
125 ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary info 0x8) -1)
126 ;;
127 tplink,archer-c5-v1|\
128 tplink,tl-wdr7500-v3)
129 caldata_extract "art" 0x5000 0x844
130 ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary u-boot 0x1fc00) -1)
131 ;;
132 tplink,archer-d50-v1)
133 caldata_extract "art" 0x5000 0x844
134 ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary romfile 0xf100) 2)
135 ;;
136 tplink,archer-d7-v1|\
137 tplink,archer-d7b-v1)
138 caldata_extract "art" 0x5000 0x844
139 ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary romfs 0xf100) 2)
140 ;;
141 tplink,re350k-v1)
142 caldata_extract "art" 0x5000 0x844
143 ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary info 0x8) 2)
144 ;;
145 tplink,re355-v1|\
146 tplink,re450-v1)
147 caldata_extract "art" 0x5000 0x844
148 ath10k_patch_mac $(macaddr_add $(cat /sys/class/net/eth0/address) -2)
149 ;;
150 tplink,re450-v2|\
151 tplink,re450-v3|\
152 tplink,re455-v1)
153 caldata_extract "art" 0x5000 0x844
154 ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary info 0x8) 1)
155 ;;
156 tplink,tl-wpa8630-v1)
157 caldata_extract "art" 0x5000 0x844
158 ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary u-boot 0x0fc00) 1)
159 ;;
160 esac
161 ;;
162 "ath10k/cal-pci-0000:01:00.0.bin")
163 case $board in
164 openmesh,om5p-ac-v1)
165 caldata_extract "ART" 0x5000 0x844
166 ath10k_patch_mac $(macaddr_add $(cat /sys/class/net/eth0/address) +16)
167 ;;
168 sitecom,wlr-8100)
169 caldata_extract "art" 0x5000 0x844
170 ath10k_patch_mac $(macaddr_add $(mtd_get_mac_ascii u-boot-env ethaddr) 1)
171 ;;
172 esac
173 ;;
174 "ath10k/pre-cal-pci-0000:00:00.0.bin")
175 case $board in
176 comfast,cf-e313ac)
177 caldata_extract "art" 0x5000 0x2f20
178 ath10k_patch_mac $(mtd_get_mac_binary art 0x6)
179 ln -sf /lib/firmware/ath10k/pre-cal-pci-0000\:00\:00.0.bin \
180 /lib/firmware/ath10k/QCA9888/hw2.0/board.bin
181 ;;
182 comfast,cf-e375ac|\
183 comfast,cf-e560ac|\
184 comfast,cf-ew72|\
185 comfast,cf-wr752ac-v1)
186 caldata_extract "art" 0x5000 0x2f20
187 ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary art 0x0) 2)
188 ln -sf /lib/firmware/ath10k/pre-cal-pci-0000\:00\:00.0.bin \
189 /lib/firmware/ath10k/QCA9888/hw2.0/board.bin
190 ;;
191 dlink,dir-842-c1|\
192 dlink,dir-842-c2|\
193 dlink,dir-842-c3)
194 caldata_extract "art" 0x5000 0x2f20
195 caldata_valid "202f" || caldata_extract "reserved" 0x15000 0x2f20
196 ath10k_patch_mac $(mtd_get_mac_ascii devdata wlan5mac)
197 ln -sf /lib/firmware/ath10k/pre-cal-pci-0000\:00\:00.0.bin \
198 /lib/firmware/ath10k/QCA9888/hw2.0/board.bin
199 ;;
200 nec,wf1200cr|\
201 nec,wg1200cr)
202 caldata_extract "art" 0x5000 0x2f20
203 ath10k_patch_mac $(mtd_get_mac_ascii devdata wlan5mac)
204 ln -sf /lib/firmware/ath10k/pre-cal-pci-0000\:00\:00.0.bin \
205 /lib/firmware/ath10k/QCA9888/hw2.0/board.bin
206 ;;
207 phicomm,k2t)
208 caldata_extract "art" 0x5000 0x2f20
209 ath10k_patch_mac $(k2t_get_mac "5g_mac")
210 ln -sf /lib/firmware/ath10k/pre-cal-pci-0000\:00\:00.0.bin \
211 /lib/firmware/ath10k/QCA9888/hw2.0/board.bin
212 ;;
213 tplink,archer-c58-v1|\
214 tplink,archer-c59-v1|\
215 tplink,archer-c59-v2|\
216 tplink,archer-c60-v1|\
217 tplink,archer-c60-v2|\
218 tplink,archer-c60-v3|\
219 tplink,archer-c6-v2|\
220 tplink,archer-c6-v2-us|\
221 tplink,tl-wa1201-v2)
222 caldata_extract "art" 0x5000 0x2f20
223 ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary info 0x8) -1)
224 ln -sf /lib/firmware/ath10k/pre-cal-pci-0000\:00\:00.0.bin \
225 /lib/firmware/ath10k/QCA9888/hw2.0/board.bin
226 ;;
227 tplink,cpe710-v1)
228 caldata_extract "art" 0x5000 0x2f20
229 ath10k_patch_mac $(mtd_get_mac_binary info 0x8)
230 ln -sf /lib/firmware/ath10k/pre-cal-pci-0000\:00\:00.0.bin \
231 /lib/firmware/ath10k/QCA9888/hw2.0/board.bin
232 ;;
233 tplink,deco-m4r-v1)
234 caldata_extract "art" 0x5000 0x2f20
235 ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary config 0x8) -1)
236 ln -sf /lib/firmware/ath10k/pre-cal-pci-0000\:00\:00.0.bin \
237 /lib/firmware/ath10k/QCA9888/hw2.0/board.bin
238 ;;
239 tplink,deco-s4-v2)
240 caldata_extract "art" 0x5000 0x2f20
241 base_mac=$(mtd_get_mac_encrypted_deco $(find_mtd_part config))
242 ath10k_patch_mac $(macaddr_add $base_mac 2)
243 ln -sf /lib/firmware/ath10k/pre-cal-pci-0000\:00\:00.0.bin \
244 /lib/firmware/ath10k/QCA9888/hw2.0/board.bin
245 ;;
246 esac
247 ;;
248 *)
249 exit 1
250 ;;
251 esac