[PATCH v3 08/10] phy: socionext: Add UniPhier USB3 PHY driver

Kunihiko Hayashi hayashi.kunihiko at socionext.com
Thu Feb 16 17:14:46 CET 2023


Hi Marek,

Sorry for late reply.

On 2023/02/14 6:06, Marek Vasut wrote:
> On 2/13/23 04:08, Kunihiko Hayashi wrote:
>> Hi Marek,
> 
> Hello Hayashi-san,
> 

[...]

>> I think so, however, when I added .exit() and executed "usb stop;usb
>> start",
>> unfortunately the command got stuck.
>>
>> Currently uniphier clk doesn't support CLK_CCF and can't be nested.
>> I think more changes are needed.
> 
> Do you know where exactly the system hangs ?

Yes.

The controller-reset driver controls the clock/reset for the glue
in probe(). The phy driver controls the clock/reset for the glue and
the phy in init(). There is an inconsistency.

When submitting "usb stop", the phy driver disables all the clock/reset
in exit().

When submitting "usb start" again, the controller-reset driver accesses
the glue register without enabling the clock/reset, and the system hangs.

> Do you expect to add the CCF support ?

Yes, first I thought the clock needed the CCF support to count the clock
function calls, but there is no support to count the reset function calls.
I need another solution.

Currently the phy driver controls all the clock/reset in init() and exit(),
however, it should control the phy clock/reset only.

> If so, then add at least a FIXME code comment that the exit callback
> must be implemented, so that this is not forgotten once CCF is in place.
> I don't want this series to grow much further into some "rework
> everything at once" thing.

As above, I should put the glue clock/reset into probe(),
and the phy clock/reset into init() without using bulk function.

Thank you,

---
Best Regards
Kunihiko Hayashi


More information about the U-Boot mailing list