treewide: remove "+" sign for increment with macaddr_add
[openwrt/staging/chunkeey.git] / target / linux / lantiq / xway / base-files / etc / hotplug.d / firmware / 12-ath9k-eeprom
1 #!/bin/sh
2
3 [ -e /lib/firmware/$FIRMWARE ] && exit 0
4
5 . /lib/functions/caldata.sh
6
7 caldata_extract_swap() {
8 local part=$1
9 local offset=$2
10 local count=$3
11 local mtd
12
13 mtd=$(find_mtd_chardev $part)
14 [ -n "$mtd" ] || caldata_die "no mtd device found for partition $part"
15
16 offset=$(($offset / 2))
17 count=$(($count / 2))
18
19 dd if=$mtd of=/lib/firmware/$FIRMWARE bs=2 skip=$offset count=$count conv=swab 2>/dev/null || \
20 caldata_die "failed to extract calibration data from $mtd"
21 }
22
23 case "$FIRMWARE" in
24 "ath9k-eeprom-pci-0000:00:0e.0.bin" | \
25 "ath9k-eeprom-pci-0000:01:00.0.bin" | \
26 "ath9k-eeprom-pci-0000:02:00.0.bin")
27 board=$(board_name)
28
29 case "$board" in
30 arcadyan,arv7518pw)
31 caldata_extract_swap "boardconfig" 0x400 0x1000
32 ;;
33 arcadyan,arv8539pw22)
34 caldata_extract_swap "art" 0x400 0x1000
35 ;;
36 bt,homehub-v2b)
37 caldata_extract_swap "art" 0x0 0x1000
38 ath9k_patch_mac_crc "00:00:00:00:00:00" 0x20c
39 ;;
40 bt,homehub-v3a)
41 caldata_extract_swap "art-copy" 0x0 0x1000
42 ath9k_patch_mac_crc $(macaddr_add $(mtd_get_mac_ascii u-boot-env ethaddr) 2) 0x10c
43 ;;
44 netgear,dgn3500|netgear,dgn3500b)
45 caldata_extract "calibration" 0xf000 0x1000
46 ath9k_patch_mac_crc $(macaddr_add $(mtd_get_mac_ascii u-boot-env ethaddr) 2) 0x20c
47 ;;
48 avm,fritz7312|avm,fritz7320)
49 caldata_extract "urlader" 0x985 0x1000
50 ;;
51 *)
52 caldata_die "board $board is not supported yet"
53 ;;
54 esac
55 ;;
56 esac