X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fstaging%2Fchunkeey.git;a=blobdiff_plain;f=target%2Flinux%2Fipq40xx%2Fbase-files%2Fetc%2Fhotplug.d%2Ffirmware%2F11-ath10k-caldata;h=0182823bc23cfd81aebef1812ceeff230c2d57df;hp=e0b4eed6f2b94481007de0a2d7e7fc090e51e0a6;hb=cfee3f2eeecc75abed3294a8b949c2ca48c3c08c;hpb=394db1b0f019aecad9512808531577ba2d57c2af diff --git a/target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata b/target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata index e0b4eed6f2..0182823bc2 100644 --- a/target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata +++ b/target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata @@ -6,6 +6,46 @@ board=$(board_name) +board2_add_entry() +{ + local file="$1" + local offset="$(($2))" + local size="$(($3))" + + local id=$(dd iflag=skip_bytes if="$file" bs=1 count=1 skip=$((offset+32)) | hexdump -e '1/1 "%02d"') + + # Qualcomm IDs are in the range of 16 to 30 it seems - taken from the board-2.bin + # This is there to skip the missing 2G on the SXTSQ 5 AC + [ "$id" -ge 16 -a "$id" -le 30 ] || return 0 + + printf "\x00\x00\x00\x00\x58\x2f\x00\x00\x00\x00\x00\x00\x25\x00\x00\x00" + printf "bus=ahb,bmi-chip-id=0,bmi-board-id=${id}\x00\x00\x00" + printf "\x01\x00\x00\x00\x20\x2f\x00\x00" + + dd iflag=skip_bytes,fullblock if="$file" bs="$size" count=1 skip="$offset" >> "/lib/firmware/$FIRMWARE" +} + +board2_create_for_mikrotik() +{ + wlan_data="/sys/firmware/mikrotik/hard_config/wlan_data" + + [ -f "$wlan_data" ] && { + ( + printf "QCA-ATH10K-BOARD\x00\x00\x00\x00" + board2_add_entry "$wlan_data" 0x2f20 0x2f20 + board2_add_entry "$wlan_data" 0xaf20 0x2f20 + ) >> "/lib/firmware/$FIRMWARE" + } || true + + [ -d "$wlan_data" ] && { + ( + printf "QCA-ATH10K-BOARD\x00\x00\x00\x00" + board2_add_entry "$wlan_data/data_0" 0x2f20 0x2f20 + board2_add_entry "$wlan_data/data_2" 0x2f20 0x2f20 + ) >> "/lib/firmware/$FIRMWARE" + } || true +} + case "$FIRMWARE" in "ath10k/cal-pci-0000:01:00.0.bin") case "$board" in @@ -238,6 +278,16 @@ case "$FIRMWARE" in ;; esac ;; +"ath10k/QCA4019/hw1.0/board-2.bin") +case "$board" in + mikrotik,cap-ac |\ + mikrotik,hap-ac2 |\ + mikrotik,hap-ac3 |\ + mikrotik,sxtsq-5-ac) + board2_create_for_mikrotik + ;; + esac + ;; *) exit 1 ;;