ath79: calibrate TL-WDR4900 v2 with nvmem-cells
[openwrt/openwrt.git] / target / linux / ath79 / generic / base-files / etc / hotplug.d / firmware / 10-ath9k-eeprom
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 "ath9k-eeprom-ahb-18100000.wmac.bin")
11 case $board in
12 8dev,lima)
13 caldata_extract "art" 0x1000 0x800
14 ;;
15 asus,pl-ac56|\
16 asus,rp-ac51|\
17 asus,rp-ac66)
18 caldata_extract "art" 0x1000 0x440
19 ;;
20 avm,fritz1750e|\
21 avm,fritz4020|\
22 avm,fritz450e|\
23 avm,fritzdvbc)
24 caldata_extract_reverse "urlader" 0x1541 0x440
25 ;;
26 dlink,dir-505|\
27 dlink,dir-825-c1|\
28 dlink,dir-835-a1)
29 caldata_extract "art" 0x1000 0x440
30 ath9k_patch_mac $(mtd_get_mac_text "mac" 0x4)
31 ;;
32 dlink,dir-842-c1|\
33 dlink,dir-842-c2|\
34 dlink,dir-842-c3|\
35 dlink,dir-859-a1|\
36 nec,wf1200cr|\
37 nec,wg1200cr|\
38 wd,mynet-n600|\
39 wd,mynet-n750)
40 caldata_extract "art" 0x1000 0x440
41 ath9k_patch_mac $(mtd_get_mac_ascii devdata "wlan24mac")
42 ;;
43 engenius,ecb1200|\
44 engenius,ecb1750)
45 caldata_extract "art" 0x1000 0x440
46 ath9k_patch_mac $(macaddr_add $(mtd_get_mac_ascii u-boot-env athaddr) 1)
47 ;;
48 engenius,epg5000|\
49 iodata,wn-ac1167dgr|\
50 iodata,wn-ac1600dgr|\
51 iodata,wn-ac1600dgr2|\
52 iodata,wn-ag300dgr|\
53 sitecom,wlr-7100|\
54 sitecom,wlr-8100)
55 caldata_extract "art" 0x1000 0x440
56 ath9k_patch_mac $(mtd_get_mac_ascii u-boot-env ethaddr)
57 ;;
58 enterasys,ws-ap3705i)
59 caldata_extract "calibrate" 0x1000 0x440
60 ath9k_patch_mac $(mtd_get_mac_ascii u-boot-env0 RADIOADDR1)
61 ;;
62 extreme-networks,ws-ap3805i)
63 caldata_extract "art" 0x1000 0x440
64 ath9k_patch_mac $(mtd_get_mac_ascii cfg1 RADIOADDR1)
65 ;;
66 nec,wg800hp)
67 caldata_extract "art" 0x1000 0x440
68 ath9k_patch_mac $(mtd_get_mac_text board_data 0x680)
69 ;;
70 qihoo,c301)
71 caldata_extract "radiocfg" 0x1000 0x440
72 ath9k_patch_mac $(mtd_get_mac_ascii devdata "wlan24mac")
73 ;;
74 tplink,deco-s4-v2)
75 caldata_extract "art" 0x1000 0x440
76 base_mac=$(mtd_get_mac_encrypted_deco $(find_mtd_part config))
77 ath9k_patch_mac $(macaddr_add $base_mac 1)
78 ;;
79 *)
80 caldata_die "board $board is not supported yet"
81 ;;
82 esac
83 ;;
84 "ath9k-eeprom-pci-0000:00:00.0.bin")
85 case $board in
86 araknis,an-300-ap-i-n|\
87 atheros,db120|\
88 engenius,eap600|\
89 engenius,ecb600|\
90 mercury,mw4530r-v1|\
91 ocedo,raccoon|\
92 tplink,tl-wdr3500-v1|\
93 tplink,tl-wdr3600-v1|\
94 tplink,tl-wdr4300-v1|\
95 tplink,tl-wdr4300-v1-il|\
96 tplink,tl-wdr4310-v1|\
97 ubnt,unifi-ap-pro|\
98 watchguard,ap100|\
99 watchguard,ap200|\
100 winchannel,wb2000)
101 caldata_extract "art" 0x5000 0x440
102 ;;
103 avm,fritz300e)
104 caldata_extract_reverse "urloader" 0x1541 0x440
105 ;;
106 buffalo,wzr-hp-g302h-a1a0|\
107 ubnt,unifi-ap-outdoor-plus)
108 caldata_extract "art" 0x1000 0xeb8
109 ;;
110 buffalo,wzr-hp-g450h|\
111 ubnt,unifi)
112 caldata_extract "art" 0x1000 0x440
113 ;;
114 dlink,dir-825-c1|\
115 dlink,dir-835-a1)
116 caldata_extract "art" 0x5000 0x440
117 ath9k_patch_mac $(macaddr_add $(mtd_get_mac_text "mac" 0x18) 1)
118 ;;
119 enterasys,ws-ap3705i)
120 caldata_extract "calibrate" 0x5000 0x440
121 ath9k_patch_mac $(mtd_get_mac_ascii u-boot-env0 RADIOADDR0)
122 ;;
123 meraki,mr12)
124 caldata_extract "art" 0x11000 0xeb8
125 ;;
126 netgear,wnr2200-8m|\
127 netgear,wnr2200-16m|\
128 pcs,cap324|\
129 tplink,tl-wr2543-v1|\
130 tplink,tl-wr842n-v1)
131 caldata_extract "art" 0x1000 0x1000
132 ;;
133 openmesh,mr600-v1|\
134 openmesh,mr600-v2|\
135 openmesh,om5p-an)
136 caldata_extract "ART" 0x5000 0x440
137 ;;
138 openmesh,om2p-v1)
139 caldata_extract "ART" 0x1000 0x440
140 ;;
141 wd,mynet-n600|\
142 wd,mynet-n750)
143 caldata_extract "art" 0x5000 0x440
144 ath9k_patch_mac $(mtd_get_mac_ascii devdata "wlan5mac")
145 ;;
146 wd,mynet-wifi-rangeextender)
147 caldata_extract "art" 0x1000 0x1000
148 ath9k_patch_mac $(nvram get wl0_hwaddr)
149 ;;
150 *)
151 caldata_die "board $board is not supported yet"
152 ;;
153 esac
154 ;;
155 "ath9k-eeprom-pci-0000:00:11.0.bin")
156 case $board in
157 buffalo,wzr-600dhp|\
158 buffalo,wzr-hp-ag300h|\
159 netgear,wndap360)
160 caldata_extract "art" 0x1000 0xeb8
161 ;;
162 dlink,dir-825-b1|\
163 trendnet,tew-673gru)
164 caldata_extract "caldata" 0x1000 0xeb8
165 ath9k_patch_mac_crc $(mtd_get_mac_text "caldata" 0xffa0) 0x20c
166 ;;
167 meraki,mr16)
168 caldata_extract "art" 0x11000 0xeb8
169 ;;
170 *)
171 caldata_die "board $board is not supported yet"
172 ;;
173 esac
174 ;;
175 "ath9k-eeprom-pci-0000:00:12.0.bin")
176 case $board in
177 buffalo,wzr-600dhp|\
178 buffalo,wzr-hp-ag300h|\
179 netgear,wndap360)
180 caldata_extract "art" 0x5000 0xeb8
181 ;;
182 dlink,dir-825-b1|\
183 trendnet,tew-673gru)
184 caldata_extract "caldata" 0x5000 0xeb8
185 ath9k_patch_mac_crc $(macaddr_add $(mtd_get_mac_text "caldata" 0xffb4) 1) 0x20c
186 ;;
187 meraki,mr16)
188 caldata_extract "art" 0x15000 0xeb8
189 ;;
190 *)
191 caldata_die "board $board is not supported yet"
192 ;;
193 esac
194 ;;
195 esac