X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fopenwrt.git;a=blobdiff_plain;f=target%2Flinux%2Fipq806x%2Fbase-files%2Fetc%2Fhotplug.d%2Ffirmware%2F11-ath10k-caldata;h=3befc40630c988d7f84c940bf4cff4d0b2c4cfc4;hp=24da5500b551d25c3bb809764195bb12f925a0be;hb=1a775a4fd0339b485f48a864e2cf9e8794bfe4cb;hpb=3d067c013297f43021a8e7aec78e220c048585fb diff --git a/target/linux/ipq806x/base-files/etc/hotplug.d/firmware/11-ath10k-caldata b/target/linux/ipq806x/base-files/etc/hotplug.d/firmware/11-ath10k-caldata index 24da5500b5..3befc40630 100644 --- a/target/linux/ipq806x/base-files/etc/hotplug.d/firmware/11-ath10k-caldata +++ b/target/linux/ipq806x/base-files/etc/hotplug.d/firmware/11-ath10k-caldata @@ -1,72 +1,99 @@ #!/bin/sh -ath10kcal_die() { - echo "ath10cal: " "$*" - exit 1 -} - -ath10kcal_from_file() { - local source=$1 - local offset=$2 - local count=$3 - - dd if=$source of=/lib/firmware/$FIRMWARE bs=1 skip=$offset count=$count 2>/dev/null || \ - ath10kcal_die "failed to extract calibration data from $source" -} - -ath10kcal_extract() { - local part=$1 - local offset=$2 - local count=$3 - local mtd - - mtd=$(find_mtd_chardev $part) - [ -n "$mtd" ] || \ - ath10kcal_die "no mtd device found for partition $part" - - dd if=$mtd of=/lib/firmware/$FIRMWARE bs=1 skip=$offset count=$count 2>/dev/null || \ - ath10kcal_die "failed to extract calibration data from $mtd" -} - -ath10kcal_patch_mac() { - local mac=$1 - - [ -z "$mac" ] && return - - macaddr_2bin $mac | dd of=/lib/firmware/$FIRMWARE conv=notrunc bs=1 seek=6 count=6 -} - [ -e /lib/firmware/$FIRMWARE ] && exit 0 -. /lib/ipq806x.sh -. /lib/functions.sh -. /lib/functions/system.sh - -board=$(ipq806x_board_name) +. /lib/functions/caldata.sh +board=$(board_name) case "$FIRMWARE" in -"ath10k/cal-pci-0000:01:00.0.bin") +"ath10k/pre-cal-pci-0000:01:00.0.bin") case $board in - c2600) - ath10kcal_extract "radio" 4096 12064 -# ath10kcal_patch_mac $(macaddr_add $(mtd_get_mac_binary default-mac 8) -1) + asrock,g10) + caldata_extract "0:ART" 0x1000 0x2f20 + ;; + buffalo,wxr-2533dhp) + caldata_extract "ART" 0x1000 0x2f20 + ath10k_patch_mac $(mtd_get_mac_binary ART 0x1e) + ;; + edgecore,ecw5410) + caldata_extract "0:ART" 0x1000 0x2f20 + ;; + linksys,ea7500-v1 |\ + linksys,ea8500) + caldata_extract "art" 0x1000 0x2f20 + ath10k_patch_mac $(macaddr_add $(mtd_get_mac_ascii devinfo hw_mac_addr) +1) ;; - ea8500) - hw_mac_addr=$(mtd_get_mac_ascii devinfo hw_mac_addr) - ath10kcal_extract "art" 4096 12064 + nec,wg2600hp |\ + nec,wg2600hp3) + caldata_extract "ART" 0x1000 0x2f20 + ath10k_patch_mac $(mtd_get_mac_binary PRODUCTDATA 0x12) + ;; + netgear,d7800 |\ + netgear,r7500v2 |\ + netgear,r7800) + caldata_extract "art" 0x1000 0x2f20 + ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary art 0x6) +1) + ;; + tplink,ad7200 |\ + tplink,c2600) + caldata_extract "radio" 0x1000 0x2f20 + ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary default-mac 0x8) -1) + ;; + tplink,vr2600v) + caldata_extract "ART" 0x1000 0x2f20 + ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary default-mac 0x0) -1) + ;; + zyxel,nbg6817) + caldata_extract "0:ART" 0x1000 0x2f20 + ath10k_patch_mac $(macaddr_add $(mtd_get_mac_ascii 0:APPSBLENV ethaddr) +1) ;; esac ;; -"ath10k/cal-pci-0001:01:00.0.bin") +"ath10k/pre-cal-pci-0001:01:00.0.bin") case $board in - c2600) - ath10kcal_extract "radio" 20480 12064 -# ath10kcal_patch_mac $(macaddr_add $(mtd_get_mac_binary default-mac 8) -2) + asrock,g10) + caldata_extract "0:ART" 0x5000 0x2f20 + ;; + buffalo,wxr-2533dhp) + caldata_extract "ART" 0x5000 0x2f20 + ath10k_patch_mac $(mtd_get_mac_binary ART 0x18) + ;; + linksys,ea7500-v1 |\ + linksys,ea8500) + caldata_extract "art" 0x5000 0x2f20 + ath10k_patch_mac $(macaddr_add $(mtd_get_mac_ascii devinfo hw_mac_addr) +2) + ;; + nec,wg2600hp |\ + nec,wg2600hp3) + caldata_extract "ART" 0x5000 0x2f20 + ath10k_patch_mac $(mtd_get_mac_binary PRODUCTDATA 0xc) ;; - ea8500) - hw_mac_addr=$(mtd_get_mac_ascii devinfo hw_mac_addr) - ath10kcal_extract "art" 20480 12064 + netgear,d7800 |\ + netgear,r7500v2 |\ + netgear,r7800) + caldata_extract "art" 0x5000 0x2f20 + ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary art 0x6) +2) + ;; + tplink,ad7200 |\ + tplink,c2600) + caldata_extract "radio" 0x5000 0x2f20 + ath10k_patch_mac $(mtd_get_mac_binary default-mac 0x8) + ;; + tplink,vr2600v) + caldata_extract "ART" 0x5000 0x2f20 + ath10k_patch_mac $(mtd_get_mac_binary default-mac 0x0) + ;; + zyxel,nbg6817) + caldata_extract "0:ART" 0x5000 0x2f20 + ath10k_patch_mac $(mtd_get_mac_ascii 0:APPSBLENV ethaddr) + ;; + esac + ;; +"ath10k/pre-cal-pci-0002:01:00.0.bin") + case $board in + edgecore,ecw5410) + caldata_extract "0:ART" 0x5000 0x2f20 ;; esac ;;