ath79: add support for UniFi UK-Ultra
[openwrt/staging/wigyori.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 asus,rp-ac51|\
177 yuncore,a782|\
178 yuncore,xd4200)
179 caldata_extract "art" 0x5000 0x2f20
180 ln -sf /lib/firmware/ath10k/pre-cal-pci-0000\:00\:00.0.bin \
181 /lib/firmware/ath10k/QCA9888/hw2.0/board.bin
182 ;;
183 comfast,cf-e313ac)
184 caldata_extract "art" 0x5000 0x2f20
185 ath10k_patch_mac $(mtd_get_mac_binary art 0x6)
186 ln -sf /lib/firmware/ath10k/pre-cal-pci-0000\:00\:00.0.bin \
187 /lib/firmware/ath10k/QCA9888/hw2.0/board.bin
188 rm /lib/firmware/ath10k/QCA9888/hw2.0/board-2.bin
189 ;;
190 comfast,cf-e375ac|\
191 comfast,cf-e560ac|\
192 comfast,cf-ew72|\
193 comfast,cf-wr752ac-v1)
194 caldata_extract "art" 0x5000 0x2f20
195 ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary art 0x0) 2)
196 ln -sf /lib/firmware/ath10k/pre-cal-pci-0000\:00\:00.0.bin \
197 /lib/firmware/ath10k/QCA9888/hw2.0/board.bin
198 rm /lib/firmware/ath10k/QCA9888/hw2.0/board-2.bin
199 ;;
200 dlink,dir-842-c1|\
201 dlink,dir-842-c2|\
202 dlink,dir-842-c3)
203 caldata_extract "art" 0x5000 0x2f20
204 caldata_valid "202f" || caldata_extract "reserved" 0x15000 0x2f20
205 ath10k_patch_mac $(mtd_get_mac_ascii devdata wlan5mac)
206 ln -sf /lib/firmware/ath10k/pre-cal-pci-0000\:00\:00.0.bin \
207 /lib/firmware/ath10k/QCA9888/hw2.0/board.bin
208 ;;
209 nec,wf1200cr|\
210 nec,wg1200cr)
211 caldata_extract "art" 0x5000 0x2f20
212 ath10k_patch_mac $(mtd_get_mac_ascii devdata wlan5mac)
213 ln -sf /lib/firmware/ath10k/pre-cal-pci-0000\:00\:00.0.bin \
214 /lib/firmware/ath10k/QCA9888/hw2.0/board.bin
215 ;;
216 phicomm,k2t)
217 caldata_extract "art" 0x5000 0x2f20
218 ath10k_patch_mac $(k2t_get_mac "5g_mac")
219 ln -sf /lib/firmware/ath10k/pre-cal-pci-0000\:00\:00.0.bin \
220 /lib/firmware/ath10k/QCA9888/hw2.0/board.bin
221 ;;
222 tplink,archer-c58-v1|\
223 tplink,archer-c59-v1|\
224 tplink,archer-c59-v2|\
225 tplink,archer-c60-v1|\
226 tplink,archer-c60-v2|\
227 tplink,archer-c60-v3|\
228 tplink,archer-c6-v2|\
229 tplink,archer-c6-v2-us|\
230 tplink,tl-wa1201-v2)
231 caldata_extract "art" 0x5000 0x2f20
232 ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary info 0x8) -1)
233 ln -sf /lib/firmware/ath10k/pre-cal-pci-0000\:00\:00.0.bin \
234 /lib/firmware/ath10k/QCA9888/hw2.0/board.bin
235 ;;
236 tplink,cpe710-v1)
237 caldata_extract "art" 0x5000 0x2f20
238 ath10k_patch_mac $(mtd_get_mac_binary info 0x8)
239 ln -sf /lib/firmware/ath10k/pre-cal-pci-0000\:00\:00.0.bin \
240 /lib/firmware/ath10k/QCA9888/hw2.0/board.bin
241 ;;
242 xiaomi,aiot-ac2350)
243 caldata_extract "art" 0x5000 0x2f20
244 ln -sf /lib/firmware/ath10k/pre-cal-pci-0000\:00\:00.0.bin \
245 /lib/firmware/ath10k/QCA9984/hw1.0/board.bin
246 ;;
247 tplink,deco-m4r-v1)
248 caldata_extract "art" 0x5000 0x2f20
249 ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary config 0x8) -1)
250 ln -sf /lib/firmware/ath10k/pre-cal-pci-0000\:00\:00.0.bin \
251 /lib/firmware/ath10k/QCA9888/hw2.0/board.bin
252 ;;
253 tplink,deco-s4-v2)
254 caldata_extract "art" 0x5000 0x2f20
255 base_mac=$(mtd_get_mac_encrypted_deco $(find_mtd_part config))
256 ath10k_patch_mac $(macaddr_add $base_mac 2)
257 ln -sf /lib/firmware/ath10k/pre-cal-pci-0000\:00\:00.0.bin \
258 /lib/firmware/ath10k/QCA9888/hw2.0/board.bin
259 ;;
260 esac
261 ;;
262 *)
263 exit 1
264 ;;
265 esac