aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/phy/rockchip
diff options
context:
space:
mode:
authorPeter Geis <pgwipeout@gmail.com>2022-06-21 20:31:40 -0400
committerVinod Koul <vkoul@kernel.org>2022-07-05 12:56:53 +0530
commit8dc60f8da22fdbaa1fafcfb5ff6d24bc9eff56aa (patch)
tree6fbf10bbe5c82d630e6fc2e90dc59fb5c2bc1867 /drivers/phy/rockchip
parentphy: qcom-qmp-pcie: add IPQ8074 PCIe Gen3 QMP PHY support (diff)
downloadlinux-dev-8dc60f8da22fdbaa1fafcfb5ff6d24bc9eff56aa.tar.xz
linux-dev-8dc60f8da22fdbaa1fafcfb5ff6d24bc9eff56aa.zip
phy: rockchip-inno-usb2: Sync initial otg state
The initial otg state for the phy defaults to device mode. The actual state isn't detected until an ID IRQ fires. Fix this by syncing the ID state during initialization. Fixes: 51a9b2c03dd3 ("phy: rockchip-inno-usb2: Handle ID IRQ") Signed-off-by: Peter Geis <pgwipeout@gmail.com> Reviewed-by: Samuel Holland <samuel@sholland.org> Link: https://lore.kernel.org/r/20220622003140.30365-1-pgwipeout@gmail.com Signed-off-by: Vinod Koul <vkoul@kernel.org>
Diffstat (limited to 'drivers/phy/rockchip')
-rw-r--r--drivers/phy/rockchip/phy-rockchip-inno-usb2.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
index 04fc1462d0f0..706a2263b0b2 100644
--- a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
+++ b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
@@ -1162,6 +1162,12 @@ static int rockchip_usb2phy_otg_port_init(struct rockchip_usb2phy *rphy,
EXTCON_USB_HOST, &rport->event_nb);
if (ret)
dev_err(rphy->dev, "register USB HOST notifier failed\n");
+
+ if (!of_property_read_bool(rphy->dev->of_node, "extcon")) {
+ /* do initial sync of usb state */
+ ret = property_enabled(rphy->grf, &rport->port_cfg->utmi_id);
+ extcon_set_state_sync(rphy->edev, EXTCON_USB_HOST, !ret);
+ }
}
out: