Adding qspa interfaces

Change-Id: I9d7b781cd61bb03d2dc2e03c9953a2dea24a4462
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;
+
+}