Hi Mani,

We need some detailed information to perform debugging.

1. Could you please share the documentation of "96Boards HiKey" board, at least 
dwc core configuration parameters. Or dump of GHWCFG1-4.
2. Could you  please share with us full debug log of dwc2 loading and plug the 
USB device.
3. From short debug log seen that Host exited from hibernation after USB device 
plugged to the port. Do you mean that enumeration process didn't start? If not, 
could you please dump registers after "dwc2 f72c0000.usb: Host hibernation 
restore complete"
4. In which mode had the dwc2 been built. In host only mode or DRD mode?
5. And you mention that USB controller's DP/DM out is connected to a switch 
which switches between a USB type C port and a HUB (USB2513B). Is the device 
connected to USB type C port or to HUB (USB2513B) ? Switching connection done 
before dwc2 load or after?

Looking forward to your reply.

Regards,
Artur


-----Original Message-----
From: Manivannan Sadhasivam [mailto:manivannan.sadhasi...@linaro.org] 
Sent: Wednesday, May 16, 2018 17:23
To: linux-usb@vger.kernel.org
Cc: john.y...@synopsys.com; mvar...@synopsys.com; 
arthur.petros...@synopsys.com; grigor.tovmas...@synopsys.com; 
felipe.ba...@linux.intel.com
Subject: usb: dwc2: Regression on 96Boards Hikey due to enabling power down

Hello,

Commit 03ea6d6e9e1ff1b0222eb723eee5990d3511cc4d introduced the powerdown 
feature in USB DWC2 driver which stops USB from working on 96Boards HiKey board.

During bootup, USB host controller goes into hibernation state and when any USB 
device is plugged onto the port, the host finishes executing the GPWRDN 
interrupt handler but still it didn't wake up.

Below is the dmesg log after plugging a device onto USB port:

[   30.763414] dwc2 f72c0000.usb: dwc2_handle_gpwrdn_intr: 
dwc2_handle_gpwrdwn_intr called gpwrdn= 081411bb
[   30.763458] dwc2 f72c0000.usb: dwc2_handle_gpwrdn_intr: GPWRDN_LNSTSCHG
[   30.763492] dwc2 f72c0000.usb: dwc2_host_exit_hibernation: called with 
rem_wakeup = 1 reset = 0
[   30.763623] dwc2 f72c0000.usb: dwc2_restore_essential_regs: restoring 
essential regs
[   30.763671] dwc2 f72c0000.usb: restore done  generated here
[   30.976707] dwc2 f72c0000.usb: dwc2_restore_global_registers
[   30.976723] dwc2 f72c0000.usb: dwc2_restore_host_registers
[   30.976741] dwc2 f72c0000.usb: Host hibernation restore complete

I tried to manually reset the HUB and PHY after plugging in the device but that 
didn't help.

This issue has been detected in kernel 4.17-rc1.

Can anyone shed some light here? Any help would be greatly appreciated!

Note: On this board, the USB controller's DP/DM out is connected to a switch 
which switches between a USB type C port and a HUB (USB2513B).

Thanks,
Mani
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to