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: 51a9b2c03d
("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>
This commit is contained in:
Родитель
334fad1854
Коммит
8dc60f8da2
|
@ -1162,6 +1162,12 @@ static int rockchip_usb2phy_otg_port_init(struct rockchip_usb2phy *rphy,
|
||||||
EXTCON_USB_HOST, &rport->event_nb);
|
EXTCON_USB_HOST, &rport->event_nb);
|
||||||
if (ret)
|
if (ret)
|
||||||
dev_err(rphy->dev, "register USB HOST notifier failed\n");
|
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:
|
out:
|
||||||
|
|
Загрузка…
Ссылка в новой задаче