board=$(board_name)
+dt_base64_extract() {
+ local target_dir="/sys$DEVPATH"
+ local source="$target_dir/../../of_node/qcom,ath10k-calibration-data-base64"
+
+ [ -e "$source" ] || caldata_die "cannot find base64 calibration data: $source"
+ [ -d "$target_dir" ] || \
+ caldata_die "no sysfs dir to write: $target"
+
+ echo 1 > "$target_dir/loading"
+ base64decode.uc "$source" > "$target_dir/data"
+ if [ $? != 0 ]; then
+ echo 1 > "$target_dir/loading"
+ caldata_die \
+ "failed to write calibration data to $target_dir/data"
+ else
+ echo 0 > "$target_dir/loading"
+ fi
+}
+
case "$FIRMWARE" in
+"ath10k/cal-pci-0000:01:00.0.bin")
+ case "$board" in
+ asus,onhub |\
+ tplink,onhub)
+ dt_base64_extract
+ ;;
+ meraki,mr52)
+ CI_UBIPART=art
+ caldata_extract_ubi "ART" 0x1000 0x844
+ ;;
+ esac
+ ;;
"ath10k/pre-cal-pci-0000:01:00.0.bin")
case $board in
- askey,rt4230w-rev6)
- caldata_extract "0:ART" 0x1000 0x2f20
- ;;
asrock,g10)
- if [ -b "$(find_mtd_part 0:art)" ]; then
- caldata_extract "0:art" 0x1000 0x2f20
- else
- # XXX: drop upper case after kernel v5.4 is gone (qcom-smem)
- caldata_extract "0:ART" 0x1000 0x2f20
- fi
- ;;
- buffalo,wxr-2533dhp)
- caldata_extract "ART" 0x1000 0x2f20
- ath10k_patch_mac $(mtd_get_mac_binary ART 0x1e)
- ;;
- edgecore,ecw5410)
- if [ -b "$(find_mtd_part 0:art)" ]; then
- caldata_extract "0:art" 0x1000 0x2f20
- else
- # XXX: drop upper case after kernel v5.4 is gone (qcom-smem)
- caldata_extract "0:ART" 0x1000 0x2f20
- fi
+ 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)
;;
- 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)
+ meraki,mr42)
+ CI_UBIPART=art
+ caldata_extract_ubi "ART" 0x1000 0x2f20
;;
- 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)
+ nokia,ac400i)
+ caldata_extract "0:art" 0x1000 0x2f20
+ ath10k_patch_mac $(macaddr_add $(mtd_get_mac_ascii 0:appsblenv ethaddr) +2)
;;
zyxel,nbg6817)
- if [ -b "$(find_mtd_part 0:art)" ]; then
- caldata_extract "0:art" 0x1000 0x2f20
- ath10k_patch_mac $(macaddr_add $(mtd_get_mac_ascii 0:appsblenv ethaddr) 1)
- else
- # XXX: drop upper case after kernel v5.4 is gone (qcom-smem)
- caldata_extract "0:ART" 0x1000 0x2f20
- ath10k_patch_mac $(macaddr_add $(mtd_get_mac_ascii 0:APPSBLENV ethaddr) 1)
- fi
+ 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")
+ case "$board" in
+ asus,onhub |\
+ tplink,onhub)
+ dt_base64_extract
;;
esac
;;
"ath10k/pre-cal-pci-0001:01:00.0.bin")
case $board in
- askey,rt4230w-rev6)
- caldata_extract "0:ART" 0x5000 0x2f20
- ;;
asrock,g10)
- if [ -b "$(find_mtd_part 0:art)" ]; then
- caldata_extract "0:art" 0x5000 0x2f20
- else
- # XXX: drop upper case after kernel v5.4 is gone (qcom-smem)
- caldata_extract "0:ART" 0x5000 0x2f20
- fi
+ caldata_extract "0:art" 0x5000 0x2f20
;;
- buffalo,wxr-2533dhp)
- caldata_extract "ART" 0x5000 0x2f20
- ath10k_patch_mac $(mtd_get_mac_binary ART 0x18)
+ edgecore,ecw5410)
+ caldata_extract "0:art" 0x1000 0x2f20
;;
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)
+ meraki,mr42 |\
+ meraki,mr52)
+ CI_UBIPART=art
+ caldata_extract_ubi "ART" 0x5000 0x2f20
;;
- netgear,d7800 |\
- netgear,r7500v2 |\
- netgear,r7800)
- caldata_extract "art" 0x5000 0x2f20
- ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary art 0x6) 2)
+ nokia,ac400i)
+ caldata_extract "0:art" 0x5000 0x2f20
+ ath10k_patch_mac $(macaddr_add $(mtd_get_mac_ascii 0:appsblenv ethaddr) +3)
;;
- tplink,ad7200 |\
- tplink,c2600)
- caldata_extract "radio" 0x5000 0x2f20
- ath10k_patch_mac $(mtd_get_mac_binary default-mac 0x8)
+ zyxel,nbg6817)
+ caldata_extract "0:art" 0x5000 0x2f20
+ ath10k_patch_mac $(mtd_get_mac_ascii 0:appsblenv ethaddr)
;;
- tplink,vr2600v)
- caldata_extract "ART" 0x5000 0x2f20
- ath10k_patch_mac $(mtd_get_mac_binary default-mac 0x0)
+ esac
+ ;;
+"ath10k/cal-pci-0002:01:00.0.bin")
+ case "$board" in
+ asus,onhub |\
+ tplink,onhub)
+ dt_base64_extract
;;
- zyxel,nbg6817)
- if [ -b "$(find_mtd_part 0:art)" ]; then
- caldata_extract "0:art" 0x5000 0x2f20
- ath10k_patch_mac $(mtd_get_mac_ascii 0:appsblenv ethaddr)
- else
- # XXX: drop upper case after kernel v5.4 is gone (qcom-smem)
- caldata_extract "0:ART" 0x5000 0x2f20
- ath10k_patch_mac $(mtd_get_mac_ascii 0:APPSBLENV ethaddr)
- fi
+ meraki,mr42)
+ CI_UBIPART=art
+ caldata_extract_ubi "ART" 0x9000 0x844
;;
esac
;;
"ath10k/pre-cal-pci-0002:01:00.0.bin")
case $board in
edgecore,ecw5410)
- if [ -b "$(find_mtd_part 0:art)" ]; then
- caldata_extract "0:art" 0x5000 0x2f20
- else
- # XXX: drop upper case after kernel v5.4 is gone (qcom-smem)
- caldata_extract "0:ART" 0x5000 0x2f20
- fi
+ caldata_extract "0:art" 0x5000 0x2f20
+ ;;
+ meraki,mr52)
+ CI_UBIPART=art
+ caldata_extract_ubi "ART" 0x9000 0x2f20
;;
esac
;;