return 0;
 }
 
+static int rtw89_pci_autok_x(struct rtw89_dev *rtwdev)
+{
+       int ret;
+
+       if (rtwdev->chip->chip_id != RTL8852B)
+               return 0;
+
+       ret = rtw89_write16_mdio_mask(rtwdev, RAC_REG_FLD_0, BAC_AUTOK_N_MASK,
+                                     PCIE_AUTOK_4, PCIE_PHY_GEN1);
+       return ret;
+}
+
 static int rtw89_pci_auto_refclk_cal(struct rtw89_dev *rtwdev, bool autook_en)
 {
        enum rtw89_pcie_phy phy_rate;
        rtw89_pci_hci_ldo(rtwdev);
        rtw89_pci_dphy_delay(rtwdev);
 
+       ret = rtw89_pci_autok_x(rtwdev);
+       if (ret) {
+               rtw89_err(rtwdev, "[ERR] pcie autok_x fail %d\n", ret);
+               return ret;
+       }
+
        ret = rtw89_pci_auto_refclk_cal(rtwdev, false);
        if (ret) {
                rtw89_err(rtwdev, "[ERR] pcie autok fail %d\n", ret);
 
 #define PCIE_DPHY_DLY_25US             0x1
 #define RAC_ANA19                      0x19
 #define B_PCIE_BIT_RD_SEL              BIT(2)
+#define RAC_REG_FLD_0                  0x1D
+#define BAC_AUTOK_N_MASK               GENMASK(3, 2)
+#define PCIE_AUTOK_4                   0x3
 #define RAC_ANA1F                      0x1F
 #define RAC_ANA24                      0x24
 #define B_AX_DEGLITCH                  GENMASK(11, 8)