#define MRVL_VENDOR_PKT                        0xFE
 
 /* Vendor specific Bluetooth commands */
+#define BT_CMD_PSCAN_WIN_REPORT_ENABLE 0xFC03
 #define BT_CMD_AUTO_SLEEP_MODE         0xFC23
 #define BT_CMD_HOST_SLEEP_CONFIG       0xFC59
 #define BT_CMD_HOST_SLEEP_ENABLE       0xFC5A
 
 }
 EXPORT_SYMBOL_GPL(btmrvl_send_module_cfg_cmd);
 
+int btmrvl_pscan_window_reporting(struct btmrvl_private *priv, u8 subcmd)
+{
+       struct btmrvl_sdio_card *card = priv->btmrvl_dev.card;
+       int ret;
+
+       if (!card->support_pscan_win_report)
+               return 0;
+
+       ret = btmrvl_send_sync_cmd(priv, BT_CMD_PSCAN_WIN_REPORT_ENABLE,
+                                  &subcmd, 1);
+       if (ret)
+               BT_ERR("PSCAN_WIN_REPORT_ENABLE command failed: %#x", ret);
+
+       return ret;
+}
+EXPORT_SYMBOL_GPL(btmrvl_pscan_window_reporting);
+
 int btmrvl_send_hscfg_cmd(struct btmrvl_private *priv)
 {
        int ret;
 
        btmrvl_cal_data_dt(priv);
 
+       btmrvl_pscan_window_reporting(priv, 0x01);
+
        priv->btmrvl_dev.psmode = 1;
        btmrvl_enable_ps(priv);
 
 
        .helper         = "mrvl/sd8688_helper.bin",
        .firmware       = "mrvl/sd8688.bin",
        .reg            = &btmrvl_reg_8688,
+       .support_pscan_win_report = false,
        .sd_blksz_fw_dl = 64,
 };
 
        .helper         = NULL,
        .firmware       = "mrvl/sd8787_uapsta.bin",
        .reg            = &btmrvl_reg_87xx,
+       .support_pscan_win_report = false,
        .sd_blksz_fw_dl = 256,
 };
 
        .helper         = NULL,
        .firmware       = "mrvl/sd8797_uapsta.bin",
        .reg            = &btmrvl_reg_87xx,
+       .support_pscan_win_report = false,
        .sd_blksz_fw_dl = 256,
 };
 
        .helper         = NULL,
        .firmware       = "mrvl/sd8897_uapsta.bin",
        .reg            = &btmrvl_reg_88xx,
+       .support_pscan_win_report = true,
        .sd_blksz_fw_dl = 256,
 };
 
                card->firmware = data->firmware;
                card->reg = data->reg;
                card->sd_blksz_fw_dl = data->sd_blksz_fw_dl;
+               card->support_pscan_win_report = data->support_pscan_win_report;
        }
 
        if (btmrvl_sdio_register_dev(card) < 0) {
 
        const char *helper;
        const char *firmware;
        const struct btmrvl_sdio_card_reg *reg;
+       bool support_pscan_win_report;
        u16 sd_blksz_fw_dl;
        u8 rx_unit;
        struct btmrvl_private *priv;
        const char *helper;
        const char *firmware;
        const struct btmrvl_sdio_card_reg *reg;
+       const bool support_pscan_win_report;
        u16 sd_blksz_fw_dl;
 };