ipq40xx: add target
[openwrt/staging/wigyori.git] / target / linux / ipq40xx / base-files / etc / hotplug.d / firmware / 11-ath10k-caldata
1 #!/bin/sh
2
3 ath10kcal_die() {
4 echo "ath10cal: " "$*"
5 exit 1
6 }
7
8 ath10kcal_extract() {
9 local part=$1
10 local offset=$2
11 local count=$3
12 local mtd
13
14 mtd=$(find_mtd_chardev $part)
15 [ -n "$mtd" ] || \
16 ath10kcal_die "no mtd device found for partition $part"
17
18 dd if=$mtd of=/lib/firmware/$FIRMWARE bs=1 skip=$offset count=$count 2>/dev/null || \
19 ath10kcal_die "failed to extract calibration data from $mtd"
20 }
21
22 [ -e /lib/firmware/$FIRMWARE ] && exit 0
23
24 . /lib/functions.sh
25 . /lib/functions/system.sh
26
27 board=$(board_name)
28
29
30 case "$FIRMWARE" in
31 "ath10k/pre-cal-ahb-a000000.wifi.bin")
32 case "$board" in
33 avm,fritzbox-4040)
34 /usr/bin/fritz_cal_extract -i 1 -s 0x400 -e 0x207 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader_config")
35 ;;
36 glinet,gl-b1300 |\
37 qcom,ap-dk01.1-c1)
38 ath10kcal_extract "ART" 4096 12064
39 ;;
40 openmesh,a42)
41 ath10kcal_extract "0:ART" 4096 12064
42 ;;
43 esac
44 ;;
45 "ath10k/pre-cal-ahb-a800000.wifi.bin")
46 case "$board" in
47 avm,fritzbox-4040)
48 /usr/bin/fritz_cal_extract -i 1 -s 0x400 -e 0x208 -l 12064 -o /lib/firmware/$FIRMWARE $(find_mtd_chardev "urlader_config")
49 ;;
50 glinet,gl-b1300 |\
51 qcom,ap-dk01.1-c1)
52 ath10kcal_extract "ART" 20480 12064
53 ;;
54 openmesh,a42)
55 ath10kcal_extract "0:ART" 20480 12064
56 ;;
57 esac
58 ;;
59 *)
60 exit 1
61 ;;
62 esac