linux/drivers/phy
Yoshihiro Shimoda 6762925df4 phy: rcar-gen3-usb2: fix unexpected repeat interrupts of VBUS change
This patch fixes an issue that the driver is possible to cause
unexpected repeat interrupts if a board condition is wrong
(e.g. even if the ID pin is as function, a board supplies the VBUS.)

The reason why unexpected repeat interrupts happen is:
 1) The driver changed the mode to function if it detected the ID pin
    is high and the VBUS is high.
 2) After the driver changed function mode, it disabled the "VBUS control"
    feature. Then, the VBUS signal will be low.
 3) Since the VBUS change interruption happened, the driver checked
    the ID pin and VBUS.
 4) Since VBUS was low, the driver changed the mode to host and enabled
    the "VBUS control" feature. Then the VBUS signal will be high.
 5) Since the VBUS change interruption happened, the driver did 1) above.

So, this patch modified the condition in rcar_gen3_device_recognition()
to check the ID pin only.

Fixes: 1114e2d (phy: rcar-gen3-usb2: change the mode to OTG on the combined channel)
Cc: <stable@vger.kernel.org> # v4.5+
Reported-by: Simon Horman <horms@verge.net.au>
Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
2016-06-17 18:25:48 +05:30
..
tegra phy: tegra: Add Tegra210 support 2016-04-29 16:44:48 +02:00
Kconfig USB patches for 4.7-rc1 2016-05-20 21:12:25 -07:00
Makefile USB patches for 4.7-rc1 2016-05-20 21:12:25 -07:00
phy-armada375-usb2.c phy: Constify struct phy_ops variables 2015-08-03 18:35:09 +05:30
phy-bcm-cygnus-pcie.c phy: cygnus: pcie: add missing of_node_put 2015-12-03 12:28:23 +05:30
phy-bcm-kona-usb2.c phy: Constify struct phy_ops variables 2015-08-03 18:35:09 +05:30
phy-bcm-ns-usb2.c phy: bcm-ns-usb2: new driver for USB 2.0 PHY on Northstar 2016-04-30 20:12:28 +05:30
phy-berlin-sata.c phy: berlin-sata: add missing of_node_put 2015-12-03 12:28:23 +05:30
phy-berlin-usb.c phy: berlin-usb: don't set device's driver_data 2015-12-20 17:43:12 +05:30
phy-brcm-sata.c phy: Add support for NS2 SATA3 PHY in Broadcom SATA3 PHY driver 2016-04-30 20:12:24 +05:30
phy-core.c phy: core: Allow children node to be overridden 2016-04-29 16:39:39 +02:00
phy-dm816x-usb.c phy: dm816x: use __maybe_unused to hide pm functions 2016-03-03 20:37:41 -08:00
phy-exynos4x12-usb2.c phy: samsung-usb2: Remove NULL terminating entry from phys array 2015-03-12 11:01:16 +05:30
phy-exynos5-usbdrd.c phy: Constify struct phy_ops variables 2015-08-03 18:35:09 +05:30
phy-exynos4210-usb2.c phy: samsung-usb2: Remove NULL terminating entry from phys array 2015-03-12 11:01:16 +05:30
phy-exynos5250-sata.c phy: Constify struct phy_ops variables 2015-08-03 18:35:09 +05:30
phy-exynos5250-usb2.c phy: samsung-usb2: Remove NULL terminating entry from phys array 2015-03-12 11:01:16 +05:30
phy-exynos-dp-video.c phy: Constify struct phy_ops variables 2015-08-03 18:35:09 +05:30
phy-exynos-mipi-video.c phy: exynos-mipi-video: avoid uninitialized variable use 2016-05-30 18:21:37 +05:30
phy-hi6220-usb.c phy: add phy-hi6220-usb 2015-12-20 15:21:38 +05:30
phy-hix5hd2-sata.c phy: Constify struct phy_ops variables 2015-08-03 18:35:09 +05:30
phy-lpc18xx-usb-otg.c phy: lpc18xx-usb-otg: fix clock order in phy init 2015-08-10 20:11:58 +05:30
phy-miphy28lp.c phy: miphy28lp: add missing of_node_put 2015-12-03 12:28:23 +05:30
phy-miphy365x.c phy: miphy365x: add missing of_node_put 2015-12-03 12:28:23 +05:30
phy-mt65xx-usb3.c phy: phy-mt65xx-usb3: add support for mt2701 platform 2016-04-30 20:12:27 +05:30
phy-mvebu-sata.c phy: Constify struct phy_ops variables 2015-08-03 18:35:09 +05:30
phy-omap-control.c New Features 2015-04-10 13:47:50 +02:00
phy-omap-usb2.c phy: omap-usb2: use *syscon* framework API to power on/off the PHY 2015-12-21 14:26:28 +05:30
phy-pistachio-usb.c PHY: Add driver for Pistachio USB2.0 PHY 2015-06-21 21:53:38 +02:00
phy-pxa-28nm-hsic.c phy: add Marvell HSIC 28nm PHY 2015-06-09 12:20:30 -07:00
phy-pxa-28nm-usb2.c phy: Add Marvell USB 2.0 OTG 28nm PHY 2015-06-09 12:20:30 -07:00
phy-qcom-apq8064-sata.c phy: Constify struct phy_ops variables 2015-08-03 18:35:09 +05:30
phy-qcom-ipq806x-sata.c phy: Constify struct phy_ops variables 2015-08-03 18:35:09 +05:30
phy-qcom-ufs-i.h phy: Constify struct phy_ops variables 2015-08-03 18:35:09 +05:30
phy-qcom-ufs-qmp-14nm.c phy: Constify struct phy_ops variables 2015-08-03 18:35:09 +05:30
phy-qcom-ufs-qmp-14nm.h phy: qcom-ufs: add support for 14nm phy 2015-01-20 19:43:26 +01:00
phy-qcom-ufs-qmp-20nm.c phy: Constify struct phy_ops variables 2015-08-03 18:35:09 +05:30
phy-qcom-ufs-qmp-20nm.h phy: qcom-ufs: add support for 20nm phy 2015-01-20 19:43:25 +01:00
phy-qcom-ufs.c phy: qcom-ufs: fix build error when the component is built as a module 2015-09-25 17:01:14 +05:30
phy-rcar-gen2.c phy: rcar-gen2: add fallback binding 2016-04-29 14:40:07 +05:30
phy-rcar-gen3-usb2.c phy: rcar-gen3-usb2: fix unexpected repeat interrupts of VBUS change 2016-06-17 18:25:48 +05:30
phy-rockchip-dp.c phy: rockchip-dp: should be a child device of the GRF 2016-04-13 18:33:05 +05:30
phy-rockchip-emmc.c phy: rockchip-emmc: should be a child device of the GRF 2016-04-13 18:33:05 +05:30
phy-rockchip-usb.c phy: rockhip-usb: Remove CLK_IS_ROOT 2016-04-30 20:12:28 +05:30
phy-s5pv210-usb2.c phy: Add support for S5PV210 to the Exynos USB 2.0 PHY driver 2014-07-19 04:25:09 +09:00
phy-samsung-usb2.c phy: exynos-usb2: add vbus regulator support 2015-10-06 20:21:47 +05:30
phy-samsung-usb2.h phy: exynos-usb2: add vbus regulator support 2015-10-06 20:21:47 +05:30
phy-spear1310-miphy.c phy: Constify struct phy_ops variables 2015-08-03 18:35:09 +05:30
phy-spear1340-miphy.c phy: Constify struct phy_ops variables 2015-08-03 18:35:09 +05:30
phy-stih41x-usb.c phy: Constify struct phy_ops variables 2015-08-03 18:35:09 +05:30
phy-stih407-usb.c phy: phy-stih407-usb: Pass sysconfig register offsets via syscfg property. 2015-01-21 15:23:06 +05:30
phy-sun4i-usb.c phy-sun4i-usb: Add support for the host usb-phys found on the H3 SoC 2015-12-20 15:21:38 +05:30
phy-sun9i-usb.c phy: Constify struct phy_ops variables 2015-08-03 18:35:09 +05:30
phy-ti-pipe3.c phy: ti-pipe3: Program the DPLL even if it was already locked 2016-06-03 12:06:41 +05:30
phy-tusb1210.c This is the bulk of GPIO changes for the v4.3 kernel cycle: 2015-09-04 10:07:45 -07:00
phy-twl4030-usb.c phy: twl4030: use __maybe_unused to hide pm functions 2016-03-03 20:37:41 -08:00
phy-xgene.c New Features 2015-04-10 13:47:50 +02:00
ulpi_phy.h phy: ulpi_phy: Add const qualifier to ops 2015-08-03 18:35:09 +05:30