&drex1->directcmd);
                }
 
-               if (mem->read_leveling_enable) {
-                       /* Set Read DQ Calibration */
-                       val = (0x3 << DIRECT_CMD_BANK_SHIFT) | 0x4;
-                       for (chip = 0; chip < mem->chips_to_configure; chip++) {
-                               writel(val | (chip << DIRECT_CMD_CHIP_SHIFT),
-                                      &drex0->directcmd);
-                               writel(val | (chip << DIRECT_CMD_CHIP_SHIFT),
-                                      &drex1->directcmd);
-                       }
-
-                       val = readl(&phy0_ctrl->phy_con1);
-                       val |= READ_LEVELLING_DDR3;
-                       writel(val, &phy0_ctrl->phy_con1);
-                       val = readl(&phy1_ctrl->phy_con1);
-                       val |= READ_LEVELLING_DDR3;
-                       writel(val, &phy1_ctrl->phy_con1);
-
-                       val = readl(&phy0_ctrl->phy_con2);
-                       val |= (RDLVL_EN | RDLVL_INCR_ADJ);
-                       writel(val, &phy0_ctrl->phy_con2);
-                       val = readl(&phy1_ctrl->phy_con2);
-                       val |= (RDLVL_EN | RDLVL_INCR_ADJ);
-                       writel(val, &phy1_ctrl->phy_con2);
-
-                       setbits_le32(&drex0->rdlvl_config,
-                                    CTRL_RDLVL_DATA_ENABLE);
-                       i = TIMEOUT;
-                       while (((readl(&drex0->phystatus) & RDLVL_COMPLETE_CHO)
-                                != RDLVL_COMPLETE_CHO) && (i > 0)) {
-                               /*
-                                * TODO(waihong): Comment on how long this take
-                                * to timeout
-                                */
-                               sdelay(100);
-                               i--;
-                       }
-                       if (!i)
-                               return SETUP_ERR_RDLV_COMPLETE_TIMEOUT;
-
-                       clrbits_le32(&drex0->rdlvl_config,
-                                    CTRL_RDLVL_DATA_ENABLE);
-                       setbits_le32(&drex1->rdlvl_config,
-                                    CTRL_RDLVL_DATA_ENABLE);
-                       i = TIMEOUT;
-                       while (((readl(&drex1->phystatus) & RDLVL_COMPLETE_CHO)
-                                != RDLVL_COMPLETE_CHO) && (i > 0)) {
-                               /*
-                                * TODO(waihong): Comment on how long this take
-                                * to timeout
-                                */
-                               sdelay(100);
-                               i--;
-                       }
-                       if (!i)
-                               return SETUP_ERR_RDLV_COMPLETE_TIMEOUT;
-
-                       clrbits_le32(&drex1->rdlvl_config,
-                                    CTRL_RDLVL_DATA_ENABLE);
-
-                       val = (0x3 << DIRECT_CMD_BANK_SHIFT);
-                       for (chip = 0; chip < mem->chips_to_configure; chip++) {
-                               writel(val | (chip << DIRECT_CMD_CHIP_SHIFT),
-                                      &drex0->directcmd);
-                               writel(val | (chip << DIRECT_CMD_CHIP_SHIFT),
-                                      &drex1->directcmd);
-                       }
-
-                       update_reset_dll(&drex0->phycontrol0, DDR_MODE_DDR3);
-                       update_reset_dll(&drex1->phycontrol0, DDR_MODE_DDR3);
-               }
-
                /* Common Settings for Leveling */
                val = PHY_CON12_RESET_VAL;
                writel((val + n_lock_w_phy0), &phy0_ctrl->phy_con12);