Merge tag 'LA.QSSI.16.0.r1-07900-qssi.0' of https://git.codelinaro.org/clo/la/platform/vendor/qcom-opensource/interfaces into android-16

LA.QSSI.16.0.r1-07900-qssi.0

Change-Id: I309c4470f109f0787509babfb3c33d1000b789dc
diff --git a/avf_qcvm_manager_aidl/Android.bp b/avf_qcvm_manager_aidl/Android.bp
new file mode 100644
index 0000000..f59ff6e
--- /dev/null
+++ b/avf_qcvm_manager_aidl/Android.bp
@@ -0,0 +1,30 @@
+aidl_interface {
+    name: "vendor.qti.AvfQcvmManager",
+    srcs: ["vendor/qti/AvfQcvmManager/*.aidl"],
+    system_ext_specific: true,
+    vendor_available: true,
+    product_available: true,
+    stability: "vintf",
+    backend: {
+        cpp: {
+            enabled: false,
+        },
+        java: {
+            sdk_version: "module_current",
+        },
+        ndk: {
+            enabled: true,
+        },
+        rust: {
+            enabled: true,
+        },
+    },
+    frozen: true,
+    versions_with_info: [
+        {
+            version: "1",
+            imports: [],
+        },
+    ],
+
+}
diff --git a/avf_qcvm_manager_aidl/aidl_api/vendor.qti.AvfQcvmManager/1/.hash b/avf_qcvm_manager_aidl/aidl_api/vendor.qti.AvfQcvmManager/1/.hash
new file mode 100644
index 0000000..22b3a77
--- /dev/null
+++ b/avf_qcvm_manager_aidl/aidl_api/vendor.qti.AvfQcvmManager/1/.hash
@@ -0,0 +1 @@
+1f5cf3aa061a630d2979e175c5ee77440943483d
diff --git a/avf_qcvm_manager_aidl/aidl_api/vendor.qti.AvfQcvmManager/1/vendor/qti/AvfQcvmManager/IAvfQcvmManager.aidl b/avf_qcvm_manager_aidl/aidl_api/vendor.qti.AvfQcvmManager/1/vendor/qti/AvfQcvmManager/IAvfQcvmManager.aidl
new file mode 100644
index 0000000..5c01750
--- /dev/null
+++ b/avf_qcvm_manager_aidl/aidl_api/vendor.qti.AvfQcvmManager/1/vendor/qti/AvfQcvmManager/IAvfQcvmManager.aidl
@@ -0,0 +1,28 @@
+/*
+ * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+*/
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.AvfQcvmManager;
+@VintfStability
+interface IAvfQcvmManager {
+  List<vendor.qti.AvfQcvmManager.VmInfo> availableVms();
+  vendor.qti.AvfQcvmManager.IVirtualMachine getVm(String vm_name);
+}
diff --git a/avf_qcvm_manager_aidl/aidl_api/vendor.qti.AvfQcvmManager/1/vendor/qti/AvfQcvmManager/IVirtualMachine.aidl b/avf_qcvm_manager_aidl/aidl_api/vendor.qti.AvfQcvmManager/1/vendor/qti/AvfQcvmManager/IVirtualMachine.aidl
new file mode 100644
index 0000000..9e9e95f
--- /dev/null
+++ b/avf_qcvm_manager_aidl/aidl_api/vendor.qti.AvfQcvmManager/1/vendor/qti/AvfQcvmManager/IVirtualMachine.aidl
@@ -0,0 +1,30 @@
+/*
+ * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+*/
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.AvfQcvmManager;
+@VintfStability
+interface IVirtualMachine {
+  vendor.qti.AvfQcvmManager.VmInfo getVmInfo();
+  oneway void start(vendor.qti.AvfQcvmManager.IVirtualMachineCallback callback);
+  oneway void stop(vendor.qti.AvfQcvmManager.IVirtualMachineCallback callback);
+  oneway void request_stop(vendor.qti.AvfQcvmManager.IVirtualMachineCallback callback);
+}
diff --git a/avf_qcvm_manager_aidl/aidl_api/vendor.qti.AvfQcvmManager/1/vendor/qti/AvfQcvmManager/IVirtualMachineCallback.aidl b/avf_qcvm_manager_aidl/aidl_api/vendor.qti.AvfQcvmManager/1/vendor/qti/AvfQcvmManager/IVirtualMachineCallback.aidl
new file mode 100644
index 0000000..95d4f58
--- /dev/null
+++ b/avf_qcvm_manager_aidl/aidl_api/vendor.qti.AvfQcvmManager/1/vendor/qti/AvfQcvmManager/IVirtualMachineCallback.aidl
@@ -0,0 +1,32 @@
+/*
+ * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+*/
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.AvfQcvmManager;
+@VintfStability
+interface IVirtualMachineCallback {
+  oneway void onStarting();
+  oneway void onStopped();
+  oneway void onUserspaceReady();
+  oneway void onShutdownInitiated();
+  oneway void onCrashed();
+  oneway void onError(vendor.qti.AvfQcvmManager.VirtualMachineError error);
+}
diff --git a/avf_qcvm_manager_aidl/aidl_api/vendor.qti.AvfQcvmManager/1/vendor/qti/AvfQcvmManager/VirtualMachineError.aidl b/avf_qcvm_manager_aidl/aidl_api/vendor.qti.AvfQcvmManager/1/vendor/qti/AvfQcvmManager/VirtualMachineError.aidl
new file mode 100644
index 0000000..9a9f652
--- /dev/null
+++ b/avf_qcvm_manager_aidl/aidl_api/vendor.qti.AvfQcvmManager/1/vendor/qti/AvfQcvmManager/VirtualMachineError.aidl
@@ -0,0 +1,30 @@
+/*
+ * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+*/
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.AvfQcvmManager;
+@Backing(type="int") @VintfStability
+enum VirtualMachineError {
+  FAILED_START = (-1) /* -1 */,
+  FAILED_STOP = (-2) /* -2 */,
+  VM_IN_USE = (-3) /* -3 */,
+  FAILED_TO_REQUEST_STOP = (-4) /* -4 */,
+}
diff --git a/avf_qcvm_manager_aidl/aidl_api/vendor.qti.AvfQcvmManager/1/vendor/qti/AvfQcvmManager/VmInfo.aidl b/avf_qcvm_manager_aidl/aidl_api/vendor.qti.AvfQcvmManager/1/vendor/qti/AvfQcvmManager/VmInfo.aidl
new file mode 100644
index 0000000..dd33320
--- /dev/null
+++ b/avf_qcvm_manager_aidl/aidl_api/vendor.qti.AvfQcvmManager/1/vendor/qti/AvfQcvmManager/VmInfo.aidl
@@ -0,0 +1,36 @@
+/*
+ * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+*/
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.AvfQcvmManager;
+@VintfStability
+parcelable VmInfo {
+  String name;
+  boolean early_vm;
+  boolean enabled;
+  boolean force_stop;
+  int num_vcpus;
+  int cma_size;
+  int swiotlb_size;
+  int total_memory;
+  int vm_id;
+  int mink_uid;
+}
diff --git a/avf_qcvm_manager_aidl/aidl_api/vendor.qti.AvfQcvmManager/current/vendor/qti/AvfQcvmManager/IAvfQcvmManager.aidl b/avf_qcvm_manager_aidl/aidl_api/vendor.qti.AvfQcvmManager/current/vendor/qti/AvfQcvmManager/IAvfQcvmManager.aidl
new file mode 100644
index 0000000..5c01750
--- /dev/null
+++ b/avf_qcvm_manager_aidl/aidl_api/vendor.qti.AvfQcvmManager/current/vendor/qti/AvfQcvmManager/IAvfQcvmManager.aidl
@@ -0,0 +1,28 @@
+/*
+ * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+*/
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.AvfQcvmManager;
+@VintfStability
+interface IAvfQcvmManager {
+  List<vendor.qti.AvfQcvmManager.VmInfo> availableVms();
+  vendor.qti.AvfQcvmManager.IVirtualMachine getVm(String vm_name);
+}
diff --git a/avf_qcvm_manager_aidl/aidl_api/vendor.qti.AvfQcvmManager/current/vendor/qti/AvfQcvmManager/IVirtualMachine.aidl b/avf_qcvm_manager_aidl/aidl_api/vendor.qti.AvfQcvmManager/current/vendor/qti/AvfQcvmManager/IVirtualMachine.aidl
new file mode 100644
index 0000000..9e9e95f
--- /dev/null
+++ b/avf_qcvm_manager_aidl/aidl_api/vendor.qti.AvfQcvmManager/current/vendor/qti/AvfQcvmManager/IVirtualMachine.aidl
@@ -0,0 +1,30 @@
+/*
+ * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+*/
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.AvfQcvmManager;
+@VintfStability
+interface IVirtualMachine {
+  vendor.qti.AvfQcvmManager.VmInfo getVmInfo();
+  oneway void start(vendor.qti.AvfQcvmManager.IVirtualMachineCallback callback);
+  oneway void stop(vendor.qti.AvfQcvmManager.IVirtualMachineCallback callback);
+  oneway void request_stop(vendor.qti.AvfQcvmManager.IVirtualMachineCallback callback);
+}
diff --git a/avf_qcvm_manager_aidl/aidl_api/vendor.qti.AvfQcvmManager/current/vendor/qti/AvfQcvmManager/IVirtualMachineCallback.aidl b/avf_qcvm_manager_aidl/aidl_api/vendor.qti.AvfQcvmManager/current/vendor/qti/AvfQcvmManager/IVirtualMachineCallback.aidl
new file mode 100644
index 0000000..95d4f58
--- /dev/null
+++ b/avf_qcvm_manager_aidl/aidl_api/vendor.qti.AvfQcvmManager/current/vendor/qti/AvfQcvmManager/IVirtualMachineCallback.aidl
@@ -0,0 +1,32 @@
+/*
+ * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+*/
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.AvfQcvmManager;
+@VintfStability
+interface IVirtualMachineCallback {
+  oneway void onStarting();
+  oneway void onStopped();
+  oneway void onUserspaceReady();
+  oneway void onShutdownInitiated();
+  oneway void onCrashed();
+  oneway void onError(vendor.qti.AvfQcvmManager.VirtualMachineError error);
+}
diff --git a/avf_qcvm_manager_aidl/aidl_api/vendor.qti.AvfQcvmManager/current/vendor/qti/AvfQcvmManager/VirtualMachineError.aidl b/avf_qcvm_manager_aidl/aidl_api/vendor.qti.AvfQcvmManager/current/vendor/qti/AvfQcvmManager/VirtualMachineError.aidl
new file mode 100644
index 0000000..9a9f652
--- /dev/null
+++ b/avf_qcvm_manager_aidl/aidl_api/vendor.qti.AvfQcvmManager/current/vendor/qti/AvfQcvmManager/VirtualMachineError.aidl
@@ -0,0 +1,30 @@
+/*
+ * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+*/
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.AvfQcvmManager;
+@Backing(type="int") @VintfStability
+enum VirtualMachineError {
+  FAILED_START = (-1) /* -1 */,
+  FAILED_STOP = (-2) /* -2 */,
+  VM_IN_USE = (-3) /* -3 */,
+  FAILED_TO_REQUEST_STOP = (-4) /* -4 */,
+}
diff --git a/avf_qcvm_manager_aidl/aidl_api/vendor.qti.AvfQcvmManager/current/vendor/qti/AvfQcvmManager/VmInfo.aidl b/avf_qcvm_manager_aidl/aidl_api/vendor.qti.AvfQcvmManager/current/vendor/qti/AvfQcvmManager/VmInfo.aidl
new file mode 100644
index 0000000..dd33320
--- /dev/null
+++ b/avf_qcvm_manager_aidl/aidl_api/vendor.qti.AvfQcvmManager/current/vendor/qti/AvfQcvmManager/VmInfo.aidl
@@ -0,0 +1,36 @@
+/*
+ * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+*/
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.AvfQcvmManager;
+@VintfStability
+parcelable VmInfo {
+  String name;
+  boolean early_vm;
+  boolean enabled;
+  boolean force_stop;
+  int num_vcpus;
+  int cma_size;
+  int swiotlb_size;
+  int total_memory;
+  int vm_id;
+  int mink_uid;
+}
diff --git a/avf_qcvm_manager_aidl/vendor/qti/AvfQcvmManager/IAvfQcvmManager.aidl b/avf_qcvm_manager_aidl/vendor/qti/AvfQcvmManager/IAvfQcvmManager.aidl
new file mode 100644
index 0000000..d08171e
--- /dev/null
+++ b/avf_qcvm_manager_aidl/vendor/qti/AvfQcvmManager/IAvfQcvmManager.aidl
@@ -0,0 +1,18 @@
+/*
+ * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+*/
+package vendor.qti.AvfQcvmManager;
+
+import vendor.qti.AvfQcvmManager.IVirtualMachine;
+import vendor.qti.AvfQcvmManager.VmInfo;
+
+@VintfStability
+interface IAvfQcvmManager{
+
+    /** Gets a list of available VMs from the json config and their info */
+    List<VmInfo> availableVms();
+
+    /** Returns a handle to the VirtualMachine based on the vm_name. */
+    IVirtualMachine getVm(String vm_name);
+}
diff --git a/avf_qcvm_manager_aidl/vendor/qti/AvfQcvmManager/IVirtualMachine.aidl b/avf_qcvm_manager_aidl/vendor/qti/AvfQcvmManager/IVirtualMachine.aidl
new file mode 100644
index 0000000..925d734
--- /dev/null
+++ b/avf_qcvm_manager_aidl/vendor/qti/AvfQcvmManager/IVirtualMachine.aidl
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+*/
+package vendor.qti.AvfQcvmManager;
+
+import vendor.qti.AvfQcvmManager.IVirtualMachineCallback;
+import vendor.qti.AvfQcvmManager.VmInfo;
+
+@VintfStability
+interface IVirtualMachine {
+
+    /** Returns the current VM Info. */
+    VmInfo getVmInfo();
+
+    /** Starts running the VM. And place a vote.
+        At the end of the call, the callback will be
+        used to to give the current state of the VM.
+        (if not started -> onStarting, is userspace ready -> onUserspaceReady)
+    */
+    oneway void start(IVirtualMachineCallback callback);
+
+    /** If the VM has the capability to Force Stop, then force stop the VM */
+    oneway void stop(IVirtualMachineCallback callback);
+
+    /** Unvote and Query the VM to Stop on its own if possible */
+    oneway void request_stop(IVirtualMachineCallback callback);
+
+
+
+}
diff --git a/avf_qcvm_manager_aidl/vendor/qti/AvfQcvmManager/IVirtualMachineCallback.aidl b/avf_qcvm_manager_aidl/vendor/qti/AvfQcvmManager/IVirtualMachineCallback.aidl
new file mode 100644
index 0000000..6e3f32d
--- /dev/null
+++ b/avf_qcvm_manager_aidl/vendor/qti/AvfQcvmManager/IVirtualMachineCallback.aidl
@@ -0,0 +1,30 @@
+/*
+ * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+*/
+package vendor.qti.AvfQcvmManager;
+
+import vendor.qti.AvfQcvmManager.VirtualMachineError;
+
+@VintfStability
+oneway interface IVirtualMachineCallback {
+
+    /** Called when the state of the VM changes. */
+    void onStarting();
+
+    /** Called when the state of the VM is fully stopped. */
+    void onStopped();
+
+    /** Called when the VM userspace is ready */
+    void onUserspaceReady();
+
+    /** Called when the state of the VM is in progress to shutdown. */
+    void onShutdownInitiated();
+
+    /** Called when the state of the VM becomes crashed */
+    void onCrashed();
+
+    /** Called when the HAL encounters an error when handling the VM */
+    void onError(VirtualMachineError error);
+
+}
diff --git a/avf_qcvm_manager_aidl/vendor/qti/AvfQcvmManager/VirtualMachineError.aidl b/avf_qcvm_manager_aidl/vendor/qti/AvfQcvmManager/VirtualMachineError.aidl
new file mode 100644
index 0000000..9b200f9
--- /dev/null
+++ b/avf_qcvm_manager_aidl/vendor/qti/AvfQcvmManager/VirtualMachineError.aidl
@@ -0,0 +1,23 @@
+/*
+ * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+*/
+package vendor.qti.AvfQcvmManager;
+
+@Backing(type="int")
+@VintfStability
+enum VirtualMachineError {
+
+    /** Failed to boot the VM */
+    FAILED_START = -1,
+
+    /** Failed to Force Stop the VM */
+    FAILED_STOP = -2,
+
+    /** Failed to Request the VM to Stop when Vote is not 0*/
+    VM_IN_USE = -3,
+
+    /** Failed to request stop when Vote is 0 */
+    FAILED_TO_REQUEST_STOP = -4,
+
+}
diff --git a/avf_qcvm_manager_aidl/vendor/qti/AvfQcvmManager/VmInfo.aidl b/avf_qcvm_manager_aidl/vendor/qti/AvfQcvmManager/VmInfo.aidl
new file mode 100644
index 0000000..7d93ea4
--- /dev/null
+++ b/avf_qcvm_manager_aidl/vendor/qti/AvfQcvmManager/VmInfo.aidl
@@ -0,0 +1,39 @@
+/*
+ * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+*/
+package vendor.qti.AvfQcvmManager;
+
+@VintfStability
+parcelable VmInfo {
+    /** Name of the VM */
+    String name;
+
+    /** Early VM enabled */
+    boolean early_vm;
+
+    /** Enable the VM to be started */
+    boolean enabled;
+
+    /** The VM can be force stopped from within the VM */
+    boolean force_stop;
+
+    /** The number of assigned vCPUs  */
+    int num_vcpus;
+
+    /** CMA memory assigned to boot the VM */
+    int cma_size;
+
+    /** Shared memory between VM and Host assigned to boot the VM */
+    int swiotlb_size;
+
+    /** Total memory assigned to boot the VM with (CMA + SWIOTLB + Scattered)  */
+    int total_memory;
+
+    /** A static ID that is assigned to each QC VM */
+    int vm_id;
+
+    /** The Mink UID used for the shutdown service */
+    int mink_uid;
+
+}
diff --git a/camera/aon/aidl/Android.bp b/camera/aon/aidl/Android.bp
index 935d22e..e1198f6 100644
--- a/camera/aon/aidl/Android.bp
+++ b/camera/aon/aidl/Android.bp
@@ -25,6 +25,10 @@
             version: "2",
             imports: [],
         },
+        {
+            version: "3",
+            imports: [],
+        },
 
     ],
     frozen: true,
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/.hash b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/.hash
new file mode 100644
index 0000000..d1197ad
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/.hash
@@ -0,0 +1 @@
+4aeebb1e4d3c36bb887b173386e28804673d21c2
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/AONCallbackEvent.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/AONCallbackEvent.aidl
new file mode 100644
index 0000000..e52ff1c
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/AONCallbackEvent.aidl
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear 
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@VintfStability
+parcelable AONCallbackEvent {
+  vendor.qti.hardware.camera.aon.AONServiceType srvType;
+  vendor.qti.hardware.camera.aon.FDEvtInfo fdEvtInfo;
+  vendor.qti.hardware.camera.aon.FDProEvtInfo fdProEvtInfo;
+  vendor.qti.hardware.camera.aon.QREvtInfo qrEvtInfo;
+  @nullable vendor.qti.hardware.camera.aon.HDEvtInfo hdEvtInfo;
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/AONRegisterInfo.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/AONRegisterInfo.aidl
new file mode 100644
index 0000000..1f403d9
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/AONRegisterInfo.aidl
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@VintfStability
+parcelable AONRegisterInfo {
+  int aonIdx;
+  vendor.qti.hardware.camera.aon.AONServiceType srvType;
+  vendor.qti.hardware.camera.aon.FDRegisterInfo fdRegInfo;
+  vendor.qti.hardware.camera.aon.QRRegisterInfo qrRegInfo;
+  @nullable vendor.qti.hardware.camera.aon.HDRegisterInfo hdRegInfo;
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/AONSensorCap.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/AONSensorCap.aidl
new file mode 100644
index 0000000..362df66
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/AONSensorCap.aidl
@@ -0,0 +1,28 @@
+/*
+ * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@VintfStability
+parcelable AONSensorCap {
+  vendor.qti.hardware.camera.aon.AONServiceType srvType;
+  vendor.qti.hardware.camera.aon.FDAlgoMode[] fdAlgoModes;
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/AONSensorInfo.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/AONSensorInfo.aidl
new file mode 100644
index 0000000..bf3ff0b
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/AONSensorInfo.aidl
@@ -0,0 +1,28 @@
+/*
+ * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@VintfStability
+parcelable AONSensorInfo {
+  vendor.qti.hardware.camera.aon.PositionType position;
+  vendor.qti.hardware.camera.aon.AONSensorCap[] sensorCaps;
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/AONServiceType.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/AONServiceType.aidl
new file mode 100644
index 0000000..1e81c79
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/AONServiceType.aidl
@@ -0,0 +1,32 @@
+/*
+ * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@Backing(type="int") @VintfStability
+enum AONServiceType {
+  FaceDetect = 0,
+  FaceDetectPro = 1,
+  QRCode = 2,
+  HandDetect = 3,
+  VendorDefinedStart = 0x1000000,
+  VendorDefinedEnd,
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/CameraRectangle.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/CameraRectangle.aidl
new file mode 100644
index 0000000..afeadce
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/CameraRectangle.aidl
@@ -0,0 +1,30 @@
+/*
+ * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@VintfStability
+parcelable CameraRectangle {
+  int x;
+  int y;
+  int width;
+  int height;
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/DeliveryMode.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/DeliveryMode.aidl
new file mode 100644
index 0000000..300d250
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/DeliveryMode.aidl
@@ -0,0 +1,28 @@
+/*
+ * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@Backing(type="int") @VintfStability
+enum DeliveryMode {
+  MotionBased = 0,
+  TimeBased = 1,
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/FDAlgoMode.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/FDAlgoMode.aidl
new file mode 100644
index 0000000..09d154b
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/FDAlgoMode.aidl
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2023-2024 Qualcomm Innovation Center, Inc. All rights reserved.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@VintfStability
+parcelable FDAlgoMode {
+  int width;
+  int height;
+  boolean isIslandModeCapable;
+  vendor.qti.hardware.camera.aon.FDEngineType fdEngine;
+  int supportedFDEvtTypeMask;
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/FDEngineType.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/FDEngineType.aidl
new file mode 100644
index 0000000..19725a2
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/FDEngineType.aidl
@@ -0,0 +1,28 @@
+/*
+ * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@Backing(type="int") @VintfStability
+enum FDEngineType {
+  EngineCADL = 0,
+  EngineENPU = 1,
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/FDEvtInfo.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/FDEvtInfo.aidl
new file mode 100644
index 0000000..7b0be79
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/FDEvtInfo.aidl
@@ -0,0 +1,27 @@
+/*
+ * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@VintfStability
+parcelable FDEvtInfo {
+  int fdEvtTypeMask;
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/FDEvtType.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/FDEvtType.aidl
new file mode 100644
index 0000000..1ae2683
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/FDEvtType.aidl
@@ -0,0 +1,32 @@
+/*
+ * Copyright (c) 2023-2024 Qualcomm Innovation Center, Inc. All rights reserved.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@Backing(type="int") @VintfStability
+enum FDEvtType {
+  FaceDetected = 1,
+  FaceNotDetected = 2,
+  GazeDetected = 4,
+  GazeNotDetected = 8,
+  PersonDetected = 16,
+  PersonNotDetected = 32,
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/FDProEvtInfo.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/FDProEvtInfo.aidl
new file mode 100644
index 0000000..6bcc669
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/FDProEvtInfo.aidl
@@ -0,0 +1,28 @@
+/*
+ * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@VintfStability
+parcelable FDProEvtInfo {
+  int fdEvtTypeMask;
+  vendor.qti.hardware.camera.aon.FaceInfoPro faceInfo;
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/FDRegisterInfo.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/FDRegisterInfo.aidl
new file mode 100644
index 0000000..6a7ae09
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/FDRegisterInfo.aidl
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@VintfStability
+parcelable FDRegisterInfo {
+  int fdEvtTypeMask;
+  int fdAlgoModeIdx;
+  vendor.qti.hardware.camera.aon.DeliveryMode deliveryMode;
+  int deliveryPeriodMs;
+  int detectionPerDelivery;
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/FaceInfoPro.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/FaceInfoPro.aidl
new file mode 100644
index 0000000..040a778
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/FaceInfoPro.aidl
@@ -0,0 +1,29 @@
+/*
+ * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@VintfStability
+parcelable FaceInfoPro {
+  int frameDimWidth;
+  int frameDimHeight;
+  vendor.qti.hardware.camera.aon.FaceInfoProPerFace[] perFace;
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/FaceInfoProPerFace.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/FaceInfoProPerFace.aidl
new file mode 100644
index 0000000..f4f304d
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/FaceInfoProPerFace.aidl
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2023-2024 Qualcomm Innovation Center, Inc. All rights reserved.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@VintfStability
+parcelable FaceInfoProPerFace {
+  int angleRoll;
+  int angleYaw;
+  int width;
+  int height;
+  vendor.qti.hardware.camera.aon.FacePosType center;
+  boolean isGazeDetected;
+  boolean isFaceDetected;
+  @nullable vendor.qti.hardware.camera.aon.PersonInfoType personInfo;
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/FacePosType.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/FacePosType.aidl
new file mode 100644
index 0000000..a2c95b1
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/FacePosType.aidl
@@ -0,0 +1,28 @@
+/*
+ * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@VintfStability
+parcelable FacePosType {
+  int x;
+  int y;
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/HDEvtInfo.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/HDEvtInfo.aidl
new file mode 100644
index 0000000..a4b207d
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/HDEvtInfo.aidl
@@ -0,0 +1,30 @@
+/*

+ * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.

+ * SPDX-License-Identifier: BSD-3-Clause-Clear

+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@VintfStability
+parcelable HDEvtInfo {
+  int hdEvtTypeMask;
+  int frameDimWidth;
+  int frameDimHeight;
+  vendor.qti.hardware.camera.aon.HandInfoPerHand[] handInfoPerHand;
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/HDEvtType.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/HDEvtType.aidl
new file mode 100644
index 0000000..37102d5
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/HDEvtType.aidl
@@ -0,0 +1,28 @@
+/*

+ * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.

+ * SPDX-License-Identifier: BSD-3-Clause-Clear

+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@Backing(type="int") @VintfStability
+enum HDEvtType {
+  HandDetected = 1,
+  HandNotDetected = 2,
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/HDGestureClassType.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/HDGestureClassType.aidl
new file mode 100644
index 0000000..914b01f
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/HDGestureClassType.aidl
@@ -0,0 +1,30 @@
+/*

+ * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.

+ * SPDX-License-Identifier: BSD-3-Clause-Clear

+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@Backing(type="int") @VintfStability
+enum HDGestureClassType {
+  HDGestureOne = 1,
+  HDGestureTwo = 2,
+  HDGestureThree = 3,
+  HDGestureUnknown = 4,
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/HDGestureInfoType.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/HDGestureInfoType.aidl
new file mode 100644
index 0000000..d4ba47c
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/HDGestureInfoType.aidl
@@ -0,0 +1,28 @@
+/*

+ * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.

+ * SPDX-License-Identifier: BSD-3-Clause-Clear

+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@VintfStability
+parcelable HDGestureInfoType {
+  vendor.qti.hardware.camera.aon.HDGestureClassType gestureClass;
+  int confidence;
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/HDRegisterInfo.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/HDRegisterInfo.aidl
new file mode 100644
index 0000000..cb2c5d3
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/HDRegisterInfo.aidl
@@ -0,0 +1,31 @@
+/*

+ * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.

+ * SPDX-License-Identifier: BSD-3-Clause-Clear

+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@VintfStability
+parcelable HDRegisterInfo {
+  int hdEvtTypeMask;
+  vendor.qti.hardware.camera.aon.DeliveryMode deliveryMode;
+  int deliveryPeriodMs;
+  int detectionPerDelivery;
+  boolean detectGesture;
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/HandInfoPerHand.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/HandInfoPerHand.aidl
new file mode 100644
index 0000000..5905c5b
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/HandInfoPerHand.aidl
@@ -0,0 +1,32 @@
+/*

+ * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.

+ * SPDX-License-Identifier: BSD-3-Clause-Clear

+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@VintfStability
+parcelable HandInfoPerHand {
+  int confidence;
+  int width;
+  int height;
+  vendor.qti.hardware.camera.aon.HandPosType topLeftCorner;
+  vendor.qti.hardware.camera.aon.HandPosType[] keyPointsList;
+  vendor.qti.hardware.camera.aon.HDGestureInfoType gestureInfo;
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/HandPosType.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/HandPosType.aidl
new file mode 100644
index 0000000..70203fc
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/HandPosType.aidl
@@ -0,0 +1,28 @@
+/*

+ * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.

+ * SPDX-License-Identifier: BSD-3-Clause-Clear

+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@VintfStability
+parcelable HandPosType {
+  int x;
+  int y;
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/IAONService.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/IAONService.aidl
new file mode 100644
index 0000000..3f15cf4
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/IAONService.aidl
@@ -0,0 +1,29 @@
+/*
+ * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@VintfStability
+interface IAONService {
+  vendor.qti.hardware.camera.aon.AONSensorInfo[] GetAONSensorInfoList();
+  long RegisterClient(in vendor.qti.hardware.camera.aon.IAONServiceCallback callback, in vendor.qti.hardware.camera.aon.AONRegisterInfo regInfo);
+  vendor.qti.hardware.camera.aon.Status UnregisterClient(in long clientHandle);
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/IAONServiceCallback.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/IAONServiceCallback.aidl
new file mode 100644
index 0000000..43685cc
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/IAONServiceCallback.aidl
@@ -0,0 +1,27 @@
+/*
+ * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@VintfStability
+interface IAONServiceCallback {
+  void NotifyAONCallbackEvent(in long clientHandle, in vendor.qti.hardware.camera.aon.AONCallbackEvent cbEvt);
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/PersonInfoType.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/PersonInfoType.aidl
new file mode 100644
index 0000000..d16822e
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/PersonInfoType.aidl
@@ -0,0 +1,28 @@
+/*
+ * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@VintfStability
+parcelable PersonInfoType {
+  int confidence;
+  vendor.qti.hardware.camera.aon.CameraRectangle rect;
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/PositionType.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/PositionType.aidl
new file mode 100644
index 0000000..9249039
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/PositionType.aidl
@@ -0,0 +1,28 @@
+/*
+ * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@Backing(type="int") @VintfStability
+enum PositionType {
+  REAR = 0,
+  FRONT = 1,
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/QRDetectionResult.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/QRDetectionResult.aidl
new file mode 100644
index 0000000..b135b6e
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/QRDetectionResult.aidl
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@VintfStability
+parcelable QRDetectionResult {
+  int confidence;
+  int dimWidth;
+  int dimHeight;
+  vendor.qti.hardware.camera.aon.CameraRectangle rect;
+  vendor.qti.hardware.camera.aon.QRDetectionResultType resultType;
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/QRDetectionResultType.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/QRDetectionResultType.aidl
new file mode 100644
index 0000000..7941e60
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/QRDetectionResultType.aidl
@@ -0,0 +1,29 @@
+/*
+ * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@Backing(type="int") @VintfStability
+enum QRDetectionResultType {
+  QRCode = 0,
+  BarCode = 1,
+  TikTok = 2,
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/QREvtInfo.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/QREvtInfo.aidl
new file mode 100644
index 0000000..31f23dc
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/QREvtInfo.aidl
@@ -0,0 +1,28 @@
+/*
+ * Copyright (c) 2023-2024 Qualcomm Innovation Center, Inc. All rights reserved.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@VintfStability
+parcelable QREvtInfo {
+  int qrEvtTypeMask;
+  @nullable vendor.qti.hardware.camera.aon.QRDetectionResult[] perQRDetectionResult;
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/QREvtType.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/QREvtType.aidl
new file mode 100644
index 0000000..330b4dd
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/QREvtType.aidl
@@ -0,0 +1,32 @@
+/*
+ * Copyright (c) 2023-2024 Qualcomm Innovation Center, Inc. All rights reserved.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@Backing(type="int") @VintfStability
+enum QREvtType {
+  QRCodeDetected = 1,
+  QRCodeNotDetected = 2,
+  BarCodeDetected = 4,
+  BarCodeNotDetected = 8,
+  TikTokCodeDetected = 16,
+  TikTokCodeNotDetected = 32,
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/QRRegisterInfo.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/QRRegisterInfo.aidl
new file mode 100644
index 0000000..4e87c83
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/QRRegisterInfo.aidl
@@ -0,0 +1,30 @@
+/*
+ * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@VintfStability
+parcelable QRRegisterInfo {
+  int qrEvtTypeMask;
+  vendor.qti.hardware.camera.aon.DeliveryMode deliveryMode;
+  int deliveryPeriodMs;
+  int detectionPerDelivery;
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/Status.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/Status.aidl
new file mode 100644
index 0000000..be1c137
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/3/vendor/qti/hardware/camera/aon/Status.aidl
@@ -0,0 +1,32 @@
+/*
+ * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@Backing(type="int") @VintfStability
+enum Status {
+  SUCCESS = 0,
+  FAILED = 1,
+  NOT_SUPPORTED = 2,
+  BAD_STATE = 3,
+  INVALID_CALLBACK_PTR = 4,
+  ABORT = 5,
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/CameraRectangle.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/CameraRectangle.aidl
new file mode 100644
index 0000000..afeadce
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/CameraRectangle.aidl
@@ -0,0 +1,30 @@
+/*
+ * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@VintfStability
+parcelable CameraRectangle {
+  int x;
+  int y;
+  int width;
+  int height;
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/FDEvtType.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/FDEvtType.aidl
index 104301f..1ae2683 100644
--- a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/FDEvtType.aidl
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/FDEvtType.aidl
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ * Copyright (c) 2023-2024 Qualcomm Innovation Center, Inc. All rights reserved.
  * SPDX-License-Identifier: BSD-3-Clause-Clear
  */
 ///////////////////////////////////////////////////////////////////////////////
@@ -27,4 +27,6 @@
   FaceNotDetected = 2,
   GazeDetected = 4,
   GazeNotDetected = 8,
+  PersonDetected = 16,
+  PersonNotDetected = 32,
 }
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/FaceInfoProPerFace.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/FaceInfoProPerFace.aidl
index 86f8aee..f4f304d 100644
--- a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/FaceInfoProPerFace.aidl
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/FaceInfoProPerFace.aidl
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ * Copyright (c) 2023-2024 Qualcomm Innovation Center, Inc. All rights reserved.
  * SPDX-License-Identifier: BSD-3-Clause-Clear
  */
 ///////////////////////////////////////////////////////////////////////////////
@@ -29,4 +29,6 @@
   int height;
   vendor.qti.hardware.camera.aon.FacePosType center;
   boolean isGazeDetected;
+  boolean isFaceDetected;
+  @nullable vendor.qti.hardware.camera.aon.PersonInfoType personInfo;
 }
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/PersonInfoType.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/PersonInfoType.aidl
new file mode 100644
index 0000000..d16822e
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/PersonInfoType.aidl
@@ -0,0 +1,28 @@
+/*
+ * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@VintfStability
+parcelable PersonInfoType {
+  int confidence;
+  vendor.qti.hardware.camera.aon.CameraRectangle rect;
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/QRDetectionResult.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/QRDetectionResult.aidl
new file mode 100644
index 0000000..b135b6e
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/QRDetectionResult.aidl
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@VintfStability
+parcelable QRDetectionResult {
+  int confidence;
+  int dimWidth;
+  int dimHeight;
+  vendor.qti.hardware.camera.aon.CameraRectangle rect;
+  vendor.qti.hardware.camera.aon.QRDetectionResultType resultType;
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/QRDetectionResultType.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/QRDetectionResultType.aidl
new file mode 100644
index 0000000..7941e60
--- /dev/null
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/QRDetectionResultType.aidl
@@ -0,0 +1,29 @@
+/*
+ * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+ */
+///////////////////////////////////////////////////////////////////////////////
+// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE.                          //
+///////////////////////////////////////////////////////////////////////////////
+
+// This file is a snapshot of an AIDL file. Do not edit it manually. There are
+// two cases:
+// 1). this is a frozen version file - do not edit this in any case.
+// 2). this is a 'current' file. If you make a backwards compatible change to
+//     the interface (from the latest frozen version), the build system will
+//     prompt you to update this file with `m <name>-update-api`.
+//
+// You must not make a backward incompatible change to any AIDL file built
+// with the aidl_interface module type with versions property set. The module
+// type is used to build AIDL files in a way that they can be used across
+// independently updatable components of the system. If a device is shipped
+// with such a backward incompatible change, it has a high risk of breaking
+// later when a module using the interface is updated, e.g., Mainline modules.
+
+package vendor.qti.hardware.camera.aon;
+@Backing(type="int") @VintfStability
+enum QRDetectionResultType {
+  QRCode = 0,
+  BarCode = 1,
+  TikTok = 2,
+}
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/QREvtInfo.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/QREvtInfo.aidl
index 2988bdd..31f23dc 100644
--- a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/QREvtInfo.aidl
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/QREvtInfo.aidl
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ * Copyright (c) 2023-2024 Qualcomm Innovation Center, Inc. All rights reserved.
  * SPDX-License-Identifier: BSD-3-Clause-Clear
  */
 ///////////////////////////////////////////////////////////////////////////////
@@ -24,4 +24,5 @@
 @VintfStability
 parcelable QREvtInfo {
   int qrEvtTypeMask;
+  @nullable vendor.qti.hardware.camera.aon.QRDetectionResult[] perQRDetectionResult;
 }
diff --git a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/QREvtType.aidl b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/QREvtType.aidl
index d874751..330b4dd 100644
--- a/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/QREvtType.aidl
+++ b/camera/aon/aidl/aidl_api/vendor.qti.hardware.camera.aon/current/vendor/qti/hardware/camera/aon/QREvtType.aidl
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ * Copyright (c) 2023-2024 Qualcomm Innovation Center, Inc. All rights reserved.
  * SPDX-License-Identifier: BSD-3-Clause-Clear
  */
 ///////////////////////////////////////////////////////////////////////////////
@@ -25,4 +25,8 @@
 enum QREvtType {
   QRCodeDetected = 1,
   QRCodeNotDetected = 2,
+  BarCodeDetected = 4,
+  BarCodeNotDetected = 8,
+  TikTokCodeDetected = 16,
+  TikTokCodeNotDetected = 32,
 }
diff --git a/camera/aon/aidl/vendor/qti/hardware/camera/aon/CameraRectangle.aidl b/camera/aon/aidl/vendor/qti/hardware/camera/aon/CameraRectangle.aidl
new file mode 100644
index 0000000..2502308
--- /dev/null
+++ b/camera/aon/aidl/vendor/qti/hardware/camera/aon/CameraRectangle.aidl
@@ -0,0 +1,20 @@
+/*
+ * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+ */
+package vendor.qti.hardware.camera.aon;
+@VintfStability
+parcelable CameraRectangle {
+
+  /**
+   * Top left coordinate of the rectangle
+   */
+  int x;
+  int y;
+
+  /**
+   * Width & Height of the rectangle
+   */
+  int width;
+  int height;
+}
diff --git a/camera/aon/aidl/vendor/qti/hardware/camera/aon/FDAlgoMode.aidl b/camera/aon/aidl/vendor/qti/hardware/camera/aon/FDAlgoMode.aidl
index 4caaf78..a5dabbc 100644
--- a/camera/aon/aidl/vendor/qti/hardware/camera/aon/FDAlgoMode.aidl
+++ b/camera/aon/aidl/vendor/qti/hardware/camera/aon/FDAlgoMode.aidl
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ * Copyright (c) 2023-2024 Qualcomm Innovation Center, Inc. All rights reserved.
  * SPDX-License-Identifier: BSD-3-Clause-Clear
  */
 
@@ -30,8 +30,9 @@
     FDEngineType fdEngine;
     /**
      * A bit-mask indicating which FDEvtType are supported
-     * in this FDAlgoMode. If both FaceDetected & GazeDetected are
-     * supported, the supportedFDEvtTypeMask will be 0x5(0x1|0x4)
+     * in this FDAlgoMode. If both FaceDetected & GazeDetected &
+     * PersonDetected supported, the supportedFDEvtTypeMask will be
+     * 0x15(0x1|0x4|0x10)
      */
     int supportedFDEvtTypeMask;
 }
diff --git a/camera/aon/aidl/vendor/qti/hardware/camera/aon/FDEvtType.aidl b/camera/aon/aidl/vendor/qti/hardware/camera/aon/FDEvtType.aidl
index c7170a4..49dfc3d 100644
--- a/camera/aon/aidl/vendor/qti/hardware/camera/aon/FDEvtType.aidl
+++ b/camera/aon/aidl/vendor/qti/hardware/camera/aon/FDEvtType.aidl
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ * Copyright (c) 2023-2024 Qualcomm Innovation Center, Inc. All rights reserved.
  * SPDX-License-Identifier: BSD-3-Clause-Clear
  */
 
@@ -18,7 +18,7 @@
      */
     FaceDetected = 1,
     /**
-     * This indicates that face detection was performed and a face is not detected.
+     * This indicates that face detection was performed and not a face is detected.
      */
     FaceNotDetected = 2,
     /**
@@ -26,7 +26,15 @@
      */
     GazeDetected = 4,
     /**
-     * This indicates that face detection was performed and an eye gaze is not detected.
+     * This indicates that face detection was performed and not an eye gaze is detected.
      */
     GazeNotDetected = 8,
+    /**
+     * This indicates that face detection was performed and a person is detected.
+     */
+    PersonDetected = 16,
+    /**
+     * This indicates that face detection was performed and not an person is detected.
+     */
+    PersonNotDetected = 32,
 }
diff --git a/camera/aon/aidl/vendor/qti/hardware/camera/aon/FaceInfoProPerFace.aidl b/camera/aon/aidl/vendor/qti/hardware/camera/aon/FaceInfoProPerFace.aidl
index f9b97e7..07aa5a0 100644
--- a/camera/aon/aidl/vendor/qti/hardware/camera/aon/FaceInfoProPerFace.aidl
+++ b/camera/aon/aidl/vendor/qti/hardware/camera/aon/FaceInfoProPerFace.aidl
@@ -1,11 +1,12 @@
 /*
- * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ * Copyright (c) 2023-2024 Qualcomm Innovation Center, Inc. All rights reserved.
  * SPDX-License-Identifier: BSD-3-Clause-Clear
  */
 
 package vendor.qti.hardware.camera.aon;
 
 import vendor.qti.hardware.camera.aon.FacePosType;
+import vendor.qti.hardware.camera.aon.PersonInfoType;
 
 /**
  * The information per face passed from the event of FaceDetectPro service type
@@ -42,4 +43,14 @@
      * is set to 1 by client in RegisterClient.
      */
     boolean isGazeDetected;
+    /**
+     * Whether an face is detected
+     * This is required to be checked to know if this FaceInfoProPerFace result
+     * contains person info only or both personInfo with valid face info
+     */
+    boolean isFaceDetected;
+    /**
+     * PersonInfo of the ROI which will always be valid
+     */
+    @nullable PersonInfoType personInfo;
 }
diff --git a/camera/aon/aidl/vendor/qti/hardware/camera/aon/PersonInfoType.aidl b/camera/aon/aidl/vendor/qti/hardware/camera/aon/PersonInfoType.aidl
new file mode 100644
index 0000000..4785f2e
--- /dev/null
+++ b/camera/aon/aidl/vendor/qti/hardware/camera/aon/PersonInfoType.aidl
@@ -0,0 +1,25 @@
+/*
+ * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+ */
+
+package vendor.qti.hardware.camera.aon;
+import vendor.qti.hardware.camera.aon.CameraRectangle;
+
+/**
+ * The information passed from the event of FaceDetectPro service type
+ */
+@VintfStability
+parcelable PersonInfoType {
+    /**
+     * Confidence value of this person info 
+     */
+    int confidence;
+    /**
+     * Bounding box of person info
+     * It is relative to the frame dimension height (exposed in FaceInfoPro)
+     * It can be negative (e.g. a facial part can be estimated to be outside of the
+     * frame boundary)
+     */
+    CameraRectangle rect;
+}
diff --git a/camera/aon/aidl/vendor/qti/hardware/camera/aon/QRDetectionResult.aidl b/camera/aon/aidl/vendor/qti/hardware/camera/aon/QRDetectionResult.aidl
new file mode 100644
index 0000000..3444565
--- /dev/null
+++ b/camera/aon/aidl/vendor/qti/hardware/camera/aon/QRDetectionResult.aidl
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+ */
+
+package vendor.qti.hardware.camera.aon;
+import vendor.qti.hardware.camera.aon.QRDetectionResultType;
+import vendor.qti.hardware.camera.aon.CameraRectangle;
+
+/**
+ * The information per QRDetectionResult passed from the event of QRC service type
+ */
+@VintfStability
+parcelable QRDetectionResult {
+    int confidence;
+    /**
+     * The frame dimension where ROI Coordinates will be based on
+     */
+    int dimWidth;
+    int dimHeight;
+
+    /**
+     * The detected QRC result's bounding box and coordinate
+     */
+    CameraRectangle rect;
+
+    /**
+     * The detected result type can be QRCode, BarCode or TikTok 
+     */
+    QRDetectionResultType resultType; 
+}
diff --git a/camera/aon/aidl/vendor/qti/hardware/camera/aon/QRDetectionResultType.aidl b/camera/aon/aidl/vendor/qti/hardware/camera/aon/QRDetectionResultType.aidl
new file mode 100644
index 0000000..e820bfc
--- /dev/null
+++ b/camera/aon/aidl/vendor/qti/hardware/camera/aon/QRDetectionResultType.aidl
@@ -0,0 +1,26 @@
+/*
+ * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+ */
+
+package vendor.qti.hardware.camera.aon;
+
+/**
+ * The QRC detection result type enum
+ */
+@VintfStability
+@Backing(type="int")
+enum QRDetectionResultType {
+    /**
+     * QRC service detected result type is QRCode
+     */
+    QRCode = 0,
+    /**
+     * QRC service detected result type is BarCode
+     */
+    BarCode = 1,
+    /**
+     * QRC service detected result type is TikTok 
+     */
+    TikTok = 2,
+}
diff --git a/camera/aon/aidl/vendor/qti/hardware/camera/aon/QREvtInfo.aidl b/camera/aon/aidl/vendor/qti/hardware/camera/aon/QREvtInfo.aidl
index 5c065ae..02f865a 100644
--- a/camera/aon/aidl/vendor/qti/hardware/camera/aon/QREvtInfo.aidl
+++ b/camera/aon/aidl/vendor/qti/hardware/camera/aon/QREvtInfo.aidl
@@ -1,9 +1,10 @@
 /*
- * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ * Copyright (c) 2023-2024 Qualcomm Innovation Center, Inc. All rights reserved.
  * SPDX-License-Identifier: BSD-3-Clause-Clear
  */
 
 package vendor.qti.hardware.camera.aon;
+import vendor.qti.hardware.camera.aon.QRDetectionResult;
 
 /**
  * The event information for QRCode AONServiceType
@@ -14,4 +15,9 @@
      * Bit Mask to indicate the QREvtTypes of this event.
      */
     int qrEvtTypeMask;
+
+    /**
+     * An vector of the QRDetectionResult information
+     */
+    @nullable QRDetectionResult[] perQRDetectionResult;
 }
diff --git a/camera/aon/aidl/vendor/qti/hardware/camera/aon/QREvtType.aidl b/camera/aon/aidl/vendor/qti/hardware/camera/aon/QREvtType.aidl
index 2906c99..70f1194 100644
--- a/camera/aon/aidl/vendor/qti/hardware/camera/aon/QREvtType.aidl
+++ b/camera/aon/aidl/vendor/qti/hardware/camera/aon/QREvtType.aidl
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ * Copyright (c) 2023-2024 Qualcomm Innovation Center, Inc. All rights reserved.
  * SPDX-License-Identifier: BSD-3-Clause-Clear
  */
 
@@ -22,4 +22,24 @@
      * This indicates that QRCode detection was performed and a QRCode is not detected.
      */
     QRCodeNotDetected = 2,
+
+    /**
+     * This indicates that Barcode detection was performed and a Barcode is detected.
+     */
+    BarCodeDetected = 4,
+
+    /**
+     * This indicates that Barcode detection was performed and a Barcode is not detected.
+     */
+    BarCodeNotDetected = 8,
+
+    /**
+     * This indicates that Tiktok detection was performed and a Tiktok code is detected.
+     */
+    TikTokCodeDetected = 16,
+
+    /**
+     * This indicates that Tiktok detection was performed and a Tiktok is not detected.
+     */
+    TikTokCodeNotDetected = 32,
 }