[U-Boot] [PATCH] sunxi: H3/H5/A64: OHCI: prevent turning off shared gates

Jagan Teki jagannadh.teki at gmail.com
Tue Jul 3 10:01:01 UTC 2018


On Tue, Jul 3, 2018 at 1:54 PM, Marek Vasut <marex at denx.de> wrote:
> On 07/03/2018 01:44 AM, Andre Przywara wrote:
>> The USB host controllers on the H3, H5 and A64 have the oddity of
>> sharing some clock and reset gates, so both the OHCI and EHCI bits have
>> to be enabled to make only one of them working. We take care of this, and
>> initialisation works fine (due to setting already set bits).
>> However on shutdown we turn the clocks and reset gates off already when
>> deregistering one controller, so the other one is no longer functional.
>> In the result U-Boot complains just before launching the kernel and
>> then hangs.
>> Fix this by not turning off the clocks and resets on the OHCI side, so
>> that the EHCI controller has a chance to properly shut down.
>> This still isn't perfect, but at least prevents the hang.
>>
>> Signed-off-by: Andre Przywara <andre.przywara at arm.com>
>
> What about adding some enable/disable counter to those clock somehow and
> then turning them off when the counter reaches zero ?

Like disable all controller clocks, at the end of last controller
shutdown? right now it is doing opposite for A64. Disabling all clocks
at the end work for me, with preserving previous mask bit.

Jagan.


More information about the U-Boot mailing list