mirror-linux/drivers/usb/phy
Xu Yang 67b02818e2 usb: phy: mxs: fix getting wrong state with mxs_phy_is_otg_host()
[ Upstream commit 5eda42aebb ]

The function mxs_phy_is_otg_host() will return true if OTG_ID_VALUE is
0 at USBPHY_CTRL register. However, OTG_ID_VALUE will not reflect the real
state if the ID pin is float, such as Host-only or Type-C cases. The value
of OTG_ID_VALUE is always 1 which means device mode.
This patch will fix the issue by judging the current mode based on
last_event. The controller will update last_event in time.

Fixes: 7b09e67639 ("usb: phy: mxs: refine mxs_phy_disconnect_line")
Signed-off-by: Xu Yang <xu.yang_2@nxp.com>
Acked-by: Peter Chen <peter.chen@kernel.org>
Link: https://lore.kernel.org/r/20230627110353.1879477-2-xu.yang_2@nxp.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-09-13 09:42:51 +02:00
..
Kconfig
Makefile
of.c
phy-ab8500-usb.c
phy-am335x-control.c
phy-am335x-control.h
phy-am335x.c
phy-fsl-usb.c
phy-fsl-usb.h
phy-generic.c
phy-generic.h
phy-gpio-vbus-usb.c
phy-isp1301-omap.c
phy-isp1301.c
phy-jz4770.c
phy-keystone.c
phy-mv-usb.c
phy-mv-usb.h
phy-mxs-usb.c
phy-omap-otg.c
phy-tahvo.c
phy-tegra-usb.c
phy-twl6030-usb.c
phy-ulpi-viewport.c
phy-ulpi.c
phy.c