From: Kishon Vijay Abraham I Date: Tue, 30 Mar 2021 11:01:38 +0000 (+0530) Subject: phy: cadence-torrent: Add delay for PIPE clock to be stable X-Git-Tag: io_uring-5.13-2021-05-07~90^2~33^2~15 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=b20da3c6b9dd0787e3eec996de806829e1bcaad1;p=linux-2.6-block.git phy: cadence-torrent: Add delay for PIPE clock to be stable The Torrent spec specifies delay of 660.5us after phy_reset is asserted by the controller. To be on the safe side provide a delay of 5ms to 10ms in ->phy_on() callback where the SERDES is already configured in bootloader. Signed-off-by: Kishon Vijay Abraham I Link: https://lore.kernel.org/r/20210330110138.24356-6-kishon@ti.com Signed-off-by: Vinod Koul --- diff --git a/drivers/phy/cadence/phy-cadence-torrent.c b/drivers/phy/cadence/phy-cadence-torrent.c index ff8bb4b724c0..0477e7beebbf 100644 --- a/drivers/phy/cadence/phy-cadence-torrent.c +++ b/drivers/phy/cadence/phy-cadence-torrent.c @@ -371,7 +371,16 @@ static const struct phy_ops cdns_torrent_phy_ops = { .owner = THIS_MODULE, }; +static int cdns_torrent_noop_phy_on(struct phy *phy) +{ + /* Give 5ms to 10ms delay for the PIPE clock to be stable */ + usleep_range(5000, 10000); + + return 0; +} + static const struct phy_ops noop_ops = { + .power_on = cdns_torrent_noop_phy_on, .owner = THIS_MODULE, };