uwb: support per device calibration for R4

Bug: 240199018
Test: Build pass
Change-Id: I45512bba1e0821b4ba32a324aebc7e6b4ec15532
diff --git a/uwb/init.uwb.calib.xtal.sh b/uwb/init.uwb.calib.xtal.sh
new file mode 100644
index 0000000..1fcb876
--- /dev/null
+++ b/uwb/init.uwb.calib.xtal.sh
@@ -0,0 +1,26 @@
+#!/vendor/bin/sh
+# only use xtal_trim from factory calibration
+if [ -z "$2" ]
+then
+    echo "usage is $0 input-calibration output_calibration"
+    exit 0
+fi
+OUTPUT_CALIB="$2"
+if [ ! -f "$OUTPUT_CALIB" ]; then
+    touch $OUTPUT_CALIB
+    chmod 0644 $OUTPUT_CALIB
+    file="$1"
+    while IFS=, read -r f1 f2
+    do
+        case $f1 in
+            "UWB_cal_tx_xtal_reg_final_value")
+                if [ $((0x$f2)) -gt 63 ]; then
+                    f2=63
+                fi
+                echo 'xtal_trim=0x'$f2 >> $OUTPUT_CALIB
+                ;;
+        esac
+    done <"$file"
+    exit 0
+fi
+