Skip to content

Commit 1dc1ab6

Browse files
Devarsh Thakkargregkh
authored andcommitted
phy: cadence: cdns-dphy: Update calibration wait time for startup state machine
[ Upstream commit 2c27aaee934a1b5229152fe33a14f1fdf50da143 ] Do read-modify-write so that we re-use the characterized reset value as specified in TRM [1] to program calibration wait time which defines number of cycles to wait for after startup state machine is in bandgap enable state. This fixes PLL lock timeout error faced while using RPi DSI Panel on TI's AM62L and J721E SoC since earlier calibration wait time was getting overwritten to zero value thus failing the PLL to lockup and causing timeout. [1] AM62P TRM (Section 14.8.6.3.2.1.1 DPHY_TX_DPHYTX_CMN0_CMN_DIG_TBIT2): Link: https://www.ti.com/lit/pdf/spruj83 Cc: [email protected] Fixes: 7a343c8 ("phy: Add Cadence D-PHY support") Signed-off-by: Devarsh Thakkar <[email protected]> Tested-by: Harikrishna Shenoy <[email protected]> Reviewed-by: Tomi Valkeinen <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Vinod Koul <[email protected]> Signed-off-by: Sasha Levin <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
1 parent 84c3b52 commit 1dc1ab6

1 file changed

Lines changed: 3 additions & 1 deletion

File tree

drivers/phy/cadence/cdns-dphy.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030

3131
#define DPHY_CMN_SSM DPHY_PMA_CMN(0x20)
3232
#define DPHY_CMN_SSM_EN BIT(0)
33+
#define DPHY_CMN_SSM_CAL_WAIT_TIME GENMASK(8, 1)
3334
#define DPHY_CMN_TX_MODE_EN BIT(9)
3435

3536
#define DPHY_CMN_PWM DPHY_PMA_CMN(0x40)
@@ -421,7 +422,8 @@ static int cdns_dphy_power_on(struct phy *phy)
421422
writel(reg, dphy->regs + DPHY_BAND_CFG);
422423

423424
/* Start TX state machine. */
424-
writel(DPHY_CMN_SSM_EN | DPHY_CMN_TX_MODE_EN,
425+
reg = readl(dphy->regs + DPHY_CMN_SSM);
426+
writel((reg & DPHY_CMN_SSM_CAL_WAIT_TIME) | DPHY_CMN_SSM_EN | DPHY_CMN_TX_MODE_EN,
425427
dphy->regs + DPHY_CMN_SSM);
426428

427429
ret = cdns_dphy_wait_for_pll_lock(dphy);

0 commit comments

Comments
 (0)