interfaces: Introduce vendor.qti.hardware.btconfigstore interfaces

 * Based on observing libbtconfigstore expectations.

Co-authored-by: Alexander Martinz <amartinz@shiftphones.com>
Co-authored-by: Volodymyr Zhdanov <wight554@gmail.com>
Change-Id: I8ce06f48f01aee437eb6cf801a03983edc5ddd85
diff --git a/Android.bp b/Android.bp
index 644bbca..6d420f1 100644
--- a/Android.bp
+++ b/Android.bp
@@ -1,6 +1,12 @@
 subdirs = [
     "*"
 ]
+
+hidl_package_root {
+    name: "vendor.qti.hardware.btconfigstore",
+    path: "vendor/qcom/opensource/interfaces/btconfigstore",
+}
+
 hidl_package_root {
     name: "vendor.qti.hardware.camera",
     path: "vendor/qcom/opensource/interfaces/camera",
diff --git a/btconfigstore/1.0/Android.bp b/btconfigstore/1.0/Android.bp
new file mode 100644
index 0000000..2c0f21f
--- /dev/null
+++ b/btconfigstore/1.0/Android.bp
@@ -0,0 +1,15 @@
+// This file is autogenerated by hidl-gen -Landroidbp.
+
+hidl_interface {
+    name: "vendor.qti.hardware.btconfigstore@1.0",
+    root: "vendor.qti.hardware.btconfigstore",
+    system_ext_specific: true,
+    srcs: [
+        "types.hal",
+        "IBTConfigStore.hal",
+    ],
+    interfaces: [
+        "android.hidl.base@1.0",
+    ],
+    gen_java: true,
+}
diff --git a/btconfigstore/1.0/IBTConfigStore.hal b/btconfigstore/1.0/IBTConfigStore.hal
new file mode 100644
index 0000000..b5711af
--- /dev/null
+++ b/btconfigstore/1.0/IBTConfigStore.hal
@@ -0,0 +1,7 @@
+package vendor.qti.hardware.btconfigstore@1.0;
+
+interface IBTConfigStore {
+    getVendorProperties(uint32_t prop) generates (Result result, vec<VendorProperty> vendorProperty);
+    setVendorProperty(VendorProperty vendorProperty) generates (Result result);
+    getAddOnFeatures() generates (Result result, AddOnFeaturesList featuresList);
+};
diff --git a/btconfigstore/1.0/types.hal b/btconfigstore/1.0/types.hal
new file mode 100644
index 0000000..8ad0281
--- /dev/null
+++ b/btconfigstore/1.0/types.hal
@@ -0,0 +1,18 @@
+package vendor.qti.hardware.btconfigstore@1.0;
+
+enum Result : int32_t {
+    SUCCESS,
+    UNKNOWN_ERROR,
+};
+
+struct VendorProperty {
+    uint32_t type;
+    string value;
+};
+
+struct AddOnFeaturesList {
+    uint16_t product_id;
+    uint16_t rsp_version;
+    uint8_t feat_mask_len;
+    uint8_t[8] features;
+};
diff --git a/btconfigstore/2.0/Android.bp b/btconfigstore/2.0/Android.bp
new file mode 100644
index 0000000..2dbca58
--- /dev/null
+++ b/btconfigstore/2.0/Android.bp
@@ -0,0 +1,15 @@
+// This file is autogenerated by hidl-gen -Landroidbp.
+
+hidl_interface {
+    name: "vendor.qti.hardware.btconfigstore@2.0",
+    root: "vendor.qti.hardware.btconfigstore",
+    system_ext_specific: true,
+    srcs: [
+        "types.hal",
+        "IBTConfigStore.hal",
+    ],
+    interfaces: [
+        "android.hidl.base@1.0",
+    ],
+    gen_java: true,
+}
diff --git a/btconfigstore/2.0/IBTConfigStore.hal b/btconfigstore/2.0/IBTConfigStore.hal
new file mode 100644
index 0000000..61c97ea
--- /dev/null
+++ b/btconfigstore/2.0/IBTConfigStore.hal
@@ -0,0 +1,8 @@
+package vendor.qti.hardware.btconfigstore@2.0;
+
+interface IBTConfigStore {
+    getVendorProperties(uint32_t prop) generates (Result result, vec<VendorProperty> vendorProperty);
+    setVendorProperty(VendorProperty vendorProperty) generates (Result result);
+    getControllerAddOnFeatures() generates (Result result, ControllerAddOnFeatures featuresList);
+    getHostAddOnFeatures() generates (Result result, HostAddOnFeatures featuresList);
+};
diff --git a/btconfigstore/2.0/types.hal b/btconfigstore/2.0/types.hal
new file mode 100644
index 0000000..23877f9
--- /dev/null
+++ b/btconfigstore/2.0/types.hal
@@ -0,0 +1,23 @@
+package vendor.qti.hardware.btconfigstore@2.0;
+
+enum Result : int32_t {
+    SUCCESS,
+    UNKNOWN_ERROR,
+};
+
+struct VendorProperty {
+    uint32_t type;
+    string value;
+};
+
+struct ControllerAddOnFeatures {
+    uint16_t product_id;
+    uint16_t rsp_version;
+    uint8_t feat_mask_len;
+    uint8_t[8] features;
+};
+
+struct HostAddOnFeatures {
+    uint8_t feat_mask_len;
+    uint8_t[8] features;
+};
diff --git a/btconfigstore/current.txt b/btconfigstore/current.txt
new file mode 100644
index 0000000..bd7dab1
--- /dev/null
+++ b/btconfigstore/current.txt
@@ -0,0 +1,4 @@
+b0d81417ddc5daf549ac2fb63db24a83b4fe2fae71cd38c76f7482d029dd338f vendor.qti.hardware.btconfigstore@1.0::types
+04a894025ae70cb5821de82289b1a13426583696a4d3bf99042d0a25b615c10a vendor.qti.hardware.btconfigstore@1.0::IBTConfigStore
+a307100d75a6a01b259f10a079c736b667cf485e2b35940e35eae965d42bb598 vendor.qti.hardware.btconfigstore@2.0::types
+27abd90a8a0e7b6473166247213d152cf413fa88db2e78826debb0a8864ffa57 vendor.qti.hardware.btconfigstore@2.0::IBTConfigStore