[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