FW_RF_MAX_TYPE = 0xF,
 };
 
+enum rtw_fw_feature {
+       FW_FEATURE_SIG = BIT(0),
+       FW_FEATURE_LPS_C2H = BIT(1),
+       FW_FEATURE_LCLK = BIT(2),
+       FW_FEATURE_PG = BIT(3),
+       FW_FEATURE_MAX = BIT(31),
+};
+
 struct rtw_coex_info_req {
        u8 seq;
        u8 op_code;
        u8 subversion;
        u8 subindex;
        __le32 rsvd;            /* 0x08 */
-       __le32 rsvd2;           /* 0x0C */
+       __le32 feature;         /* 0x0C */
        u8 month;               /* 0x10 */
        u8 day;
        u8 hour;
 
        kfree(hw->wiphy->bands[NL80211_BAND_5GHZ]);
 }
 
+static void __update_firmware_feature(struct rtw_dev *rtwdev,
+                                     struct rtw_fw_state *fw)
+{
+       u32 feature;
+       const struct rtw_fw_hdr *fw_hdr =
+                               (const struct rtw_fw_hdr *)fw->firmware->data;
+
+       feature = le32_to_cpu(fw_hdr->feature);
+       fw->feature = feature & FW_FEATURE_SIG ? feature : 0;
+}
+
 static void __update_firmware_info(struct rtw_dev *rtwdev,
                                   struct rtw_fw_state *fw)
 {
        fw->version = le16_to_cpu(fw_hdr->version);
        fw->sub_version = fw_hdr->subversion;
        fw->sub_index = fw_hdr->subindex;
+
+       __update_firmware_feature(rtwdev, fw);
 }
 
 static void __update_firmware_info_legacy(struct rtw_dev *rtwdev,