diff --git a/Android.bp b/Android.bp
index aec7338..7aef46b 100644
--- a/Android.bp
+++ b/Android.bp
@@ -1,66 +1,3 @@
 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",
-}
-
-hidl_package_root {
-    name: "vendor.qti.hardware.capabilityconfigstore",
-    path: "vendor/qcom/opensource/interfaces/capabilityconfigstore",
-}
-
-hidl_package_root {
-    name: "vendor.qti.hardware.display",
-    path: "vendor/qcom/opensource/interfaces/display",
-}
-
-hidl_package_root {
-    name: "vendor.qti.hardware.perf",
-    path: "vendor/qcom/opensource/interfaces/perf",
-}
-
-hidl_package_root {
-    name: "vendor.qti.hardware.wifi",
-    path: "vendor/qcom/opensource/interfaces/wifi",
-}
-
-hidl_package_root {
-    name: "vendor.display",
-    path: "vendor/qcom/opensource/interfaces/display",
-}
-
-hidl_package_root {
-    name: "vendor.qti.hardware.servicetracker",
-    path: "vendor/qcom/opensource/interfaces/servicetracker",
-}
-
-hidl_package_root {
-    name: "vendor.qti.hardware.bluetooth_audio",
-    path: "vendor/qcom/opensource/interfaces/bluetooth_audio",
-}
-hidl_package_root {
-    name: "vendor.qti.hardware.systemhelper",
-    path: "vendor/qcom/opensource/interfaces/systemhelper",
-}
-
-hidl_package_root {
-    name: "vendor.qti.hardware.bluetooth_dun",
-    path: "vendor/qcom/opensource/interfaces/bluetooth_dun",
-}
-
-hidl_package_root {
-    name: "vendor.qti.hardware.fstman",
-    path: "vendor/qcom/opensource/interfaces/fstman",
-}
-hidl_package_root {
-    name:"vendor.qti.hardware.debugutils",
-    path:"vendor/qcom/opensource/interfaces/debugutils"
-}
diff --git a/bluetooth_audio/Android.bp b/bluetooth_audio/Android.bp
new file mode 100644
index 0000000..1ad26f1
--- /dev/null
+++ b/bluetooth_audio/Android.bp
@@ -0,0 +1,4 @@
+hidl_package_root {
+    name: "vendor.qti.hardware.bluetooth_audio",
+    use_current: true,
+}
diff --git a/bluetooth_dun/Android.bp b/bluetooth_dun/Android.bp
new file mode 100644
index 0000000..3dee575
--- /dev/null
+++ b/bluetooth_dun/Android.bp
@@ -0,0 +1,4 @@
+hidl_package_root {
+    name: "vendor.qti.hardware.bluetooth_dun",
+    use_current: true,
+}
diff --git a/camera/Android.bp b/camera/Android.bp
new file mode 100644
index 0000000..d7cafff
--- /dev/null
+++ b/camera/Android.bp
@@ -0,0 +1,4 @@
+hidl_package_root {
+    name: "vendor.qti.hardware.camera",
+    use_current: true,
+}
diff --git a/debugutils/Android.bp b/debugutils/Android.bp
new file mode 100644
index 0000000..5a1386e
--- /dev/null
+++ b/debugutils/Android.bp
@@ -0,0 +1,4 @@
+hidl_package_root {
+    name: "vendor.qti.hardware.debugutils",
+    use_current: true,
+}
diff --git a/display/Android.bp b/display/Android.bp
new file mode 100644
index 0000000..72b9cb9
--- /dev/null
+++ b/display/Android.bp
@@ -0,0 +1,9 @@
+hidl_package_root {
+    name: "vendor.qti.hardware.display",
+    use_current: true,
+}
+
+hidl_package_root {
+    name: "vendor.display",
+    use_current: true,
+}
diff --git a/fstman/Android.bp b/fstman/Android.bp
new file mode 100644
index 0000000..8a89f0f
--- /dev/null
+++ b/fstman/Android.bp
@@ -0,0 +1,4 @@
+hidl_package_root {
+    name: "vendor.qti.hardware.fstman",
+    use_current: true,
+}
diff --git a/servicetracker/Android.bp b/servicetracker/Android.bp
new file mode 100644
index 0000000..0519361
--- /dev/null
+++ b/servicetracker/Android.bp
@@ -0,0 +1,4 @@
+hidl_package_root {
+    name: "vendor.qti.hardware.servicetracker",
+    use_current: true,
+}
diff --git a/systemhelper/Android.bp b/systemhelper/Android.bp
new file mode 100644
index 0000000..19c539c
--- /dev/null
+++ b/systemhelper/Android.bp
@@ -0,0 +1,4 @@
+hidl_package_root {
+    name: "vendor.qti.hardware.systemhelper",
+    use_current: true,
+}
diff --git a/umd/1.0/Android.bp b/umd/1.0/Android.bp
new file mode 100644
index 0000000..0347769
--- /dev/null
+++ b/umd/1.0/Android.bp
@@ -0,0 +1,17 @@
+// This file is autogenerated by hidl-gen -Landroidbp.
+
+hidl_interface {
+    name: "vendor.qti.hardware.umd@1.0",
+    root: "vendor.qti.hardware.umd",
+    product_specific: true,
+    srcs: [
+        "types.hal",
+        "IUMDAdaptor.hal",
+        "IUMDAdaptorCallback.hal",
+    ],
+    interfaces: [
+        "android.hidl.base@1.0",
+    ],
+    gen_java: true,
+}
+
diff --git a/umd/1.0/IUMDAdaptor.hal b/umd/1.0/IUMDAdaptor.hal
new file mode 100644
index 0000000..d452af7
--- /dev/null
+++ b/umd/1.0/IUMDAdaptor.hal
@@ -0,0 +1,17 @@
+/*
+ * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+ */
+
+package vendor.qti.hardware.umd@1.0;
+
+import IUMDAdaptorCallback;
+
+interface IUMDAdaptor {
+  initUVC() generates (int32_t result);
+  deInitUVC();
+  initUAC(IUMDAdaptorCallback callback) generates (int32_t result);
+  deInitUAC();
+  submitAudioBuffer(vec<uint8_t> data) generates (int32_t result);
+  setAudioBufferSize(uint64_t size);
+};
\ No newline at end of file
diff --git a/umd/1.0/IUMDAdaptorCallback.hal b/umd/1.0/IUMDAdaptorCallback.hal
new file mode 100644
index 0000000..e6d53f7
--- /dev/null
+++ b/umd/1.0/IUMDAdaptorCallback.hal
@@ -0,0 +1,11 @@
+/*
+ * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+ */
+
+package vendor.qti.hardware.umd@1.0;
+
+interface IUMDAdaptorCallback {
+  onAudioBufferReceive(vec<uint8_t> data) generates (int32_t result);
+  onAudioUevent(AudioStatus status);
+};
\ No newline at end of file
diff --git a/umd/1.0/types.hal b/umd/1.0/types.hal
new file mode 100644
index 0000000..8407e89
--- /dev/null
+++ b/umd/1.0/types.hal
@@ -0,0 +1,14 @@
+/*
+ * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear
+ */
+
+package vendor.qti.hardware.umd@1.0;
+
+enum AudioStatus : int32_t {
+  AUDIO_STATE_INVALID,
+  AUDIO_STATE_PLAYBACK,
+  AUDIO_STATE_CAPTURE,
+  AUDIO_STATE_PLAYBACK_CAPTURE,
+  AUDIO_STATE_PAUSED
+};
\ No newline at end of file
diff --git a/umd/Android.bp b/umd/Android.bp
new file mode 100644
index 0000000..026474d
--- /dev/null
+++ b/umd/Android.bp
@@ -0,0 +1,4 @@
+hidl_package_root {
+    name: "vendor.qti.hardware.umd",
+    use_current: true,
+}
diff --git a/umd/current.txt b/umd/current.txt
new file mode 100644
index 0000000..57a8e88
--- /dev/null
+++ b/umd/current.txt
@@ -0,0 +1,7 @@
+#Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
+#SPDX-License-Identifier: BSD-3-Clause-Clear
+
+#HAL released in Android Q
+0ea54fffbc009eb09ad8eb56832f97192fcc49551672b7d4e1c60f5baf5f496b vendor.qti.hardware.umd@1.0::types
+28265d6a58d414bc244d0b0e93b88660b2f9bf12da48361a2f54d54120fb2e96 vendor.qti.hardware.umd@1.0::IUMDAdaptor
+ad5906c3bcf8b4ced9f51e804ba345f2c0831217ac45188f11057507e7dbd692 vendor.qti.hardware.umd@1.0::IUMDAdaptorCallback
diff --git a/wifi/Android.bp b/wifi/Android.bp
new file mode 100644
index 0000000..3bd94af
--- /dev/null
+++ b/wifi/Android.bp
@@ -0,0 +1,4 @@
+hidl_package_root {
+    name: "vendor.qti.hardware.wifi",
+    use_current: true,
+}
