diff --git a/include/hardware_legacy/wifi_hal.h b/include/hardware_legacy/wifi_hal.h
index 734e244..4e85aac 100644
--- a/include/hardware_legacy/wifi_hal.h
+++ b/include/hardware_legacy/wifi_hal.h
@@ -119,6 +119,7 @@
 #define WIFI_FEATURE_CONTROL_ROAMING    0x800000    // Enable/Disable firmware roaming
 #define WIFI_FEATURE_IE_WHITELIST       0x1000000   // Support Probe IE white listing
 #define WIFI_FEATURE_SCAN_RAND          0x2000000   // Support MAC & Probe Sequence Number randomization
+#define WIFI_FEATURE_SET_TX_POWER_LIMIT 0x4000000   // Support Tx Power Limit setting
 // Add more features here
 
 
@@ -160,6 +161,8 @@
 wifi_error wifi_reset_iface_event_handler(wifi_request_id id, wifi_interface_handle iface);
 
 wifi_error wifi_set_nodfs_flag(wifi_interface_handle handle, u32 nodfs);
+wifi_error wifi_set_tx_power_limit(wifi_interface_handle handle, u32 tx_level_dbm);
+wifi_error wifi_reset_tx_power_limit(wifi_interface_handle handle);
 
 typedef struct rx_data_cnt_details_t {
     int rx_unicast_cnt;     /*Total rx unicast packet which woke up host */
@@ -208,8 +211,6 @@
     RX_MULTICAST_WAKE_DATA_CNT rx_multicast_wake_pkt_info;
 } WLAN_DRIVER_WAKE_REASON_CNT;
 
-
-
 /* include various feature headers */
 
 #include "gscan.h"
@@ -379,6 +380,8 @@
     wifi_error (*wifi_nan_data_end)(transaction_id id,
                                     wifi_interface_handle iface,
                                     NanDataPathEndRequest *msg);
+    wifi_error (*wifi_set_tx_power_limit)(wifi_interface_handle iface, u32 tx_level_dbm);
+    wifi_error (*wifi_reset_tx_power_limit)(wifi_interface_handle iface);
 
     /**
      * Returns the chipset's hardware filtering capabilities:
