Commit 8dc60f8d authored by Peter Geis's avatar Peter Geis Committed by Vinod Koul
Browse files

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: 51a9b2c0 ("phy: rockchip-inno-usb2: Handle ID IRQ")
Signed-off-by: default avatarPeter Geis <pgwipeout@gmail.com>
Reviewed-by: default avatarSamuel Holland <samuel@sholland.org>
Link: https://lore.kernel.org/r/20220622003140.30365-1-pgwipeout@gmail.com


Signed-off-by: default avatarVinod Koul <vkoul@kernel.org>
parent 334fad18
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -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: