14e191353699ecc002601160c440cb6e64abe138
[15.05/openwrt.git] / target / linux / ar71xx / base-files / lib / preinit / 81_load_ath10k_board_bin
1 #!/bin/sh
2
3 . /lib/functions/system.sh
4 . /lib/ar71xx.sh
5
6 do_load_ath10k_board_bin() {
7         # load board.bin
8         case $(ar71xx_board_name) in
9                 nbg6716)
10                         dd if=/dev/mtdblock2 \
11                                 bs=1 skip=20480 count=2116 \
12                                 of=/tmp/ath10k-board.bin
13                 ;;
14                 archer-c7)
15                         local mac
16                         mac=$(macaddr_add $(cat /sys/class/net/eth1/address) -2)
17
18                         dd if=/dev/mtdblock4 \
19                                 bs=1 skip=20480 count=6 \
20                                 of=/tmp/ath10k-board.bin
21                         macaddr_2bin $mac >> /tmp/ath10k-board.bin
22                         dd if=/dev/mtdblock4 \
23                                 bs=1 skip=20492 count=2104 >> /tmp/ath10k-board.bin
24
25                 ;;
26         esac
27         [ -f /tmp/ath10k-board.bin ] || {
28                 return
29         }
30         cmp -s /tmp/ath10k-board.bin /lib/firmware/ath10k/QCA988X/hw2.0/board.bin || {
31                 cp /tmp/ath10k-board.bin /lib/firmware/ath10k/QCA988X/hw2.0/board.bin
32                 rm /tmp/ath10k-board.bin
33         }
34 }
35
36 boot_hook_add preinit_main do_load_ath10k_board_bin