ath79: calibrate dlink dir-825 c1 and dir-835 a1 with nvmem
[openwrt/staging/stintel.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 caldata_extract "art" 0x1000 0x440
28 ath9k_patch_mac $(mtd_get_mac_text "mac" 0x4)
29 ;;
30 dlink,dir-842-c1|\
31 dlink,dir-842-c2|\
32 dlink,dir-842-c3|\
33 dlink,dir-859-a1|\
34 nec,wf1200cr|\
35 nec,wg1200cr|\
36 wd,mynet-n600|\
37 wd,mynet-n750)
38 caldata_extract "art" 0x1000 0x440
39 ath9k_patch_mac $(mtd_get_mac_ascii devdata "wlan24mac")
40 ;;
41 engenius,ecb1200|\
42 engenius,ecb1750)
43 caldata_extract "art" 0x1000 0x440
44 ath9k_patch_mac $(macaddr_add $(mtd_get_mac_ascii u-boot-env athaddr) 1)
45 ;;
46 engenius,epg5000|\
47 iodata,wn-ac1167dgr|\
48 iodata,wn-ac1600dgr|\
49 iodata,wn-ac1600dgr2|\
50 iodata,wn-ag300dgr|\
51 sitecom,wlr-7100|\
52 sitecom,wlr-8100)
53 caldata_extract "art" 0x1000 0x440
54 ath9k_patch_mac $(mtd_get_mac_ascii u-boot-env ethaddr)
55 ;;
56 enterasys,ws-ap3705i)
57 caldata_extract "calibrate" 0x1000 0x440
58 ath9k_patch_mac $(mtd_get_mac_ascii u-boot-env0 RADIOADDR1)
59 ;;
60 extreme-networks,ws-ap3805i)
61 caldata_extract "art" 0x1000 0x440
62 ath9k_patch_mac $(mtd_get_mac_ascii cfg1 RADIOADDR1)
63 ;;
64 nec,wg800hp)
65 caldata_extract "art" 0x1000 0x440
66 ath9k_patch_mac $(mtd_get_mac_text board_data 0x680)
67 ;;
68 qihoo,c301)
69 caldata_extract "radiocfg" 0x1000 0x440
70 ath9k_patch_mac $(mtd_get_mac_ascii devdata "wlan24mac")
71 ;;
72 tplink,deco-s4-v2)
73 caldata_extract "art" 0x1000 0x440
74 base_mac=$(mtd_get_mac_encrypted_deco $(find_mtd_part config))
75 ath9k_patch_mac $(macaddr_add $base_mac 1)
76 ;;
77 *)
78 caldata_die "board $board is not supported yet"
79 ;;
80 esac
81 ;;
82 "ath9k-eeprom-pci-0000:00:00.0.bin")
83 case $board in
84 avm,fritz300e)
85 caldata_extract_reverse "urloader" 0x1541 0x440
86 ;;
87 buffalo,wzr-hp-g450h|\
88 pcs,cap324)
89 caldata_extract "art" 0x1000 0x440
90 ;;
91 dlink,dir-825-c1|\
92 dlink,dir-835-a1)
93 caldata_extract "art" 0x5000 0x440
94 ath9k_patch_mac $(macaddr_add $(mtd_get_mac_text "mac" 0x18) 1)
95 ;;
96 enterasys,ws-ap3705i)
97 caldata_extract "calibrate" 0x5000 0x440
98 ath9k_patch_mac $(mtd_get_mac_ascii u-boot-env0 RADIOADDR0)
99 ;;
100 meraki,mr12)
101 caldata_extract "art" 0x11000 0xeb8
102 ;;
103 netgear,wnr2200-8m|\
104 netgear,wnr2200-16m|\
105 tplink,tl-wr842n-v1)
106 caldata_extract "art" 0x1000 0x3e0
107 ;;
108 wd,mynet-n600|\
109 wd,mynet-n750)
110 caldata_extract "art" 0x5000 0x440
111 ath9k_patch_mac $(mtd_get_mac_ascii devdata "wlan5mac")
112 ;;
113 wd,mynet-wifi-rangeextender)
114 caldata_extract "art" 0x1000 0x440
115 ath9k_patch_mac $(nvram get wl0_hwaddr)
116 ;;
117 *)
118 caldata_die "board $board is not supported yet"
119 ;;
120 esac
121 ;;
122 "ath9k-eeprom-pci-0000:00:11.0.bin")
123 case $board in
124 buffalo,wzr-600dhp|\
125 buffalo,wzr-hp-ag300h)
126 caldata_extract "art" 0x1000 0xeb8
127 ;;
128 dlink,dir-825-b1|\
129 trendnet,tew-673gru)
130 caldata_extract "caldata" 0x1000 0xeb8
131 ath9k_patch_mac_crc $(mtd_get_mac_text "caldata" 0xffa0) 0x20c
132 ;;
133 meraki,mr16)
134 caldata_extract "art" 0x11000 0xeb8
135 ;;
136 *)
137 caldata_die "board $board is not supported yet"
138 ;;
139 esac
140 ;;
141 "ath9k-eeprom-pci-0000:00:12.0.bin")
142 case $board in
143 buffalo,wzr-600dhp|\
144 buffalo,wzr-hp-ag300h)
145 caldata_extract "art" 0x5000 0xeb8
146 ;;
147 dlink,dir-825-b1|\
148 trendnet,tew-673gru)
149 caldata_extract "caldata" 0x5000 0xeb8
150 ath9k_patch_mac_crc $(macaddr_add $(mtd_get_mac_text "caldata" 0xffb4) 1) 0x20c
151 ;;
152 meraki,mr16)
153 caldata_extract "art" 0x15000 0xeb8
154 ;;
155 *)
156 caldata_die "board $board is not supported yet"
157 ;;
158 esac
159 ;;
160 esac