sizeof(data), true);
 }
 
+static int mt7615_mcu_cal_cache_apply(struct mt7615_dev *dev)
+{
+       struct {
+               bool cache_enable;
+               u8 pad[3];
+       } data = {
+               .cache_enable = true
+       };
+
+       return mt76_mcu_send_msg(&dev->mt76, MCU_EXT_CMD_CAL_CACHE, &data,
+                                sizeof(data), false);
+}
+
 static int mt7663_load_n9(struct mt7615_dev *dev, const char *name)
 {
        u32 offset = 0, override_addr = 0, flag = FW_START_DLYCAL;
        mt76_queue_tx_cleanup(dev, dev->mt76.q_mcu[MT_MCUQ_FWDL], false);
        dev_dbg(dev->mt76.dev, "Firmware init done\n");
        set_bit(MT76_STATE_MCU_RUNNING, &dev->mphy.state);
-       mt7615_mcu_fw_log_2_host(dev, 0);
 
-       return 0;
+       if (dev->dbdc_support) {
+               ret = mt7615_mcu_cal_cache_apply(dev);
+               if (ret)
+                       return ret;
+       }
+
+       return mt7615_mcu_fw_log_2_host(dev, 0);
 }
 EXPORT_SYMBOL_GPL(mt7615_mcu_init);
 
 
        MCU_EXT_CMD_TX_POWER_FEATURE_CTRL = 0x58,
        MCU_EXT_CMD_RXDCOC_CAL = 0x59,
        MCU_EXT_CMD_TXDPD_CAL = 0x60,
+       MCU_EXT_CMD_CAL_CACHE = 0x67,
        MCU_EXT_CMD_SET_RDD_TH = 0x7c,
        MCU_EXT_CMD_SET_RDD_PATTERN = 0x7d,
 };