diff --git a/qspa/aidl/Android.bp b/qspa/aidl/Android.bp
new file mode 100644
index 0000000..f1ed400
--- /dev/null
+++ b/qspa/aidl/Android.bp
@@ -0,0 +1,26 @@
+aidl_interface {
+    name: "vendor.qti.hardware.qspa",
+    srcs: ["vendor/qti/hardware/qspa/*.aidl"],
+    product_available: true,
+    vendor_available: true,
+    stability: "vintf",
+    owner: "qti",
+    backend: {
+        java: {
+            sdk_version: "module_current",
+        },
+        cpp: {
+            enabled: true,
+        },
+        ndk: {
+            enabled: true,
+        },
+    },
+    versions_with_info: [
+        {
+            version: "1",
+            imports: [],
+        },
+    ],
+
+}
diff --git a/qspa/aidl/aidl_api/vendor.qti.hardware.qspa/1/.hash b/qspa/aidl/aidl_api/vendor.qti.hardware.qspa/1/.hash
new file mode 100644
index 0000000..b5eff54
--- /dev/null
+++ b/qspa/aidl/aidl_api/vendor.qti.hardware.qspa/1/.hash
@@ -0,0 +1 @@
+055ea9bd589c64146a79c6f88a8fe593c9491441
diff --git a/qspa/aidl/aidl_api/vendor.qti.hardware.qspa/1/vendor/qti/hardware/qspa/IQspa.aidl b/qspa/aidl/aidl_api/vendor.qti.hardware.qspa/1/vendor/qti/hardware/qspa/IQspa.aidl
new file mode 100644
index 0000000..bdb3704
--- /dev/null
+++ b/qspa/aidl/aidl_api/vendor.qti.hardware.qspa/1/vendor/qti/hardware/qspa/IQspa.aidl
@@ -0,0 +1,33 @@
+/*
+ *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.qspa;
+@VintfStability
+interface IQspa {
+  vendor.qti.hardware.qspa.PartInfo[] get_all_subparts();
+  String[] get_available_parts();
+  int[] get_subpart_info(in String part);
+  int get_num_available_cpus();
+  int get_num_available_clusters();
+  int get_num_physical_clusters();
+  int[] get_cpus_of_physical_clusters(in int physical_cluster_number);
+}
diff --git a/qspa/aidl/aidl_api/vendor.qti.hardware.qspa/1/vendor/qti/hardware/qspa/PartInfo.aidl b/qspa/aidl/aidl_api/vendor.qti.hardware.qspa/1/vendor/qti/hardware/qspa/PartInfo.aidl
new file mode 100644
index 0000000..e066cb4
--- /dev/null
+++ b/qspa/aidl/aidl_api/vendor.qti.hardware.qspa/1/vendor/qti/hardware/qspa/PartInfo.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.qspa;
+@VintfStability
+parcelable PartInfo {
+  String part;
+  int[] subpart_data;
+}
diff --git a/qspa/aidl/aidl_api/vendor.qti.hardware.qspa/current/vendor/qti/hardware/qspa/IQspa.aidl b/qspa/aidl/aidl_api/vendor.qti.hardware.qspa/current/vendor/qti/hardware/qspa/IQspa.aidl
new file mode 100644
index 0000000..bdb3704
--- /dev/null
+++ b/qspa/aidl/aidl_api/vendor.qti.hardware.qspa/current/vendor/qti/hardware/qspa/IQspa.aidl
@@ -0,0 +1,33 @@
+/*
+ *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.qspa;
+@VintfStability
+interface IQspa {
+  vendor.qti.hardware.qspa.PartInfo[] get_all_subparts();
+  String[] get_available_parts();
+  int[] get_subpart_info(in String part);
+  int get_num_available_cpus();
+  int get_num_available_clusters();
+  int get_num_physical_clusters();
+  int[] get_cpus_of_physical_clusters(in int physical_cluster_number);
+}
diff --git a/qspa/aidl/aidl_api/vendor.qti.hardware.qspa/current/vendor/qti/hardware/qspa/PartInfo.aidl b/qspa/aidl/aidl_api/vendor.qti.hardware.qspa/current/vendor/qti/hardware/qspa/PartInfo.aidl
new file mode 100644
index 0000000..e066cb4
--- /dev/null
+++ b/qspa/aidl/aidl_api/vendor.qti.hardware.qspa/current/vendor/qti/hardware/qspa/PartInfo.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.qspa;
+@VintfStability
+parcelable PartInfo {
+  String part;
+  int[] subpart_data;
+}
diff --git a/qspa/aidl/vendor/qti/hardware/qspa/IQspa.aidl b/qspa/aidl/vendor/qti/hardware/qspa/IQspa.aidl
new file mode 100644
index 0000000..0538f9c
--- /dev/null
+++ b/qspa/aidl/vendor/qti/hardware/qspa/IQspa.aidl
@@ -0,0 +1,20 @@
+/*
+ *Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ *SPDX-License-Identifier: BSD-3-Clause-Clear
+*/
+
+
+package vendor.qti.hardware.qspa;
+import vendor.qti.hardware.qspa.PartInfo;
+@VintfStability
+interface IQspa {
+
+PartInfo[] get_all_subparts();
+String[] get_available_parts();
+int[] get_subpart_info(in String part);
+int get_num_available_cpus();
+int get_num_available_clusters();
+int get_num_physical_clusters();
+int[] get_cpus_of_physical_clusters(in int physical_cluster_number);
+
+}
\ No newline at end of file
diff --git a/qspa/aidl/vendor/qti/hardware/qspa/PartInfo.aidl b/qspa/aidl/vendor/qti/hardware/qspa/PartInfo.aidl
new file mode 100644
index 0000000..2416fee
--- /dev/null
+++ b/qspa/aidl/vendor/qti/hardware/qspa/PartInfo.aidl
@@ -0,0 +1,13 @@
+/*
+ *Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ *SPDX-License-Identifier: BSD-3-Clause-Clear
+*/
+
+package vendor.qti.hardware.qspa;
+@VintfStability
+parcelable PartInfo {
+
+String part;
+int[] subpart_data;
+
+}
