6145487393c69154f153b209218f8786933091e9
[openwrt/openwrt.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 dlink,dir-842-c1|\
177 dlink,dir-842-c2|\
178 dlink,dir-842-c3)
179 caldata_extract "art" 0x5000 0x2f20
180 caldata_valid "202f" || caldata_extract "reserved" 0x15000 0x2f20
181 ath10k_patch_mac $(mtd_get_mac_ascii devdata wlan5mac)
182 ln -sf /lib/firmware/ath10k/pre-cal-pci-0000\:00\:00.0.bin \
183 /lib/firmware/ath10k/QCA9888/hw2.0/board.bin
184 ;;
185 nec,wf1200cr|\
186 nec,wg1200cr)
187 caldata_extract "art" 0x5000 0x2f20
188 ath10k_patch_mac $(mtd_get_mac_ascii devdata wlan5mac)
189 ln -sf /lib/firmware/ath10k/pre-cal-pci-0000\:00\:00.0.bin \
190 /lib/firmware/ath10k/QCA9888/hw2.0/board.bin
191 ;;
192 phicomm,k2t)
193 caldata_extract "art" 0x5000 0x2f20
194 ath10k_patch_mac $(k2t_get_mac "5g_mac")
195 ln -sf /lib/firmware/ath10k/pre-cal-pci-0000\:00\:00.0.bin \
196 /lib/firmware/ath10k/QCA9888/hw2.0/board.bin
197 ;;
198 tplink,deco-s4-v2)
199 caldata_extract "art" 0x5000 0x2f20
200 base_mac=$(mtd_get_mac_encrypted_deco $(find_mtd_part config))
201 ath10k_patch_mac $(macaddr_add $base_mac 2)
202 ln -sf /lib/firmware/ath10k/pre-cal-pci-0000\:00\:00.0.bin \
203 /lib/firmware/ath10k/QCA9888/hw2.0/board.bin
204 ;;
205 esac
206 ;;
207 *)
208 exit 1
209 ;;
210 esac