diff --git a/private/system_server.te b/private/system_server.te
index 6537233cdb6bdc259053c01a3ffcb338e3d724d6..925c82d8d39a02e2f57cfb837aa63e3cfa8d8e6f 100644
--- a/private/system_server.te
+++ b/private/system_server.te
@@ -192,6 +192,7 @@ hal_client_domain(system_server, hal_tv_input)
 hal_client_domain(system_server, hal_usb)
 hal_client_domain(system_server, hal_vibrator)
 hal_client_domain(system_server, hal_vr)
+hal_client_domain(system_server, hal_weaver)
 hal_client_domain(system_server, hal_wifi)
 hal_client_domain(system_server, hal_wifi_supplicant)
 
diff --git a/public/attributes b/public/attributes
index 6981d50a1c383751e1943a9501c1fc39fc24c761..37f6ac2237d18d4b7688a6464d73af226de1037c 100644
--- a/public/attributes
+++ b/public/attributes
@@ -262,6 +262,9 @@ attribute hal_vibrator_server;
 attribute hal_vr;
 attribute hal_vr_client;
 attribute hal_vr_server;
+attribute hal_weaver;
+attribute hal_weaver_client;
+attribute hal_weaver_server;
 attribute hal_wifi;
 attribute hal_wifi_client;
 attribute hal_wifi_server;
diff --git a/public/hal_weaver.te b/public/hal_weaver.te
new file mode 100644
index 0000000000000000000000000000000000000000..1910cf12bcb984c3ca4db160d9d6669236120801
--- /dev/null
+++ b/public/hal_weaver.te
@@ -0,0 +1,2 @@
+# HwBinder IPC from client to server
+# binder_call(hal_weaver_client, hal_weaver_server)