phy: rockchip-emmc: fix dllrdy timeout issue
authorShawn Lin <shawn.lin@rock-chips.com>
Mon, 25 Apr 2016 01:59:14 +0000 (09:59 +0800)
committerHuang, Tao <huangtao@rock-chips.com>
Mon, 25 Apr 2016 09:58:04 +0000 (17:58 +0800)
According to the databook, 10.2us is the max time for
dll to be ready to work. However from the test, some chips
need 20us for dll to ready. So this patch add some extra
margin for dllrdy to be ready to meet the reality.

Change-Id: Ie5362b4403309d260ac621b8b20a0f5b579d3153
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
drivers/phy/phy-rockchip-emmc.c

index 3162554d6c1641911891598893f4f214a40fca2d..3a2bbb7032539c9c207f7320f41589fd612da30b 100644 (file)
@@ -141,9 +141,10 @@ static int rockchip_emmc_phy_power(struct rockchip_emmc_phy *rk_phy,
                                   PHYCTRL_ENDLL_SHIFT));
        /*
         * After enable analog DLL circuits, we need extra 10.2us
-        * for dll to be ready for work.
+        * for dll to be ready for work. But according to the test, we
+        * find some chips need more than 25us.
         */
-       udelay(11);
+       udelay(30);
        regmap_read(rk_phy->reg_base,
                    rk_phy->reg_offset + GRF_EMMCPHY_STATUS,
                    &dllrdy);