gs101: clean up kernel variables am: 17f6b03738 am: f276caad32

Original change: https://googleplex-android-review.googlesource.com/c/device/google/gs101/+/15746361

Change-Id: I6f866d6a6cd5cf4b11a551a49fae601298ac5999
diff --git a/conf/init.gs101.rc b/conf/init.gs101.rc
index 603b26f..f3bc528 100644
--- a/conf/init.gs101.rc
+++ b/conf/init.gs101.rc
@@ -82,10 +82,6 @@
     # Property used by NFC for sku specific configurations
     setprop ro.boot.product.hardware.sku ${ro.boot.hardware.sku}
 
-    # NFC streset tool name
-    setprop persist.vendor.nfc.streset libstreset21
-    setprop persist.vendor.se.streset libstreset21
-
     # Support legacy paths
     symlink /data/app /factory
 
diff --git a/device-shipping-common.mk b/device-shipping-common.mk
index c305a7b..49897aa 100644
--- a/device-shipping-common.mk
+++ b/device-shipping-common.mk
@@ -20,10 +20,3 @@
     persist.bluetooth.a2dp_offload.disabled=false \
     persist.bluetooth.a2dp_offload.cap=sbc-aac-aptx-aptxhd-ldac
 
-# SecureElement
-PRODUCT_PACKAGES += \
-    android.hardware.secure_element@1.2-service-gto
-
-PRODUCT_COPY_FILES += \
-    device/google/gs101/nfc/libse-gto-hal.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libse-gto-hal.conf \
-    device/google/gs101/nfc/libse-gto-hal2.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libse-gto-hal2.conf
diff --git a/device.mk b/device.mk
index b56eea4..3f288ce 100644
--- a/device.mk
+++ b/device.mk
@@ -927,25 +927,6 @@
 	diag-vibrator-drv2624 \
 	$(NULL)
 
-# NFC
-PRODUCT_COPY_FILES += \
-	frameworks/native/data/etc/android.hardware.nfc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.xml \
-	frameworks/native/data/etc/android.hardware.nfc.hce.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.hce.xml \
-	frameworks/native/data/etc/android.hardware.nfc.hcef.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.hcef.xml \
-	frameworks/native/data/etc/com.nxp.mifare.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/com.nxp.mifare.xml \
-	frameworks/native/data/etc/android.hardware.nfc.uicc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.uicc.xml \
-	frameworks/native/data/etc/android.hardware.nfc.ese.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.ese.xml
-
-PRODUCT_PACKAGES += \
-	NfcNci \
-	Tag \
-	android.hardware.nfc@1.2-service.st
-
-# SecureElement
-PRODUCT_COPY_FILES += \
-	frameworks/native/data/etc/android.hardware.se.omapi.ese.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.se.omapi.ese.xml \
-	frameworks/native/data/etc/android.hardware.se.omapi.uicc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.se.omapi.uicc.xml
-
 PRODUCT_PACKAGES += \
 	android.hardware.health@2.1-impl-gs101 \
 	android.hardware.health@2.1-service
diff --git a/device_framework_matrix_product.xml b/device_framework_matrix_product.xml
index 0637c13..866dbf1 100644
--- a/device_framework_matrix_product.xml
+++ b/device_framework_matrix_product.xml
@@ -25,7 +25,7 @@
         </interface>
     </hal>
     <hal format="hidl" optional="true">
-        <name>com.fingerprints33.extension</name>
+        <name>com.fingerprints35.extension</name>
         <version>1.0</version>
         <interface>
             <name>IFingerprintAuthenticator</name>
@@ -158,14 +158,6 @@
         </interface>
     </hal>
     <hal format="hidl" optional="true">
-        <name>vendor.google.wireless_charger</name>
-        <version>1.3</version>
-        <interface>
-            <name>IWirelessCharger</name>
-            <instance>default</instance>
-        </interface>
-    </hal>
-    <hal format="hidl" optional="true">
         <name>vendor.samsung_slsi.telephony.hardware.oemservice</name>
         <version>1.0</version>
         <interface>
diff --git a/device_framework_matrix_product_wireless.xml b/device_framework_matrix_product_wireless.xml
new file mode 100644
index 0000000..8b27097
--- /dev/null
+++ b/device_framework_matrix_product_wireless.xml
@@ -0,0 +1,10 @@
+<compatibility-matrix version="1.0" type="framework" level="6">
+    <hal format="hidl" optional="true">
+        <name>vendor.google.wireless_charger</name>
+        <version>1.3</version>
+        <interface>
+            <name>IWirelessCharger</name>
+            <instance>default</instance>
+        </interface>
+    </hal>
+</compatibility-matrix>
diff --git a/factory/launcher3/res/xml/default_workspace_5x5.xml b/factory/launcher3/res/xml/default_workspace_5x5.xml
index ba1427a..7abd7dd 100644
--- a/factory/launcher3/res/xml/default_workspace_5x5.xml
+++ b/factory/launcher3/res/xml/default_workspace_5x5.xml
@@ -17,7 +17,7 @@
 <favorites xmlns:launcher="http://schemas.android.com/apk/res-auto/com.android.launcher3">
 
     <!-- Hotseat (We use the screen as the position of the item in the hotseat) -->
-    <!-- Dialer, Capacity, ELabel, Language, Barcode -->
+    <!-- Dialer, android test tool, label barcode, battery charge tool, barcode scanner -->
     <resolve
         launcher:container="-101"
         launcher:screen="0"
@@ -30,6 +30,36 @@
 
     <resolve
         launcher:container="-101"
+        launcher:screen="1"
+        launcher:x="1"
+        launcher:y="0" >
+        <favorite
+            launcher:packageName="com.google_npi.androidtesttool"
+            launcher:className="com.google_npi.androidtesttool.MainActivity" />
+    </resolve>
+
+    <resolve
+        launcher:container="-101"
+        launcher:screen="2"
+        launcher:x="2"
+        launcher:y="0" >
+        <favorite
+            launcher:packageName="com.google_cte.labelbarcode"
+            launcher:className="com.google_cte.labelbarcode.LabelBarcodeMainActivity" />
+    </resolve>
+
+    <resolve
+        launcher:container="-101"
+        launcher:screen="3"
+        launcher:x="3"
+        launcher:y="0" >
+        <favorite
+            launcher:packageName="com.google.batterychargetool"
+            launcher:className="com.google.batterychargetool.MainActivity" />
+    </resolve>
+
+    <resolve
+        launcher:container="-101"
         launcher:screen="4"
         launcher:x="4"
         launcher:y="0" >
diff --git a/factory_common.mk b/factory_common.mk
index 342ae46..0cc4fe3 100644
--- a/factory_common.mk
+++ b/factory_common.mk
@@ -32,7 +32,6 @@
 PRODUCT_PROPERTY_OVERRIDES += \
     persist.vendor.camera.partial_result_count=1 \
     vendor.camera.debug.bypass_face_ssd_processor=1 \
-    vendor.camera.debug.csi_ebuf_enable=0 \
     vendor.camera.debug.enable_face_detection=0 \
     vendor.camera.debug.force_dpm_on=0 \
     vendor.camera.debug.force_eis_on=0 \
diff --git a/fingerprint/fpc1540/fingerprint_config.mk b/fingerprint/fpc1540/fingerprint_config.mk
deleted file mode 100644
index 1584e11..0000000
--- a/fingerprint/fpc1540/fingerprint_config.mk
+++ /dev/null
@@ -1,18 +0,0 @@
-# ----------------------------
-# Add feature flags below
-# ----------------------------
-FPC_CONFIG_BUILD_VERSION=33
-FPC_CONFIG_CAPACITIVE=1
-FPC_CONFIG_MAX_NR_TEMPLATES=5
-FPC_CONFIG_SENSE_TOUCH_CALIBRATION_PATH=/data/fpc/calibration_sense_touch.dat
-FPC_CONFIG_TA_FS=1
-FPC_DEFECTIVE_PIXEL_LIST_SIZE=5000
-FPC_SENSOR_SDK_LOG_LEVEL=3
-FPC_TEE_RUNTIME=TRUSTY
-LIBFPC_NAME=libfpc1541_S_nav_debug.a
-FPC_CONFIG_DEBUG=1
-FPC_CONFIG_PRODUCT_DEFAULT=FPC_PRODUCT_TYPE1541_S
-
-#
-# File included from device/<manufacture>/<>/<device>.mk
-# Packages to include into the build
diff --git a/fingerprint/fpc1540/fp_tool/Android.bp b/fingerprint/fpc1540/fp_tool/Android.bp
new file mode 100644
index 0000000..8b95194
--- /dev/null
+++ b/fingerprint/fpc1540/fp_tool/Android.bp
@@ -0,0 +1,28 @@
+package {
+    // See: http://go/android-license-faq
+    // A large-scale-change added 'default_applicable_licenses' to import
+    // all of the 'license_kinds' from "device_google_gs101_license"
+    // to get the below license kinds:
+    //   SPDX-license-identifier-Apache-2.0
+    default_applicable_licenses: ["device_google_gs101_license"],
+}
+
+cc_binary {
+    srcs: [
+        "fp_test.cpp"
+    ],
+    include_dirs: [
+        "device/google/gs101/fingerprint/fpc1540/fp_tool"
+    ],
+    name: "fp_test",
+    shared_libs: [
+        "liblog",
+        "libdl",
+        "libutils",
+        "libcutils",
+        "libhidlbase",
+        "android.hardware.biometrics.fingerprint@2.1"
+    ],
+    proprietary:true,
+
+}
diff --git a/fingerprint/fpc1540/fp_tool/fp_test.cpp b/fingerprint/fpc1540/fp_tool/fp_test.cpp
new file mode 100644
index 0000000..f7e7677
--- /dev/null
+++ b/fingerprint/fpc1540/fp_tool/fp_test.cpp
@@ -0,0 +1,200 @@
+#include <stdint.h>
+#include <stdio.h>
+#include <log/log.h>
+#include "fp_test.h"
+#include <cutils/properties.h>
+
+#define TAG "[FP_TEST] "
+#define LOGI(format,...) ALOGI(TAG format,##__VA_ARGS__)
+#define LOGD(format,...) ALOGD(TAG format,##__VA_ARGS__)
+#define LOGE(format,...) ALOGE(TAG format,##__VA_ARGS__)
+#define CLOGI(format,...) printf(TAG format,##__VA_ARGS__)
+#define CLOGD(format,...) printf(TAG format,##__VA_ARGS__)
+#define CLOGE(format,...) printf(TAG format,##__VA_ARGS__)
+
+#define LOGI_BOTH(format,...) {        \
+    ALOGI(TAG format,##__VA_ARGS__)       \
+    prinft(TAG format, ##__VA_ARGS__) \
+}                                     \
+
+#define ARRAY_SIZE(arr)  (sizeof(arr) / sizeof(arr[0]))
+#define STRING_SIZE 32
+
+#define FPS_SRV_PROP "fps_hal"
+#define FPS_SRV_FULL_PROP "init.svc.fps_hal"
+#define FPS_SRV_STATUS_PROP "vendor.fp.status"
+
+enum ErrorType {
+    OK,
+    ERROR
+};
+
+static const char* const cmdUsage[] = {
+    "-------fp_test tool usage--------",
+    "fp_test -e: Enable FPS service",
+    "fp_test -d: Disable FPS service",
+    "fp_test -i: Idle Mode",
+    "fp_test -n: Navigation Mode",
+    "fp_test -a: Authentication Mode",
+    "---------------------------------",
+};
+
+void toolUsage(void) {
+    int numCmdUsage = ARRAY_SIZE(cmdUsage);
+    for(int i = 0; i< numCmdUsage; i++)
+        CLOGI("%s\n",cmdUsage[i]);
+}
+
+int checkParameter(int num, char **strArray)
+{
+    int ret = 0;
+    char parameter[STRING_SIZE] = {0,};
+    if (num != 2 || (strlen(strArray[1]) > STRING_SIZE)) {
+        return -ERROR;
+    }
+    strcpy(parameter, strArray[1]);
+    if (!strncmp(parameter, "-a", sizeof("-a"))) {
+        CLOGI("Start Authentication Mode!\n");
+        LOGI("Start Authentication Mode!\n");
+        ret = 'a';
+    } else if (!strncmp(parameter, "-n", sizeof("-n"))) {
+        CLOGI("Start Navigation Mode!\n");
+        LOGI("Start Navigation Mode!\n");
+        ret = 'n';
+    } else if (!strncmp(parameter, "-i", sizeof("-i"))) {
+        CLOGI("Start Idle Mode!\n");
+        LOGI("Start Idle Mode!\n");
+        ret = 'n';
+    } else if (!strncmp(parameter, "-e", sizeof("-e"))) {
+        CLOGI("Start enabling FPS service!\n");
+        LOGI("Start enabling FPS service!\n");
+        ret = 'e';
+    } else if (!strncmp(parameter, "-d", sizeof("-d"))) {
+        CLOGI("Start disabling FPS service!\n");
+        LOGI("Start disabling FPS service!\n");
+        ret = 'd';
+    } else {
+        ret = -ERROR;
+    }
+    return ret;
+}
+
+int enable_disable_fps(bool set)
+{
+    int ret  = 0;
+    // Set property to enable/disable fingerprint service
+    if (set == true) {
+       ret = property_set("ctl.start", FPS_SRV_PROP);
+    } else {
+       ret = property_set("ctl.stop", FPS_SRV_PROP);
+    }
+
+    if (ret != 0) {
+        CLOGE("Failed to %s FPS service\n", set? "enable" : "disable");
+        LOGE("Failed to %s FPS service\n", set? "enable" : "disable");
+        return -ERROR;
+    }
+
+    return ret;
+}
+
+int run_auth_cmd() {
+    RequestStatus hidlRet;
+    uint64_t operationId = 0;
+    uint32_t gid = 0;
+    char tempbuf[PROPERTY_VALUE_MAX];
+
+    property_get(FPS_SRV_FULL_PROP, tempbuf, 0);
+    LOGE("%s : current fp service status is %s!\n",__func__, tempbuf);
+    if (!strncmp(tempbuf, "stopped", strlen("stopped"))) {
+        return -ERROR;
+    }
+
+    sp<IBiometricsFingerprint> service = IBiometricsFingerprint::getService();
+    if (service == nullptr) {
+        CLOGE("%s : Fail to get FingerprintService!\n",__func__);
+        LOGE("%s : Fail to get FingerprintService!\n",__func__);
+        return -ERROR;
+    }
+
+    hidlRet = service->authenticate(operationId, gid);
+    if (hidlRet == RequestStatus::SYS_OK) {
+        return OK;
+    } else {
+        return -ERROR;
+    }
+}
+
+int run_cancel_cmd() {
+
+    RequestStatus hidlRet;
+    char tempbuf[PROPERTY_VALUE_MAX];
+
+    property_get(FPS_SRV_FULL_PROP, tempbuf, 0);
+    LOGE("%s : current fp service status is %s!\n",__func__, tempbuf);
+    if (!strncmp(tempbuf, "stopped", strlen("stopped"))) {
+        return -ERROR;
+    }
+
+    sp<IBiometricsFingerprint> service = IBiometricsFingerprint::getService();
+    if (service == nullptr) {
+        CLOGE("%s : Fail to get FingerprintService!\n",__func__);
+        LOGE("%s : Fail to get FingerprintService!\n",__func__);
+        return -ERROR;
+    }
+
+    hidlRet = service->cancel();
+    if (hidlRet == RequestStatus::SYS_OK) {
+        return OK;
+    } else {
+        return -ERROR;
+    }
+}
+
+int main(int argc, char *argv[])
+{
+    int input=0;
+    int32_t ret = 0;
+    LOGI("%s",__func__);
+    input = checkParameter(argc, argv);
+    if (input == -ERROR){
+        LOGE("Invalid Parameter\n");
+        CLOGE("Invalid Parameter\n");
+        toolUsage();
+        return -ERROR;
+    }
+
+    switch (input) {
+        case 'e':
+            CLOGI("%s: Enable fingerprint service\n",__func__);
+            LOGI("%s: Enable fingerprint service\n",__func__);
+            ret = enable_disable_fps(true);
+            break;
+        case 'd':
+            CLOGI("%s: Disable fingerprint service\n",__func__);
+            LOGI("%s: Disable fingerprint service\n",__func__);
+            ret = enable_disable_fps(false);
+            break;
+        case 'a':
+            ret = run_auth_cmd();
+            break;
+        // For the rear fingerprint module, calling cancel() will go to the
+        // navigation mode by default.
+        // For other device not enabling naivgation feature, default mode will
+        // be "Idle" by invoking cancel().
+        case 'n':
+        case 'i':
+        default:
+            ret = run_cancel_cmd();
+            break;
+    }
+
+    if (ret != OK)
+        CLOGE("FP HIDL fail to excute cmd '%c'\n", input);
+    else
+        CLOGI("FP HIDL excute cmd '%c' successfully\n", input);
+
+    return ret;
+
+}
+
diff --git a/fingerprint/fpc1540/fp_tool/fp_test.h b/fingerprint/fpc1540/fp_tool/fp_test.h
new file mode 100644
index 0000000..15b3311
--- /dev/null
+++ b/fingerprint/fpc1540/fp_tool/fp_test.h
@@ -0,0 +1,16 @@
+#ifndef FP_TEST
+#define FP_TEST
+
+#include <android/hardware/biometrics/fingerprint/2.1/IBiometricsFingerprint.h>
+#include <android/hardware/biometrics/fingerprint/2.1/IBiometricsFingerprintClientCallback.h>
+
+using android::hardware::biometrics::fingerprint::V2_1::IBiometricsFingerprint;
+using android::hardware::biometrics::fingerprint::V2_1::IBiometricsFingerprintClientCallback;
+using android::hardware::biometrics::fingerprint::V2_1::RequestStatus;
+using android::sp;
+
+
+int main(int argc, char *argv[]);
+void toolUsage(void);
+
+#endif //FP_TEST
diff --git a/fingerprint/fpc1540/fpc1540.mk b/fingerprint/fpc1540/fpc1540.mk
deleted file mode 100644
index 7fdcb12..0000000
--- a/fingerprint/fpc1540/fpc1540.mk
+++ /dev/null
@@ -1,8 +0,0 @@
-# Fingerprint
-include device/google/gs101/fingerprint/fpc1540/fingerprint_config.mk
-
-PRODUCT_PACKAGES += \
-    android.hardware.biometrics.fingerprint@2.1-service.fpc \
-
-PRODUCT_COPY_FILES += \
-    frameworks/native/data/etc/android.hardware.fingerprint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.fingerprint.xml
diff --git a/fingerprint/fpc1540/fpc1540_factory.mk b/fingerprint/fpc1540/fpc1540_factory.mk
deleted file mode 100644
index e868c5e..0000000
--- a/fingerprint/fpc1540/fpc1540_factory.mk
+++ /dev/null
@@ -1,10 +0,0 @@
-# Fingerprint
-include device/google/gs101/fingerprint/fpc1540/fingerprint_config_factory.mk
-
-PRODUCT_PACKAGES += \
-    fpc_tee_test\
-    SensorTestTool \
-
-PRODUCT_PACKAGES += \
-    com.fingerprints.extension.xml \
-    com.fingerprints.extension \
diff --git a/fingerprint/fpc1540/fingerprint_config_factory.mk b/fingerprint/fpc1540/sw33/fingerprint_aidl_config.mk
similarity index 71%
copy from fingerprint/fpc1540/fingerprint_config_factory.mk
copy to fingerprint/fpc1540/sw33/fingerprint_aidl_config.mk
index 85b1064..1697ce5 100644
--- a/fingerprint/fpc1540/fingerprint_config_factory.mk
+++ b/fingerprint/fpc1540/sw33/fingerprint_aidl_config.mk
@@ -1,21 +1,18 @@
 # ----------------------------
 # Add feature flags below
 # ----------------------------
-FPC_CONFIG_BUILD_VERSION=33
-FPC_CONFIG_CAPACITIVE=1
+FPC_CONFIG_BUILD_VERSION=33_aidl
+FPC_CONFIG_GOOGLE_CUSTOMIZE=1
 FPC_CONFIG_MAX_NR_TEMPLATES=5
-FPC_CONFIG_NAVIGATION=0
+FPC_CONFIG_NAVIGATION=1
 FPC_CONFIG_SENSE_TOUCH_CALIBRATION_PATH=/data/fpc/calibration_sense_touch.dat
 FPC_CONFIG_SENSORTEST=1
 FPC_CONFIG_TA_FS=1
 FPC_DEFECTIVE_PIXEL_LIST_SIZE=5000
+FPC_HAL_SHARED_LIB=1
 FPC_SENSOR_SDK_LOG_LEVEL=3
 FPC_TEE_RUNTIME=TRUSTY
 LIBFPC_NAME=libfpc1541_S_nav_debug.a
 FPC_CONFIG_DEBUG=1
 FPC_CONFIG_ENGINEERING=1
 FPC_CONFIG_PRODUCT_DEFAULT=FPC_PRODUCT_TYPE1541_S
-
-#
-# File included from device/<manufacture>/<>/<device>.mk
-# Packages to include into the build
diff --git a/fingerprint/fpc1540/fingerprint_config_factory.mk b/fingerprint/fpc1540/sw33/fingerprint_hidl_config_factory.mk
similarity index 84%
rename from fingerprint/fpc1540/fingerprint_config_factory.mk
rename to fingerprint/fpc1540/sw33/fingerprint_hidl_config_factory.mk
index 85b1064..642a0bf 100644
--- a/fingerprint/fpc1540/fingerprint_config_factory.mk
+++ b/fingerprint/fpc1540/sw33/fingerprint_hidl_config_factory.mk
@@ -16,6 +16,5 @@
 FPC_CONFIG_ENGINEERING=1
 FPC_CONFIG_PRODUCT_DEFAULT=FPC_PRODUCT_TYPE1541_S
 
-#
-# File included from device/<manufacture>/<>/<device>.mk
-# Packages to include into the build
+# Google configuration
+GOOGLE_CONFIG_FP_STATUS=1
diff --git a/fingerprint/fpc1540/sw33/fpc1540.mk b/fingerprint/fpc1540/sw33/fpc1540.mk
new file mode 100644
index 0000000..7aff143
--- /dev/null
+++ b/fingerprint/fpc1540/sw33/fpc1540.mk
@@ -0,0 +1,30 @@
+# Factory build, use HIDL hal & extension so that we can use Test tool
+ifneq ( ,$(findstring factory, $(TARGET_PRODUCT)))
+include device/google/gs101/fingerprint/fpc1540/sw33/fingerprint_hidl_config_factory.mk
+PRODUCT_PACKAGES += \
+    android.hardware.biometrics.fingerprint@2.1-service.fpc \
+    fpc_tee_test\
+    SensorTestTool \
+    ImageTool \
+    ImageCollection \
+    fp_test \
+
+PRODUCT_PACKAGES += \
+    com.fingerprints.extension.xml \
+    com.fingerprints.extension \
+
+PRODUCT_COPY_FILES += \
+    frameworks/native/data/etc/android.hardware.fingerprint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.fingerprint.xml
+
+else
+# Non facotry build, use fingerprint AIDL version
+include device/google/gs101/fingerprint/fpc1540/sw33/fingerprint_aidl_config.mk
+
+PRODUCT_PACKAGES += \
+    android.hardware.biometrics.fingerprint-service.fpc \
+    fingerprint.fpc \
+
+PRODUCT_COPY_FILES += \
+    frameworks/native/data/etc/android.hardware.fingerprint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.fingerprint.xml
+
+endif
diff --git a/fingerprint/fpc1540/sw35/fingerprint_aidl_config.mk b/fingerprint/fpc1540/sw35/fingerprint_aidl_config.mk
new file mode 100644
index 0000000..2b43623
--- /dev/null
+++ b/fingerprint/fpc1540/sw35/fingerprint_aidl_config.mk
@@ -0,0 +1,20 @@
+# ----------------------------
+# Add feature flags below
+# ----------------------------
+FPC_BUILD_ID='ff334fee0631b7d5e424e22d18287f4f'
+FPC_CONFIG_BUILD_VERSION=35
+FPC_CONFIG_GOOGLE_CUSTOMIZE=1
+FPC_CONFIG_MAX_NR_TEMPLATES=5
+FPC_CONFIG_SENSE_TOUCH_CALIBRATION_PATH=/data/fpc/calibration_sense_touch.dat
+FPC_CONFIG_SENSORTEST=1
+FPC_CONFIG_TA_FS=1
+FPC_DEFECTIVE_PIXEL_LIST_SIZE=5000
+FPC_HAL_SHARED_LIB=1
+FPC_SENSOR_SDK_LOG_LEVEL=3
+FPC_TEE_RUNTIME=TRUSTY
+LIBFPC_NAME=libfpcmulti_debug.a
+FPC_CONFIG_DEBUG=1
+FPC_CONFIG_ENGINEERING=1
+
+FPC_CONFIG_GOOGLE_CUSTOMIZE=1
+GOOGLE_CONFIG_PERFORMANCE=1
diff --git a/fingerprint/fpc1540/fingerprint_config_factory.mk b/fingerprint/fpc1540/sw35/fingerprint_hidl_config_factory.mk
similarity index 77%
copy from fingerprint/fpc1540/fingerprint_config_factory.mk
copy to fingerprint/fpc1540/sw35/fingerprint_hidl_config_factory.mk
index 85b1064..2c467f2 100644
--- a/fingerprint/fpc1540/fingerprint_config_factory.mk
+++ b/fingerprint/fpc1540/sw35/fingerprint_hidl_config_factory.mk
@@ -1,20 +1,20 @@
 # ----------------------------
 # Add feature flags below
 # ----------------------------
-FPC_CONFIG_BUILD_VERSION=33
+FPC_BUILD_ID='ff334fee0631b7d5e424e22d18287f4f'
+FPC_CONFIG_BUILD_VERSION=35
+FPC_CONFIG_GOOGLE_CUSTOMIZE=1
 FPC_CONFIG_CAPACITIVE=1
 FPC_CONFIG_MAX_NR_TEMPLATES=5
-FPC_CONFIG_NAVIGATION=0
 FPC_CONFIG_SENSE_TOUCH_CALIBRATION_PATH=/data/fpc/calibration_sense_touch.dat
 FPC_CONFIG_SENSORTEST=1
 FPC_CONFIG_TA_FS=1
 FPC_DEFECTIVE_PIXEL_LIST_SIZE=5000
 FPC_SENSOR_SDK_LOG_LEVEL=3
 FPC_TEE_RUNTIME=TRUSTY
-LIBFPC_NAME=libfpc1541_S_nav_debug.a
+LIBFPC_NAME=libfpcmulti_debug.a
 FPC_CONFIG_DEBUG=1
 FPC_CONFIG_ENGINEERING=1
-FPC_CONFIG_PRODUCT_DEFAULT=FPC_PRODUCT_TYPE1541_S
 
 #
 # File included from device/<manufacture>/<>/<device>.mk
diff --git a/fingerprint/fpc1540/sw35/fpc1540.mk b/fingerprint/fpc1540/sw35/fpc1540.mk
new file mode 100644
index 0000000..03a93dc
--- /dev/null
+++ b/fingerprint/fpc1540/sw35/fpc1540.mk
@@ -0,0 +1,30 @@
+# Factory build, use HIDL hal & extension so that we can use Test tool
+ifneq ( ,$(findstring factory, $(TARGET_PRODUCT)))
+include device/google/gs101/fingerprint/fpc1540/sw35/fingerprint_hidl_config_factory.mk
+PRODUCT_PACKAGES += \
+    android.hardware.biometrics.fingerprint@2.1-service.fpc \
+    fpc_tee_test\
+    SensorTestTool \
+    ImageTool \
+    ImageCollection \
+    fp_test \
+
+PRODUCT_PACKAGES += \
+    com.fingerprints.extension.xml \
+    com.fingerprints.extension \
+
+PRODUCT_COPY_FILES += \
+    frameworks/native/data/etc/android.hardware.fingerprint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.fingerprint.xml
+
+else
+# Non facotry build, use fingerprint AIDL version
+include device/google/gs101/fingerprint/fpc1540/sw35/fingerprint_aidl_config.mk
+
+PRODUCT_PACKAGES += \
+    android.hardware.biometrics.fingerprint-service.fpc35 \
+    fingerprint.fpc \
+
+PRODUCT_COPY_FILES += \
+    frameworks/native/data/etc/android.hardware.fingerprint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.fingerprint.xml
+
+endif
diff --git a/fingerprint/udfps_common.mk b/fingerprint/udfps_common.mk
index 51ce07f..c05097b 100644
--- a/fingerprint/udfps_common.mk
+++ b/fingerprint/udfps_common.mk
@@ -24,8 +24,16 @@
 endif
 
 # Include the Goodix AIDL HAL namespaces.
+ifeq ($(GOODIX_CONFIG_BUILD_VERSION), g6_trusty)
 PRODUCT_SOONG_NAMESPACES += vendor/goodix/udfps/g6_trusty
 PRODUCT_SOONG_NAMESPACES += vendor/goodix/udfps/g6_aidl_trusty
+else ifeq ($(GOODIX_CONFIG_BUILD_VERSION), g7_trusty)
+# TODO(b/196017212): support AIDL for g7 and remove the following package.
+PRODUCT_PACKAGES += \
+    android.hardware.biometrics.fingerprint@2.1-service.goodix
+else
+$(error Invalid udfps build version)
+endif
 
 SOONG_CONFIG_NAMESPACES += fp_hal_feature
 SOONG_CONFIG_fp_hal_feature += biometric_suez_support
diff --git a/manifest-gralloc3.xml b/manifest-gralloc3.xml
index c8cd74b..ca284df 100644
--- a/manifest-gralloc3.xml
+++ b/manifest-gralloc3.xml
@@ -158,15 +158,6 @@
        <fqname>@1.3::IDevice/google-edgetpu</fqname>
     </hal>
     <hal format="hidl">
-       <name>android.hardware.nfc</name>
-       <transport>hwbinder</transport>
-       <version>1.2</version>
-       <interface>
-           <name>INfc</name>
-           <instance>default</instance>
-       </interface>
-    </hal>
-    <hal format="hidl">
         <name>android.hardware.health</name>
         <transport>hwbinder</transport>
         <version>2.1</version>
diff --git a/manifest.xml b/manifest.xml
index 9a98b4d..7b78da9 100644
--- a/manifest.xml
+++ b/manifest.xml
@@ -109,15 +109,6 @@
         <fqname>@1.3::IDevice/google-armnn</fqname>
     </hal>
     <hal format="hidl">
-       <name>android.hardware.nfc</name>
-       <transport>hwbinder</transport>
-       <version>1.2</version>
-       <interface>
-           <name>INfc</name>
-           <instance>default</instance>
-       </interface>
-    </hal>
-    <hal format="hidl">
         <name>android.hardware.health</name>
         <transport>hwbinder</transport>
         <version>2.1</version>
diff --git a/manifest_64-gralloc3.xml b/manifest_64-gralloc3.xml
index 579e5e5..9dc7924 100644
--- a/manifest_64-gralloc3.xml
+++ b/manifest_64-gralloc3.xml
@@ -147,15 +147,6 @@
        <fqname>@1.3::IDevice/google-edgetpu</fqname>
     </hal>
     <hal format="hidl">
-       <name>android.hardware.nfc</name>
-       <transport>hwbinder</transport>
-       <version>1.2</version>
-       <interface>
-           <name>INfc</name>
-           <instance>default</instance>
-       </interface>
-    </hal>
-    <hal format="hidl">
         <name>android.hardware.health</name>
         <transport>hwbinder</transport>
         <version>2.1</version>
diff --git a/manifest_64.xml b/manifest_64.xml
index 1dd4333..17b08d0 100644
--- a/manifest_64.xml
+++ b/manifest_64.xml
@@ -110,15 +110,6 @@
        <fqname>@1.3::IDevice/google-edgetpu</fqname>
     </hal>
     <hal format="hidl">
-       <name>android.hardware.nfc</name>
-       <transport>hwbinder</transport>
-       <version>1.2</version>
-       <interface>
-           <name>INfc</name>
-           <instance>default</instance>
-       </interface>
-    </hal>
-    <hal format="hidl">
         <name>android.hardware.health</name>
         <transport>hwbinder</transport>
         <version>2.1</version>
diff --git a/nfc/libese-hal-st.conf b/nfc/libese-hal-st.conf
deleted file mode 100644
index 1954bf7..0000000
--- a/nfc/libese-hal-st.conf
+++ /dev/null
@@ -1,6 +0,0 @@
-########################### Start of libese-hal-st.conf ###########################
-###############################################################################
-###############################################################################
-# ST HAL trace log level
-STESE_HAL_LOGLEVEL=1
-ST_ESE_DEV_NODE="/dev/st54j_se"
diff --git a/nfc/libnfc-hal-st-gs101.conf b/nfc/libnfc-hal-st-gs101.conf
deleted file mode 100644
index 2b455df..0000000
--- a/nfc/libnfc-hal-st-gs101.conf
+++ /dev/null
@@ -1,152 +0,0 @@
-########################### Start of libnf-hal-st_aosp.conf ###########################
-
-###############################################################################
-###############################################################################
-# ST HAL trace log level
-STNFC_HAL_LOGLEVEL=4
-NFC_DEBUG_ENABLED=1
-
-###############################################################################
-# Vendor specific mode to enable FW (RF & SWP) traces.
-STNFC_FW_DEBUG_ENABLED=0
-
-###############################################################################
-# File used for NFA storage
-NFA_STORAGE="/data/nfc"
-
-###############################################################################
-# Dev Node used for ST HAL
-ST_NFC_DEV_NODE="/dev/st_no_such_device"
-
-###############################################################################
-# Keep the nfa storage file.
-PRESERVE_STORAGE=1
-
-###############################################################################
-# In Switch OFF mode (phone switched-off), specify the desired CE mode to
-# the controller.
-# 0: No card-emulation; DEFAULT
-# 1: Switch-off card-emulation enabled
-CE_ON_SWITCH_OFF_STATE=1
-
-###############################################################################
-# Vendor specific mode to support the USB charging mode if VPSIO=1 in switch off.
-STNFC_USB_CHARGING_MODE=1
-
-###############################################################################
-# Vendor Specific Proprietary Protocol & Discovery Configuration
-# Set to 0xFF if unsupported
-#  byte[0] NCI_PROTOCOL_18092_ACTIVE
-#  byte[1] NCI_PROTOCOL_B_PRIME
-#  byte[2] NCI_PROTOCOL_DUAL
-#  byte[3] NCI_PROTOCOL_15693
-#  byte[4] NCI_PROTOCOL_KOVIO
-#  byte[5] NCI_PROTOCOL_MIFARE
-#  byte[6] NCI_DISCOVERY_TYPE_POLL_KOVIO
-#  byte[7] NCI_DISCOVERY_TYPE_POLL_B_PRIME
-#  byte[8] NCI_DISCOVERY_TYPE_LISTEN_B_PRIME
-NFA_PROPRIETARY_CFG={05:FF:FF:06:8A:90:77:FF:FF}
-
-###############################################################################
-# Choose the presence-check algorithm for type-4 tag.  If not defined,
-# the default value is 1.
-# 0  NFA_RW_PRES_CHK_DEFAULT; Let stack selects an algorithm
-# 1  NFA_RW_PRES_CHK_I_BLOCK; ISO-DEP protocol's empty I-block
-# 2  NFA_RW_PRES_CHK_RESET; Deactivate to Sleep, then re-activate
-# 3  NFA_RW_PRES_CHK_RB_CH0; Type-4 tag protocol's ReadBinary command on channel 0
-# 4  NFA_RW_PRES_CHK_RB_CH3; Type-4 tag protocol's ReadBinary command on channel 3
-# 5  NFA_RW_PRES_CHK_ISO_DEP_NAK; presence check command ISO-DEP NAK as per NCI2.0
-PRESENCE_CHECK_ALGORITHM=5
-
-###############################################################################
-# Name of the NCI HAL module to use
-# If unset, falls back to nfc_nci.bcm2079x
-NCI_HAL_MODULE="nfc_nci.st21nfc"
-
-###############################################################################
-# White list to be set at startup.
-DEVICE_HOST_WHITE_LIST={02:C0}
-
-###############################################################################
-# BAIL OUT value for P2P
-# Implements algorithm for NFC-DEP protocol priority over ISO-DEP protocol.
-POLL_BAIL_OUT_MODE=1
-
-###############################################################################
-# Extended APDU length for ISO_DEP
-ISO_DEP_MAX_TRANSCEIVE=0xFEFF
-
-###############################################################################
-# Configure the NFC Extras to open and use a static pipe.  If the value is
-# not set or set to 0, then the default is use a dynamic pipe based on a
-# destination gate (see NFA_HCI_DEFAULT_DEST_GATE).  Note there is a value
-# for each EE (ESE/SIM)
-OFF_HOST_ESE_PIPE_ID=0x5E
-OFF_HOST_SIM_PIPE_ID=0x3E
-
-###############################################################################
-#Set the default Felica T3T System Code OffHost route Location :
-#This settings will be used when application does not set this parameter
-# host  0x00
-# eSE   0x82 (eSE),    0x86 (eUICC/SPI-SE)
-# UICC  0x81 (UICC_1), 0x85 (UICC_2)
-DEFAULT_SYS_CODE_ROUTE=0x86
-
-###############################################################################
-#Set the Felica T3T System Code supported power state:
-DEFAULT_SYS_CODE_PWR_STATE=0x3B
-
-###############################################################################
-# Path and Files used for FW update binaries storage
-STNFC_FW_PATH_STORAGE="/vendor/firmware"
-STNFC_FW_BIN_NAME="/st54j_fw.bin"
-STNFC_FW_CONF_NAME="/st54j_conf.bin"
-
-###############################################################################
-# Default off-host route for Felica.
-# This settings will be used when application does not set this parameter
-# host  0x00
-# eSE   0x82 (eSE),    0x86 (eUICC/SPI-SE)
-# UICC  0x81 (UICC_1), 0x85 (UICC_2)
-DEFAULT_NFCF_ROUTE=0x86
-
-###############################################################################
-# Configure the default off-host route.
-# used for technology A and B routing
-# eSE   0x82 (eSE),    0x86 (eUICC/SPI-SE)
-# UICC  0x81 (UICC_1), 0x85 (UICC_2)
-DEFAULT_OFFHOST_ROUTE=0x81
-
-###############################################################################
-# Configure the default AID route.
-# host  0x00
-# eSE   0x82 (eSE),    0x86 (eUICC/SPI-SE)
-# UICC  0x81 (UICC_1), 0x85 (UICC_2)
-DEFAULT_ROUTE=0x00
-
-###############################################################################
-# Configure the NFCEEIDs of offhost UICC.
-# UICC  0x81 (UICC_1), 0x85 (UICC_2)
-OFFHOST_ROUTE_UICC={81}
-
-###############################################################################
-# Configure the NFCEEIDs of offhost eSEs.
-# eSE   0x82 (eSE),    0x86 (eUICC/SPI-SE)
-OFFHOST_ROUTE_ESE={86}
-
-###############################################################################
-# Configure the list of NFCEE for the ISO-DEP routing.
-# host  0x00
-# eSE   0x82 (eSE),    0x86 (eUICC/SPI-SE)
-# UICC  0x81 (UICC_1), 0x85 (UICC_2)
-DEFAULT_ISODEP_ROUTE=0x81
-
-###############################################################################
-# Core configuration settings
-CORE_CONF_PROP={ 20, 02, 0a, 03,
-        a1, 01, 1e,
-        a2, 01, 19,
-        80, 01, 01
-}
-
-
diff --git a/nfc/libnfc-hal-st.conf b/nfc/libnfc-hal-st.conf
deleted file mode 100644
index 3774dcf..0000000
--- a/nfc/libnfc-hal-st.conf
+++ /dev/null
@@ -1,148 +0,0 @@
-########################### Start of libnf-hal-st_aosp.conf ###########################
-
-###############################################################################
-###############################################################################
-# ST HAL trace log level
-STNFC_HAL_LOGLEVEL=1
-NFC_DEBUG_ENABLED=1
-
-###############################################################################
-# Vendor specific mode to enable FW (RF & SWP) traces.
-STNFC_FW_DEBUG_ENABLED=0
-
-###############################################################################
-# File used for NFA storage
-NFA_STORAGE="/data/nfc"
-
-###############################################################################
-# Keep the nfa storage file.
-PRESERVE_STORAGE=1
-
-###############################################################################
-# In Switch OFF mode (phone switched-off), specify the desired CE mode to
-# the controller.
-# 0: No card-emulation; DEFAULT
-# 1: Switch-off card-emulation enabled
-CE_ON_SWITCH_OFF_STATE=1
-
-###############################################################################
-# Vendor specific mode to support the USB charging mode if VPSIO=1 in switch off.
-STNFC_USB_CHARGING_MODE=1
-
-###############################################################################
-# Vendor Specific Proprietary Protocol & Discovery Configuration
-# Set to 0xFF if unsupported
-#  byte[0] NCI_PROTOCOL_18092_ACTIVE
-#  byte[1] NCI_PROTOCOL_B_PRIME
-#  byte[2] NCI_PROTOCOL_DUAL
-#  byte[3] NCI_PROTOCOL_15693
-#  byte[4] NCI_PROTOCOL_KOVIO
-#  byte[5] NCI_PROTOCOL_MIFARE
-#  byte[6] NCI_DISCOVERY_TYPE_POLL_KOVIO
-#  byte[7] NCI_DISCOVERY_TYPE_POLL_B_PRIME
-#  byte[8] NCI_DISCOVERY_TYPE_LISTEN_B_PRIME
-NFA_PROPRIETARY_CFG={05:FF:FF:06:8A:90:77:FF:FF}
-
-###############################################################################
-# Choose the presence-check algorithm for type-4 tag.  If not defined,
-# the default value is 1.
-# 0  NFA_RW_PRES_CHK_DEFAULT; Let stack selects an algorithm
-# 1  NFA_RW_PRES_CHK_I_BLOCK; ISO-DEP protocol's empty I-block
-# 2  NFA_RW_PRES_CHK_RESET; Deactivate to Sleep, then re-activate
-# 3  NFA_RW_PRES_CHK_RB_CH0; Type-4 tag protocol's ReadBinary command on channel 0
-# 4  NFA_RW_PRES_CHK_RB_CH3; Type-4 tag protocol's ReadBinary command on channel 3
-# 5  NFA_RW_PRES_CHK_ISO_DEP_NAK; presence check command ISO-DEP NAK as per NCI2.0
-PRESENCE_CHECK_ALGORITHM=5
-
-###############################################################################
-# Name of the NCI HAL module to use
-# If unset, falls back to nfc_nci.bcm2079x
-NCI_HAL_MODULE="nfc_nci.st21nfc"
-
-###############################################################################
-# White list to be set at startup.
-DEVICE_HOST_WHITE_LIST={02:C0}
-
-###############################################################################
-# BAIL OUT value for P2P
-# Implements algorithm for NFC-DEP protocol priority over ISO-DEP protocol.
-POLL_BAIL_OUT_MODE=1
-
-###############################################################################
-# Extended APDU length for ISO_DEP
-ISO_DEP_MAX_TRANSCEIVE=0xFEFF
-
-###############################################################################
-# Configure the NFC Extras to open and use a static pipe.  If the value is
-# not set or set to 0, then the default is use a dynamic pipe based on a
-# destination gate (see NFA_HCI_DEFAULT_DEST_GATE).  Note there is a value
-# for each EE (ESE/SIM)
-OFF_HOST_ESE_PIPE_ID=0x5E
-OFF_HOST_SIM_PIPE_ID=0x3E
-
-###############################################################################
-#Set the default Felica T3T System Code OffHost route Location :
-#This settings will be used when application does not set this parameter
-# host  0x00
-# eSE   0x82 (eSE),    0x86 (eUICC/SPI-SE)
-# UICC  0x81 (UICC_1), 0x85 (UICC_2)
-DEFAULT_SYS_CODE_ROUTE=0x86
-
-###############################################################################
-#Set the Felica T3T System Code supported power state:
-DEFAULT_SYS_CODE_PWR_STATE=0x3B
-
-###############################################################################
-# Path and Files used for FW update binaries storage
-STNFC_FW_PATH_STORAGE="/vendor/firmware"
-STNFC_FW_BIN_NAME="/st54j_fw.bin"
-STNFC_FW_CONF_NAME="/st54j_conf.bin"
-
-###############################################################################
-# Default off-host route for Felica.
-# This settings will be used when application does not set this parameter
-# host  0x00
-# eSE   0x82 (eSE),    0x86 (eUICC/SPI-SE)
-# UICC  0x81 (UICC_1), 0x85 (UICC_2)
-DEFAULT_NFCF_ROUTE=0x86
-
-###############################################################################
-# Configure the default off-host route.
-# used for technology A and B routing
-# eSE   0x82 (eSE),    0x86 (eUICC/SPI-SE)
-# UICC  0x81 (UICC_1), 0x85 (UICC_2)
-DEFAULT_OFFHOST_ROUTE=0x81
-
-###############################################################################
-# Configure the default AID route.
-# host  0x00
-# eSE   0x82 (eSE),    0x86 (eUICC/SPI-SE)
-# UICC  0x81 (UICC_1), 0x85 (UICC_2)
-DEFAULT_ROUTE=0x00
-
-###############################################################################
-# Configure the NFCEEIDs of offhost UICC.
-# UICC  0x81 (UICC_1), 0x85 (UICC_2)
-OFFHOST_ROUTE_UICC={81}
-
-###############################################################################
-# Configure the NFCEEIDs of offhost eSEs.
-# eSE   0x82 (eSE),    0x86 (eUICC/SPI-SE)
-OFFHOST_ROUTE_ESE={86}
-
-###############################################################################
-# Configure the list of NFCEE for the ISO-DEP routing.
-# host  0x00
-# eSE   0x82 (eSE),    0x86 (eUICC/SPI-SE)
-# UICC  0x81 (UICC_1), 0x85 (UICC_2)
-DEFAULT_ISODEP_ROUTE=0x81
-
-###############################################################################
-# Core configuration settings
-CORE_CONF_PROP={ 20, 02, 0a, 03,
-        a1, 01, 1e,
-        a2, 01, 19,
-        80, 01, 01
-}
-
-
diff --git a/nfc/libse-gto-hal.conf b/nfc/libse-gto-hal.conf
deleted file mode 100644
index f4e443d..0000000
--- a/nfc/libse-gto-hal.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-#Gemalto SPI devnode
-GTO_DEV=/dev/st54spi;
diff --git a/nfc/libse-gto-hal2.conf b/nfc/libse-gto-hal2.conf
deleted file mode 100644
index 13ecd54..0000000
--- a/nfc/libse-gto-hal2.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-#Gemalto SPI devnode
-GTO_DEV=/dev/st33spi;
diff --git a/nfc/manifest_se_gs101.xml b/nfc/manifest_se_gs101.xml
deleted file mode 100644
index 39fe63e..0000000
--- a/nfc/manifest_se_gs101.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<manifest version="1.0" type="device">
-    <hal format="hidl">
-        <name>android.hardware.secure_element</name>
-        <transport>hwbinder</transport>
-        <fqname>@1.2::ISecureElement/eSE1</fqname>
-    </hal>
-</manifest>
diff --git a/uwb/calibration/UWB-calibration-jp.conf.raven b/uwb/calibration/UWB-calibration-jp.conf.raven
new file mode 100644
index 0000000..ffdc4d6
--- /dev/null
+++ b/uwb/calibration/UWB-calibration-jp.conf.raven
@@ -0,0 +1,34 @@
+ant0.ch5.prf16.tx_power=0
+ant0.ch5.prf16.pg_delay=0
+ant0.ch5.prf64.tx_power=0
+ant0.ch5.prf64.pg_delay=0
+ant0.ch9.prf16.tx_power=0x2A2A2A2A
+ant0.ch9.prf16.pg_delay=0x20
+ant0.ch9.prf64.tx_power=0x2A2A2A2A
+ant0.ch9.prf64.pg_delay=0x20
+ant1.ch5.prf16.tx_power=0
+ant1.ch5.prf16.pg_delay=0
+ant1.ch5.prf64.tx_power=0
+ant1.ch5.prf64.pg_delay=0
+ant1.ch9.prf16.tx_power=0x2A2A2A2A
+ant1.ch9.prf16.pg_delay=0x20
+ant1.ch9.prf64.tx_power=0x2A2A2A2A
+ant1.ch9.prf64.pg_delay=0x20
+ant2.ch5.prf16.tx_power=0
+ant2.ch5.prf16.pg_delay=0
+ant2.ch5.prf64.tx_power=0
+ant2.ch5.prf64.pg_delay=0
+ant2.ch9.prf16.tx_power=0x2A2A2A2A
+ant2.ch9.prf16.pg_delay=0x20
+ant2.ch9.prf64.tx_power=0x2A2A2A2A
+ant2.ch9.prf64.pg_delay=0x20
+ant3.ch5.prf16.tx_power=0
+ant3.ch5.prf16.pg_delay=0
+ant3.ch5.prf64.tx_power=0
+ant3.ch5.prf64.pg_delay=0
+ant3.ch9.prf16.tx_power=0x2A2A2A2A
+ant3.ch9.prf16.pg_delay=0x20
+ant3.ch9.prf64.tx_power=0x2A2A2A2A
+ant3.ch9.prf64.pg_delay=0x20
+alternate_pulse_shape=0x01
+restricted_channels=0x20
diff --git a/uwb/calibration/UWB-calibration.conf.raven b/uwb/calibration/UWB-calibration.conf.raven
new file mode 100644
index 0000000..e344459
--- /dev/null
+++ b/uwb/calibration/UWB-calibration.conf.raven
@@ -0,0 +1,115 @@
+[CCC]format=1
+[CCC]kind=0
+[CCC]settings=1
+[CCC]ant0.ch5.prf64.pdoa_iso_rf2_rf1=0
+[CCC]ant0.ch5.prf64.pdoa_iso_rf1_rf2=0
+[CCC]ant0.ch9.prf64.pdoa_iso_rf2_rf1=0
+[CCC]ant0.ch9.prf64.pdoa_iso_rf1_rf2=0
+[CCC]ant0.ch5.prf64.pdoa_offset=0
+[CCC]ant0.ch9.prf64.pdoa_offset=0
+[CCC]ant0.ch5.prf64.pll_locking_code=0
+[CCC]ant0.ch9.prf64.pll_locking_code=0
+[CCC]id=0
+[CCC]wifi_coex_time_gap=10
+[CCC]ap_coop_mode=1
+[CCC]antenna_selection=4
+ant0.ch5.prf16.ant_delay=16450
+ant0.ch5.prf16.tx_power=0x4E4E4E4E
+ant0.ch5.prf16.pg_count=0
+ant0.ch5.prf16.pg_delay=0x26
+ant0.ch5.prf64.ant_delay=16450
+ant0.ch5.prf64.tx_power=0x4E4E4E4E
+ant0.ch5.prf64.pg_count=0
+ant0.ch5.prf64.pg_delay=0x26
+ant0.ch9.prf16.ant_delay=16450
+ant0.ch9.prf16.tx_power=0x56565656
+ant0.ch9.prf16.pg_count=0
+ant0.ch9.prf16.pg_delay=0x26
+ant0.ch9.prf64.ant_delay=16450
+ant0.ch9.prf64.tx_power=0x56565656
+ant0.ch9.prf64.pg_count=0
+ant0.ch9.prf64.pg_delay=0x26
+ant0.port=0
+ant0.selector_gpio=7
+ant0.selector_gpio_value=0
+ant1.ch5.prf16.ant_delay=16450
+ant1.ch5.prf16.tx_power=0x4E4E4E4E
+ant1.ch5.prf16.pg_count=0
+ant1.ch5.prf16.pg_delay=0x26
+ant1.ch5.prf64.ant_delay=16450
+ant1.ch5.prf64.tx_power=0x4E4E4E4E
+ant1.ch5.prf64.pg_count=0
+ant1.ch5.prf64.pg_delay=0x26
+ant1.ch9.prf16.ant_delay=16450
+ant1.ch9.prf16.tx_power=0x56565656
+ant1.ch9.prf16.pg_count=0
+ant1.ch9.prf16.pg_delay=0x26
+ant1.ch9.prf64.ant_delay=16450
+ant1.ch9.prf64.tx_power=0x56565656
+ant1.ch9.prf64.pg_count=0
+ant1.ch9.prf64.pg_delay=0x26
+ant1.port=0
+ant1.selector_gpio=7
+ant1.selector_gpio_value=1
+ant2.ch5.prf16.ant_delay=16450
+ant2.ch5.prf16.tx_power=0x4E4E4E4E
+ant2.ch5.prf16.pg_count=0
+ant2.ch5.prf16.pg_delay=0x26
+ant2.ch5.prf64.ant_delay=16450
+ant2.ch5.prf64.tx_power=0x4E4E4E4E
+ant2.ch5.prf64.pg_count=0
+ant2.ch5.prf64.pg_delay=0x26
+ant2.ch9.prf16.ant_delay=16450
+ant2.ch9.prf16.tx_power=0x56565656
+ant2.ch9.prf16.pg_count=0
+ant2.ch9.prf16.pg_delay=0x26
+ant2.ch9.prf64.ant_delay=16450
+ant2.ch9.prf64.tx_power=0x56565656
+ant2.ch9.prf64.pg_count=0
+ant2.ch9.prf64.pg_delay=0x26
+ant2.port=1
+ant2.selector_gpio=6
+ant2.selector_gpio_value=0
+ant3.ch5.prf16.ant_delay=16450
+ant3.ch5.prf16.tx_power=0x4E4E4E4E
+ant3.ch5.prf16.pg_count=0
+ant3.ch5.prf16.pg_delay=0x26
+ant3.ch5.prf64.ant_delay=16450
+ant3.ch5.prf64.tx_power=0x4E4E4E4E
+ant3.ch5.prf64.pg_count=0
+ant3.ch5.prf64.pg_delay=0x26
+ant3.ch9.prf16.ant_delay=16450
+ant3.ch9.prf16.tx_power=0x56565656
+ant3.ch9.prf16.pg_count=0
+ant3.ch9.prf16.pg_delay=0x26
+ant3.ch9.prf64.ant_delay=16450
+ant3.ch9.prf64.tx_power=0x56565656
+ant3.ch9.prf64.pg_count=0
+ant3.ch9.prf64.pg_delay=0x26
+ant3.port=1
+ant3.selector_gpio=6
+ant3.selector_gpio_value=1
+ant0.ant1.ch5.pdoa_offset=0
+ant0.ant1.ch9.pdoa_offset=0
+ant0.ant2.ch5.pdoa_offset=0
+ant0.ant2.ch9.pdoa_offset=0
+ant1.ant2.ch5.pdoa_offset=0
+ant1.ant2.ch9.pdoa_offset=0
+ant0.ant3.ch5.pdoa_offset=0
+ant0.ant3.ch9.pdoa_offset=0
+ant1.ant3.ch5.pdoa_offset=-4710
+ant1.ant3.ch9.pdoa_offset=-6144
+ant2.ant3.ch5.pdoa_offset=0
+ant2.ant3.ch9.pdoa_offset=0
+ch5.pll_locking_code=0
+ch9.pll_locking_code=0
+ant1.ant3.ch5.pdoa_lut=e1:f2:85:f5:ae:f3:3d:f6:52:f4:f6:f6:8f:f4:9a:f7:48:f5:52:f8:d7:f5:0a:f9:66:f6:ae:f9:85:f7:66:fa:8f:f8:1f:fb:48:f9:d7:fb:8f:fa:7b:fc:ec:fb:33:fd:0a:fd:ec:fd:66:fe:a4:fe:00:00:48:ff:71:01:00:00:b8:02:b8:00:29:04:64:01:ae:05:19:02:85:07:cb:02:33:09:7d:03:f6:0a:2f:04:0a:0d:e3:04:cd:0e:96:05:14:10:48:06:71:11:fa:06:66:12:ac:07:33:13:60:08:3d:14:12:09:85:15:c5:09:ec:15:77:0a
+ant1.ant3.ch9.pdoa_lut=e1:ec:f6:f6:48:ed:3d:f6:85:ed:85:f5:14:ee:9a:f7:3d:ee:52:f8:e1:ee:0a:f9:3d:f0:ae:f9:85:f1:66:fa:85:f3:1f:fb:00:f6:d7:fb:9a:f7:7b:fc:14:fa:33:fd:ec:fb:ec:fd:71:fd:a4:fe:cd:fe:48:ff:a4:00:00:00:85:01:b8:00:7b:02:5c:01:d7:03:14:02:cd:04:cd:02:48:07:85:03:ae:09:29:04:e1:0c:e1:04:7b:10:9a:05:cd:12:52:06:f6:14:f6:06:a4:16:ae:07:ae:17:0a:09:d7:17:c3:09:52:18:66:08:7b:18:7b:0a
+xtal_trim=31
+temperature_reference=85
+smart_tx_power=1
+auto_sleep_margin=-1
+[HAL]antenna_pair_azimuth=4
+[HAL]antenna_pair_elevation=4
+[HAL]tx_antenna=0
+[HAL]minimum_system_offset_uwbtime0=200
diff --git a/uwb/uwb.mk b/uwb/uwb.mk
index be2f6d2..01ca253 100644
--- a/uwb/uwb.mk
+++ b/uwb/uwb.mk
@@ -16,5 +16,15 @@
 # UWB - ultra wide band
 $(call inherit-product-if-exists, vendor/qorvo/uwb/uwb.mk)
 
+LOCAL_UWB_CAL_DIR=device/google/gs101/uwb/calibration
+
+ifneq (,$(filter raven, $(TARGET_PRODUCT)))
+PRODUCT_COPY_FILES += \
+    $(LOCAL_UWB_CAL_DIR)/UWB-calibration.conf.raven:$(TARGET_COPY_OUT_VENDOR)/etc/UWB-calibration.conf \
+    $(LOCAL_UWB_CAL_DIR)/UWB-calibration.conf.raven:$(TARGET_COPY_OUT_VENDOR)/etc/UWB-calibration-unknown.conf \
+    $(LOCAL_UWB_CAL_DIR)/UWB-calibration.conf.raven:$(TARGET_COPY_OUT_VENDOR)/etc/UWB-calibration-default.conf \
+    $(LOCAL_UWB_CAL_DIR)/UWB-calibration-jp.conf.raven:$(TARGET_COPY_OUT_VENDOR)/etc/UWB-calibration-jp.conf
+endif
+
 PRODUCT_COPY_FILES += \
     frameworks/native/data/etc/android.hardware.uwb.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.uwb.xml
diff --git a/vendor_dlkm.blocklist b/vendor_dlkm.blocklist
index 4458aef..b259ab6 100644
--- a/vendor_dlkm.blocklist
+++ b/vendor_dlkm.blocklist
@@ -1,10 +1,15 @@
 blocklist bcmdhd43752
 blocklist bcmdhd4389
+blocklist cl_dsp
 blocklist drv2624
 blocklist ftm5
+blocklist input-cs40l26-i2c
 blocklist pktgen
 blocklist sec_touch
 blocklist snd-soc-cs35l41-i2c
 blocklist snd-soc-cs35l41-spi
 blocklist st33spi
 blocklist st54spi
+blocklist uwb_desense.ko
+blocklist uwb-hal.ko
+blocklist uwbcore.ko