Re: [PATCH] usb: dwc2: Fix HiKey regression caused by power_down feature

From: Artur Petrosyan
Date: Thu Sep 20 2018 - 10:17:48 EST


Hi John,

On 5/23/2018 01:57, John Stultz wrote:
> On Tue, May 22, 2018 at 7:24 AM, Minas Harutyunyan
> <Minas.Harutyunyan@xxxxxxxxxxxx> wrote:
>> Hi John,
>>
>> Please provide log with debug enabled configuration.
>
> Ok. Attached.
> For dmesg-broken.log: OTG removed at 77, and OTG plugged in at 82
> For dmesg-with-patch.log: OTG removed at 31, OTG plugged in at 38.
>
> Note with the dmesg-with-patch (using my patch), things seem to be
> working ok. Though in the example above it may look odd, as usually it
> switches to to host mode, then when it detects a low speed device (a
> mouse which I had plugged in), it will reset to switch to low-speed,
> but I didn't wait long enough for the reset to complete and the mouse
> to be detected before re-plugging in the OTG port.
>
>> On 5/21/2018 11:41 PM, John Stultz wrote:
>>> On Mon, May 21, 2018 at 1:45 AM, Minas Harutyunyan
>>> <Minas.Harutyunyan@xxxxxxxxxxxx> wrote:
>>>> Hi John,
>>>>
>>>> On 5/19/2018 4:49 AM, John Stultz wrote:
>>>>> In 4.17-rc, commit 03ea6d6e9e1f ("usb: dwc2: Enable power down")
>>>>> caused the HiKey board to not correctly handle switching between
>>>>> usb-gadget and usb-host mode.
>>>>>
>>>>> Unplugging the OTG port would result in:
>> OTG port you mean MicroAB, Correct?
>
> Correct.
>
>> dwc2 driver loaded when some device connected to OTG port?
>
> Yes, I normally boot with the board plugged in to OTG as a
> peripheral/gadget for adb.
>
>> And below message printed after disconnect the device from OTG port?
>>
>>>>> [ 42.240973] dwc2 f72c0000.usb: dwc2_restore_host_registers: no host registers to restore
>>>>> [ 42.249066] dwc2 f72c0000.usb: dwc2_host_exit_hibernation: failed to restore host registers
>
> Correct.
>
>>>>> And the USB-host ports would not function.
>> USB-host ports - you mean 2 USB A-ports, connected to TS3USB221 HUB?
>
> Correct.
>
>> Switching ports between OTG and Host ports via TS3USB221 Switch
>> performing automatically or by some SW tool?
>
> Its done automatically, when the OTG cable is detected it the host
> ports are disabled and when the OTG port is empty the host ports are
> enabled.
>
> Let me know if you need anything else!
>
> thanks
> -john
>

Please apply the patch set with this cover letter "[PATCH 0/3] usb:
dwc2: Fix hibernation for switching between host and device modes."

Enable the power down on his devices. Let me know if you still see any
issue. If there is no issue, please provide Tested-by tag.


Regards,
Artur