diff options
author | Chukun Pan <amadeus@jmu.edu.cn> | 2024-11-22 08:30:06 +0100 |
---|---|---|
committer | Vinod Koul <vkoul@kernel.org> | 2024-12-04 15:19:08 +0100 |
commit | fbcbffbac994aca1264e3c14da96ac9bfd90466e (patch) | |
tree | a09d7bac9d5e8dd8a58f89066a132914c962cb1b /drivers/phy | |
parent | phy: usb: Toggle the PHY power during init (diff) | |
download | linux-fbcbffbac994aca1264e3c14da96ac9bfd90466e.tar.xz linux-fbcbffbac994aca1264e3c14da96ac9bfd90466e.zip |
phy: rockchip: naneng-combphy: fix phy reset
Currently, the USB port via combophy on the RK3528/RK3588 SoC is broken.
usb usb8-port1: Cannot enable. Maybe the USB cable is bad?
This is due to the combphy of RK3528/RK3588 SoC has multiple resets, but
only "phy resets" need assert and deassert, "apb resets" don't need.
So change the driver to only match the phy resets, which is also what
the vendor kernel does.
Fixes: 7160820d742a ("phy: rockchip: add naneng combo phy for RK3568")
Cc: FUKAUMI Naoki <naoki@radxa.com>
Cc: Michael Zimmermann <sigmaepsilon92@gmail.com>
Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
Reviewed-by: Heiko Stuebner <heiko@sntech.de>
Tested-by: FUKAUMI Naoki <naoki@radxa.com>
Link: https://lore.kernel.org/r/20241122073006.99309-2-amadeus@jmu.edu.cn
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Diffstat (limited to 'drivers/phy')
-rw-r--r-- | drivers/phy/rockchip/phy-rockchip-naneng-combphy.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/phy/rockchip/phy-rockchip-naneng-combphy.c b/drivers/phy/rockchip/phy-rockchip-naneng-combphy.c index 0a9989e41237..2eb3329ca23f 100644 --- a/drivers/phy/rockchip/phy-rockchip-naneng-combphy.c +++ b/drivers/phy/rockchip/phy-rockchip-naneng-combphy.c @@ -309,7 +309,7 @@ static int rockchip_combphy_parse_dt(struct device *dev, struct rockchip_combphy priv->ext_refclk = device_property_present(dev, "rockchip,ext-refclk"); - priv->phy_rst = devm_reset_control_array_get_exclusive(dev); + priv->phy_rst = devm_reset_control_get(dev, "phy"); if (IS_ERR(priv->phy_rst)) return dev_err_probe(dev, PTR_ERR(priv->phy_rst), "failed to get phy reset\n"); |