diff --git a/system/bta/dm/bta_dm_act.cc b/system/bta/dm/bta_dm_act.cc
index 3f5dec8bed82c02223c4e9f61132c3657099defd..b02b9b32d0401a3ae80bf9bd4617f8802de8d7ff 100644
--- a/system/bta/dm/bta_dm_act.cc
+++ b/system/bta/dm/bta_dm_act.cc
@@ -4105,6 +4105,20 @@ void bta_dm_le_rand(LeRandCallback cb) {
   bluetooth::shim::BTM_LeRand(cb);
 }
 
+/*******************************************************************************
+ *
+ * Function        BTA_DmAllowWakeByHid
+ *
+ * Description    Allow the device to be woken by HID devices
+ *
+ * Parameters
+ *
+ *******************************************************************************/
+void bta_dm_allow_wake_by_hid() {
+  // Autoplumbed
+  bluetooth::shim::BTM_AllowWakeByHid();
+}
+
 /*******************************************************************************
  *
  * Function        BTA_DmRestoreFilterAcceptList
diff --git a/system/bta/dm/bta_dm_api.cc b/system/bta/dm/bta_dm_api.cc
index 25d72841d1cac076706f4d2ad3262d6844997d17..bab66eeedb5392dcf954fc36e7cdf07a7a122fb4 100644
--- a/system/bta/dm/bta_dm_api.cc
+++ b/system/bta/dm/bta_dm_api.cc
@@ -690,6 +690,11 @@ void BTA_DmLeRand(LeRandCallback cb) {
   do_in_main_thread(FROM_HERE, base::Bind(bta_dm_le_rand, cb));
 }
 
+void BTA_DmAllowWakeByHid() {
+  APPL_TRACE_API("BTA_DmAllowWakeByHid");
+  do_in_main_thread(FROM_HERE, base::Bind(bta_dm_allow_wake_by_hid));
+}
+
 void BTA_DmRestoreFilterAcceptList() {
   APPL_TRACE_API("BTA_DmRestoreFilterAcceptList");
   do_in_main_thread(FROM_HERE, base::Bind(bta_dm_restore_filter_accept_list));
diff --git a/system/bta/dm/bta_dm_int.h b/system/bta/dm/bta_dm_int.h
index 0d868bb3628b2de9d4b0bc94fde3bcaa17842a0b..1280491637d3854ec98c29618e72ca960fa301a0 100644
--- a/system/bta/dm/bta_dm_int.h
+++ b/system/bta/dm/bta_dm_int.h
@@ -546,6 +546,7 @@ extern void bta_dm_clear_event_mask(void);
 extern void bta_dm_clear_filter_accept_list(void);
 extern void bta_dm_disconnect_all_acls(void);
 extern void bta_dm_le_rand(LeRandCallback cb);
+extern void bta_dm_allow_wake_by_hid();
 extern void bta_dm_restore_filter_accept_list();
 extern void bta_dm_set_default_event_mask();
 extern void bta_dm_set_event_filter_inquiry_result_all_devices();
diff --git a/system/bta/include/bta_api.h b/system/bta/include/bta_api.h
index d6b0f75146ce1c249a57b93eb41ba590d27d5c9f..d5be0a27f68d7c1c2b63469a54f47531d83b2a8c 100644
--- a/system/bta/include/bta_api.h
+++ b/system/bta/include/bta_api.h
@@ -1223,6 +1223,17 @@ using LeRandCallback = base::Callback<void(uint64_t)>;
  ******************************************************************************/
 extern void BTA_DmLeRand(LeRandCallback cb);
 
+/*******************************************************************************
+ *
+ * Function        BTA_DmAllowWakeByHid
+ *
+ * Description    Allow the device to be woken by HID devices
+ *
+ * Parameters
+ *
+ *******************************************************************************/
+extern void BTA_DmAllowWakeByHid();
+
 /*******************************************************************************
  *
  * Function        BTA_DmRestoreFilterAcceptList