linux/drivers
William Wu d629ced217 phy: rockchip-inno-usb2: don't power off phy if connect to usb charger
The usb2 phy driver will power off phy if it detects
usb connecting with usb charger. And then it schedule
a delayed work to check the connection state until the
usb disconnect from usb charger.

On rockchip platform, the usb2 controller utmi clk and
480MHz clk come from usb2 phy, so if we power off the
usb2 phy, the usb2 controller should not be accessed.

However, it's difficult to synchronize the phy state
between the usb2 phy driver and usb2 controller. We
find one synchronization problem in the following
case:

1. Test on rk312x platform;
2. Connect otg port with usb charger, then do suspend/
   resume stress test.
3. We will find the following error log, and then the
   usb controller work abnormally.

   dwc2 10180000.usb: resuming usb gadget configfs-gadget
   dwc2 10180000.usb: dwc2_core_reset() HANG! Soft Reset GRSTCTL=80000001

This because in dwc2 driver, it will do dwc2 core reset
during resume, although it also power on usb2 phy before
do core reset, but the otg_sm_work in the usb2 phy driver
may power off the usb2 phy again asynchronously, this will
cause dwc2 core reset failure.

So we should not power off the usb2 phy if connect to
usb charger, this patch will increase the usb2 phy power
consumption in runtime, but it don't affect the power
consumption in system standby mode, because the usb
controller can power off phy by itself during suspend.

Change-Id: I3b05c06988b7939ebf949ced34b9a6bb37ffa42a
Signed-off-by: William Wu <william.wu@rock-chips.com>
2017-11-30 15:40:41 +08:00
..
accessibility
acpi BACKPORT: device property: Introduce fwnode_property_get_reference_args 2017-11-27 14:12:20 +08:00
adc
amba
android ANDROID: binder: fix node sched policy calculation 2017-10-15 23:55:02 +05:30
ata Merge branch 'linux-linaro-lsk-v4.4-android' of git://git.linaro.org/kernel/linux-linaro-stable.git 2017-11-02 17:00:07 +08:00
atm
auxdisplay
base BACKPORT: device property: Introduce fwnode_property_get_reference_args 2017-11-27 14:12:20 +08:00
bcma bcma: use (get|put)_device when probing/removing device driver 2017-03-12 06:37:30 +01:00
block skd: Submit requests to firmware before triggering the doorbell 2017-09-27 11:00:14 +02:00
bluetooth Merge branch 'linux-linaro-lsk-v4.4-android' of git://git.linaro.org/kernel/linux-linaro-stable.git 2017-11-02 17:00:07 +08:00
bus bus: vexpress-config: fix device reference leak 2017-01-19 20:17:22 +01:00
cdrom
char tpm: Replace device number bitmap with IDR 2017-08-06 19:19:43 -07:00
cir
clk clk: rockchip: rk3066a: make hclk_vio_bus critical 2017-11-28 12:00:29 +08:00
clocksource Merge branch 'linux-linaro-lsk-v4.4-android' of git://git.linaro.org/kernel/linux-linaro-stable.git 2017-03-01 18:40:28 +08:00
cmmb
connector
cpufreq Merge branch 'linux-linaro-lsk-v4.4-android' of git://git.linaro.org/kernel/linux-linaro-stable.git 2017-11-02 17:00:07 +08:00
cpuidle
crypto crypto: talitos - fix sha224 2017-10-05 09:41:45 +02:00
dca
devfreq PM / devfreq: event: Add new Rockchip NoC probe driver 2017-11-21 20:24:57 +08:00
dio
dma Merge branch 'linux-linaro-lsk-v4.4-android' of git://git.linaro.org/kernel/linux-linaro-stable.git 2017-11-02 17:00:07 +08:00
dma-buf UPSTREAM: dma-buf: add support for compat ioctl 2017-08-15 18:43:45 +08:00
edac
eisa
extcon Merge branch 'linux-linaro-lsk-v4.4-android' of git://git.linaro.org/kernel/linux-linaro-stable.git 2017-11-02 17:00:07 +08:00
firewire firewire: net: fix fragmented datagram_size off-by-one 2016-11-10 16:36:35 +01:00
firmware Merge branch 'linux-linaro-lsk-v4.4-android' of git://git.linaro.org/kernel/linux-linaro-stable.git 2017-11-02 17:00:07 +08:00
fmc
fpga
gpio mfd: rk808: add rk816 support 2017-07-19 14:33:51 +08:00
gpu drm/rockchip: vop: add support rk3399 win lite csc function 2017-11-30 14:06:08 +08:00
headset_observe rk_headset: fix NULL pointer 2017-11-10 11:52:56 +08:00
hid Merge branch 'linux-linaro-lsk-v4.4-android' of git://git.linaro.org/kernel/linux-linaro-stable.git 2017-11-02 17:00:07 +08:00
hsi
hv Drivers: hv: fcopy: restore correct transfer length 2017-10-12 11:27:33 +02:00
hwmon Merge branch 'linux-linaro-lsk-v4.4-android' of git://git.linaro.org/kernel/linux-linaro-stable.git 2017-11-02 17:00:07 +08:00
hwspinlock
hwtracing Merge tag 'v4.4.92' into linux-linaro-lsk-v4.4 2017-10-13 12:04:17 +08:00
i2c Merge branch 'linux-linaro-lsk-v4.4-android' of git://git.linaro.org/kernel/linux-linaro-stable.git 2017-11-02 17:00:07 +08:00
ide
idle
iio Merge branch 'linux-linaro-lsk-v4.4-android' of git://git.linaro.org/kernel/linux-linaro-stable.git 2017-11-02 17:00:07 +08:00
infiniband IB/qib: fix false-postive maybe-uninitialized warning 2017-10-08 10:14:20 +02:00
input drivers: sensor: modify sensor calibrate function 2017-11-27 12:05:18 +08:00
iommu iommu/rk: remove references to RK_GRF_VIRT 2017-11-10 17:07:27 +08:00
ipack
irqchip Merge branch 'linux-linaro-lsk-v4.4-android' of git://git.linaro.org/kernel/linux-linaro-stable.git 2017-11-02 17:00:07 +08:00
isdn isdn/i4l: fix buffer overflow 2017-08-06 19:19:41 -07:00
leds UPSTREAM: [media] v4l: flash led class: Use fwnode_handle instead of device_node in init 2017-08-30 17:24:05 +08:00
lguest
lightnvm
macintosh
mailbox rk: rm include/linux/rockchip/common.h 2017-11-17 14:55:40 +08:00
mcb
md Merge branch 'linux-linaro-lsk-v4.4' into linux-linaro-lsk-v4.4-android 2017-10-09 14:32:35 +08:00
media media: soc_camera: add nt99230 and change parameter of soc_cfg->soc_cfg 2017-11-29 09:35:29 +08:00
memory
memstick memstick: rtsx_usb_ms: Manage runtime PM when accessing the device 2016-10-28 03:01:35 -04:00
message
mfd mfd: rk808: fix the rtc resource for rk816 2017-11-24 10:21:42 +08:00
misc misc: add gpio-detection driver 2017-11-24 10:44:26 +08:00
mmc Merge branch 'linux-linaro-lsk-v4.4-android' of git://git.linaro.org/kernel/linux-linaro-stable.git 2017-11-02 17:00:07 +08:00
mtd LSK 17.07 v4.4-android 2017-07-26 19:32:04 +08:00
mtk_wcn_bt
mtk_wcn_combo
net net: wireless: rockchip_wlan: update rtl8188eu 2017-11-29 17:30:35 +08:00
nfc Merge branch 'linux-linaro-lsk-v4.4-android' of git://git.linaro.org/kernel/linux-linaro-stable.git 2017-11-02 17:00:07 +08:00
ntb ntb_transport: fix bug calculating num_qps_mw 2017-08-30 10:19:29 +02:00
nubus
nvdimm libnvdimm, btt: fix btt_rw_page not returning errors 2017-08-06 19:19:42 -07:00
nvme Merge branch 'linux-linaro-lsk-v4.4-android' of git://git.linaro.org/kernel/linux-linaro-stable.git 2017-11-02 17:00:07 +08:00
nvmem nvmem: rockchip-efuse: add support for rk3128-efuse 2017-09-05 18:24:43 +08:00
of BACKPORT: device property: Introduce fwnode_property_get_reference_args 2017-11-27 14:12:20 +08:00
oprofile
parisc parisc: pci memory bar assignment fails with 64bit kernels on dino/cujo 2017-08-24 17:02:35 -07:00
parport parisc, parport_gsc: Fixes for printk continuation lines 2017-06-17 06:39:37 +02:00
pci Merge branch 'linux-linaro-lsk-v4.4-android' of git://git.linaro.org/kernel/linux-linaro-stable.git 2017-11-02 17:00:07 +08:00
pcmcia
perf LSK 17.07 v4.4-android 2017-07-26 19:32:04 +08:00
phy phy: rockchip-inno-usb2: don't power off phy if connect to usb charger 2017-11-30 15:40:41 +08:00
pinctrl pinctrl: rockchip: rk3328: Fix the correct routing config 2017-10-20 15:57:32 +08:00
platform LSK 17.07 v4.4-android 2017-07-26 19:32:04 +08:00
pnp
power power: rk818: add power_supply property for CTS. 2017-11-27 14:41:40 +08:00
powercap
pps
ps3
ptp
pwm pwm: rockchip: Add rk3328 support 2017-08-31 10:26:00 +08:00
rapidio
ras
regulator regulator: rk808: fix rk816 regulators register failed 2017-10-31 09:39:45 +08:00
remoteproc
reset
rk_nand drivers: rk_nand: fix L04A data lost while SPOR 2017-11-27 12:02:14 +08:00
rpmsg
rtc rtc: hym8563: add initialization data 2017-11-09 11:07:04 +08:00
s390 scsi: zfcp: trace high part of "new" 64 bit SCSI LUN 2017-09-27 11:00:15 +02:00
sbus
scsi Merge branch 'linux-linaro-lsk-v4.4' into linux-linaro-lsk-v4.4-android 2017-10-13 23:14:45 +08:00
sfi
sh
smc
sn
soc soc/rockchip: support the power domains for rk3036 SoCs 2017-11-29 11:45:39 +08:00
spi spi: spidev: Add rockchip spidev compatible string 2017-11-17 17:49:18 +08:00
spmi spmi: Include OF based modalias in device uevent 2017-07-27 15:06:10 -07:00
ssb ssb: Fix error routine when fallback SPROM fails 2017-01-09 08:07:42 +01:00
staging rk: rm include/linux/rockchip/common.h 2017-11-17 14:55:40 +08:00
switch drivers: switch: clear drvdata before device_destroy 2017-04-28 18:35:47 +08:00
target iscsi-target: Fix iscsi_np reset hung task during parallel delete 2017-08-16 13:40:28 -07:00
tc
tee Merge branch 'linux-linaro-lsk-v4.4' into linux-linaro-lsk-v4.4-android 2017-10-17 15:59:17 +08:00
testcode
thermal rk: rm include/linux/rockchip/common.h 2017-11-17 14:55:40 +08:00
thunderbolt
tty rk_serial: use kthread_run 2017-11-20 16:16:16 +08:00
uio uio: fix dmem_region_start computation 2016-10-31 04:13:59 -06:00
usb usb: dwc2: make otg manage lowlevel hw on its own 2017-11-23 11:25:17 +08:00
uwb uwb: ensure that endpoint is interrupt 2017-10-12 11:27:35 +02:00
vfio vfio-pci: Handle error from pci_iomap 2017-08-06 19:19:46 -07:00
vhost
video video/rockchip: rga: Fixup dst offset calculation method 2017-11-30 15:10:27 +08:00
virt
virtio virtio_balloon: init 1st buffer in stats vq 2017-03-31 09:49:53 +02:00
vlynq
vme vme: Fix wrong pointer utilization in ca91cx42_slave_get 2017-01-19 20:17:21 +01:00
w1 Merge branch 'linux-linaro-lsk-v4.4' into linux-linaro-lsk-v4.4-android 2017-03-20 12:03:10 +08:00
watchdog watchdog: dw_wdt: fix overflow issue in dw_wdt_top_in_seconds 2017-07-28 17:52:33 +08:00
xen fix xen_swiotlb_dma_mmap prototype 2017-10-05 09:41:48 +02:00
zorro
Kconfig LSK 17.07 v4.4-android 2017-07-26 19:32:04 +08:00
Makefile LSK 17.07 v4.4-android 2017-07-26 19:32:04 +08:00