remarkable-linux/drivers/phy
William Wu 5a74a8b742 phy: rockchip-inno-usb2: increase otg sm work first schedule time
In rockchip-inno-usb2 phy driver, we use otg_sm_work to
dynamically manage power consumption for phy otg-port.
If the otg-port works as peripheral mode and does not
communicate with usb host, we will suspend phy.

But once suspend phy, the phy no longer has any internal
clock running, include the utmi_clk which supplied for
usb controller. So if we suspend phy before usb controller
init, it will cause usb controller fail to initialize.

Specifically, without this patch, the observed order is:
 1. unplug usb cable
 2. start system, do dwc2 controller probe
 3. dwc2_lowlevel_hw_enable()
    - phy_init()
     - rockchip_usb2phy_init()
      - schedule otg_sm_work after 2s
        put phy in suspend, and close utmi_clk
 4. dwc2_hsotg_udc_start() - fail to initialize the usb core

Generally, dwc2_hsotg_udc_start() can be called within 5s
after start system on Rockchip platform, so we increase the
the first schedule delay time to 6s for otg_sm_work afer usb
controller calls phy_init(), this can make sure that the usb
controller completes initialization before phy enter suspend.

Signed-off-by: William Wu <william.wu@rock-chips.com>
Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
2017-06-06 14:50:23 +05:30
..
allwinner phy: Group vendor specific phy drivers 2017-06-01 15:28:33 +05:30
amlogic phy: meson8b-usb2: add support for the USB PHY on Meson8 SoCs 2017-06-06 14:50:14 +05:30
broadcom phy: Group vendor specific phy drivers 2017-06-01 15:28:33 +05:30
hisilicon phy: Group vendor specific phy drivers 2017-06-01 15:28:33 +05:30
marvell phy: Group vendor specific phy drivers 2017-06-01 15:28:33 +05:30
motorola phy: cpcap-usb: Add CPCAP PMIC USB support 2017-06-06 14:50:21 +05:30
qualcomm phy: Group vendor specific phy drivers 2017-06-01 15:28:33 +05:30
renesas phy: Group vendor specific phy drivers 2017-06-01 15:28:33 +05:30
rockchip phy: rockchip-inno-usb2: increase otg sm work first schedule time 2017-06-06 14:50:23 +05:30
samsung phy: Group vendor specific phy drivers 2017-06-01 15:28:33 +05:30
st phy: Group vendor specific phy drivers 2017-06-01 15:28:33 +05:30
tegra phy: fix returnvar.cocci warnings 2016-11-18 18:19:16 +05:30
ti phy: Group vendor specific phy drivers 2017-06-01 15:28:33 +05:30
Kconfig phy: cpcap-usb: Add CPCAP PMIC USB support 2017-06-06 14:50:21 +05:30
Makefile phy: cpcap-usb: Add CPCAP PMIC USB support 2017-06-06 14:50:21 +05:30
phy-core.c phy: Add reset callback 2016-09-10 17:31:39 +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-mt65xx-usb3.c phy: phy-mt65xx-usb3: disable 100uA extraction from SS port to HS port 2017-04-10 16:43:40 +05:30
phy-pistachio-usb.c PHY: Add driver for Pistachio USB2.0 PHY 2015-06-21 21:53:38 +02:00
phy-xgene.c phy: xgene: rename "enum phy_mode" to "enum xgene_phy_mode" 2016-07-04 17:19:21 +05:30