linux/drivers/phy/renesas
Yoshihiro Shimoda e6839c31a6 phy: renesas: rcar-gen3-usb2: Disable clearing VBUS in over-current
The hardware manual should be revised, but the initial value of
VBCTRL.OCCLREN is set to 1 actually. If the bit is set, the hardware
clears VBCTRL.VBOUT and ADPCTRL.DRVVBUS registers automatically
when the hardware detects over-current signal from a USB power switch.
However, since the hardware doesn't have any registers which
indicates over-current, the driver cannot handle it at all. So, if
"is_otg_channel" hardware detects over-current, since ADPCTRL.DRVVBUS
register is cleared automatically, the channel cannot be used after
that.

To resolve this behavior, this patch sets the VBCTRL.OCCLREN to 0
to keep ADPCTRL.DRVVBUS even if the "is_otg_channel" hardware
detects over-current. (We assume a USB power switch itself protects
over-current and turns the VBUS off.)

This patch is inspired by a BSP patch from Kazuya Mizuguchi.

Fixes: 1114e2d317 ("phy: rcar-gen3-usb2: change the mode to OTG on the combined channel")
Cc: <stable@vger.kernel.org> # v4.5+
Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
2019-08-26 17:20:02 +05:30
..
Kconfig phy: rcar-gen3-usb2: Add support for r8a77470 2019-04-17 14:13:11 +05:30
Makefile phy: renesas: convert to SPDX identifiers 2018-09-26 13:09:41 +05:30
phy-rcar-gen2.c phy: renesas: rcar-gen2: Fix memory leak at error paths 2019-06-12 15:35:44 +05:30
phy-rcar-gen3-pcie.c phy: Renesas R-Car gen3 PCIe PHY driver 2018-07-10 13:45:11 +05:30
phy-rcar-gen3-usb2.c phy: renesas: rcar-gen3-usb2: Disable clearing VBUS in over-current 2019-08-26 17:20:02 +05:30
phy-rcar-gen3-usb3.c phy: renesas: use SPDX identifier for Renesas drivers 2018-09-10 14:28:07 +05:30