ath79: convert ath10k calibration data to NVMEM (built-in MAC)
[openwrt/staging/dangole.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
7 board=$(board_name)
8
9 case "$FIRMWARE" in
10 "ath10k/cal-pci-0000:00:00.0.bin")
11 case $board in
12 allnet,all-wap02860ac|\
13 araknis,an-500-ap-i-ac|\
14 araknis,an-700-ap-i-ac|\
15 comfast,cf-e380ac-v2|\
16 engenius,enstationac-v1|\
17 glinet,gl-x750|\
18 watchguard,ap300)
19 caldata_extract "art" 0x5000 0x844
20 ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary art 0x0) 2)
21 ;;
22 devolo,dvl1200e|\
23 devolo,dvl1200i|\
24 devolo,dvl1750c|\
25 devolo,dvl1750e|\
26 devolo,dvl1750i|\
27 devolo,dvl1750x)
28 caldata_extract "art" 0x5000 0x844
29 ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary art 0x0) -1)
30 ;;
31 engenius,ecb1200|\
32 engenius,ecb1750)
33 caldata_extract "art" 0x5000 0x844
34 ath10k_patch_mac $(mtd_get_mac_ascii u-boot-env athaddr)
35 ;;
36 engenius,ews511ap)
37 caldata_extract "art" 0x5000 0x844
38 ath10k_patch_mac $(macaddr_add $(cat /sys/class/net/eth0/address) 1)
39 ;;
40 extreme-networks,ws-ap3805i)
41 caldata_extract "art" 0x5000 0x844
42 ath10k_patch_mac $(mtd_get_mac_ascii cfg1 RADIOADDR0)
43 ;;
44 glinet,gl-ar750)
45 caldata_extract "art" 0x5000 0x844
46 ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary art 0x0) 1)
47 ;;
48 iodata,wn-ac1167dgr|\
49 iodata,wn-ac1600dgr2|\
50 sitecom,wlr-7100|\
51 zyxel,nbg6616)
52 caldata_extract "art" 0x5000 0x844
53 ath10k_patch_mac $(macaddr_add $(mtd_get_mac_ascii u-boot-env ethaddr) 1)
54 ;;
55 nec,wg800hp)
56 caldata_extract "art" 0x5000 0x844
57 ath10k_patch_mac $(mtd_get_mac_text board_data 0x880)
58 ;;
59 ocedo,koala|\
60 ocedo,ursus)
61 caldata_extract "art" 0x5000 0x844
62 ath10k_patch_mac $(mtd_get_mac_binary art 0xc)
63 ;;
64 openmesh,a40|\
65 openmesh,a60|\
66 openmesh,mr1750-v1|\
67 openmesh,mr1750-v2|\
68 openmesh,om5p-ac-v2)
69 caldata_extract "ART" 0x5000 0x844
70 ath10k_patch_mac $(macaddr_add $(cat /sys/class/net/eth0/address) 16)
71 ;;
72 qihoo,c301)
73 caldata_extract "radiocfg" 0x5000 0x844
74 ath10k_patch_mac $(mtd_get_mac_ascii devdata wlan5mac)
75 ;;
76 tplink,archer-a7-v5|\
77 tplink,archer-c2-v3|\
78 tplink,archer-c7-v4|\
79 tplink,archer-c7-v5|\
80 tplink,archer-c25-v1|\
81 tplink,tl-wr902ac-v1)
82 caldata_extract "art" 0x5000 0x844
83 ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary info 0x8) -1)
84 ;;
85 tplink,archer-c5-v1|\
86 tplink,tl-wdr7500-v3)
87 caldata_extract "art" 0x5000 0x844
88 ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary u-boot 0x1fc00) -1)
89 ;;
90 tplink,archer-d50-v1)
91 caldata_extract "art" 0x5000 0x844
92 ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary romfile 0xf100) 2)
93 ;;
94 tplink,archer-d7-v1|\
95 tplink,archer-d7b-v1)
96 caldata_extract "art" 0x5000 0x844
97 ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary romfs 0xf100) 2)
98 ;;
99 tplink,re350k-v1)
100 caldata_extract "art" 0x5000 0x844
101 ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary info 0x8) 2)
102 ;;
103 tplink,re355-v1|\
104 tplink,re450-v1)
105 caldata_extract "art" 0x5000 0x844
106 ath10k_patch_mac $(macaddr_add $(cat /sys/class/net/eth0/address) -2)
107 ;;
108 tplink,re450-v2|\
109 tplink,re450-v3|\
110 tplink,re455-v1)
111 caldata_extract "art" 0x5000 0x844
112 ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary info 0x8) 1)
113 ;;
114 tplink,tl-wpa8630-v1)
115 caldata_extract "art" 0x5000 0x844
116 ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary u-boot 0x0fc00) 1)
117 ;;
118 esac
119 ;;
120 "ath10k/cal-pci-0000:01:00.0.bin")
121 case $board in
122 openmesh,om5p-ac-v1)
123 caldata_extract "ART" 0x5000 0x844
124 ath10k_patch_mac $(macaddr_add $(cat /sys/class/net/eth0/address) +16)
125 ;;
126 sitecom,wlr-8100)
127 caldata_extract "art" 0x5000 0x844
128 ath10k_patch_mac $(macaddr_add $(mtd_get_mac_ascii u-boot-env ethaddr) 1)
129 ;;
130 esac
131 ;;
132 "ath10k/pre-cal-pci-0000:00:00.0.bin")
133 case $board in
134 dlink,dir-842-c1|\
135 dlink,dir-842-c2|\
136 dlink,dir-842-c3)
137 caldata_extract "art" 0x5000 0x2f20
138 caldata_valid "202f" || caldata_extract "reserved" 0x15000 0x2f20
139 ath10k_patch_mac $(mtd_get_mac_ascii devdata wlan5mac)
140 ln -sf /lib/firmware/ath10k/pre-cal-pci-0000\:00\:00.0.bin \
141 /lib/firmware/ath10k/QCA9888/hw2.0/board.bin
142 ;;
143 esac
144 ;;
145 *)
146 exit 1
147 ;;
148 esac