Re: [PATCH 1/2] dt-bindings: phy: Add sa8255p high-speed USB PHY
From: Krzysztof Kozlowski
Date: Tue Aug 11 2026 - 02:19:24 EST
On 10/08/2026 16:59, Mattijs Korpershoek wrote:
>>> + power-domain-names:
>>> + items:
>>> + - const: transfer
>>> + - const: core
>>
>> Here and in your other binding you call these 'transfer' and 'core' but
>> all other bindings call them 'power' and 'perf'. Why this difference?
>
> Thanks for the question. I had to do some digging because I did not know
> the answer to this.
>
> Per my understanding, the SCMI firmware (in my case, gearvm) exposes
> multiple protocols identified by a protocol_id.
>
> For example, power domains have protocol_id=0x11 and and performance
> domain have protocol_id=0x13. This is defined in ARM's den0056 spec:
> https://support.arm.com/documentation/den0056/f/
>
> Each USB phy has 2 distinct power domains.
> This can be observed at runtime from linux via:
>
> /sys/kernel/debug/pm_genpd # grep 'scmi-power-usb0.*phy.*' pm_genpd_summary
> scmi-power-usb0-ss-phy-pm off-0 0
> scmi-power-usb0-ss-phy-rpm off-0 0
> scmi-power-usb0-hs-phy-pm off-0 0
> scmi-power-usb0-hs-phy-rpm off-0 0
What about perf domains?
>
> In the case of the other bindings - for example i2c - there is only one
> power domain (0x11) and one perf domain (protocol_id 0x13):
>
> /sys/kernel/debug/pm_genpd # grep i2c0 pm_genpd_summary
> scmi-perf-i2c0_7 on 0
> scmi-power-i2c0 off-0 0
>
> I hope that explains the naming difference. Please let me know if this
> is still unclear.
>
>> What are these domains responsible for?
>
> If we take the example of the high-speed (hs) phy, we can see that on
> the firmware side, the only difference is the -pm or -rpm suffix.
> When Linux requests scmi-power-usb0-hs-phy-pm (mapped to 'core' in the
> bindings), the SCMI firmware (gearvm) will interact with the reset line,
> the clks and the regulator.
> When requesting scmi-power-usb0-hs-phy-rpms (mapped to 'transfer' in the
> bindings), the SCMI firmware will only interact with the USB clocks
> (reset and regulators remain unchanged).
>
>>
>> Commit msg is pretty useless here - repeats the diff. I can read the
>> diff but I still do not understand why such naming.
>
> 'core' controls reset, clocks and regulators.
> 'transfer' only controls clocks. Putting 'transfer' to 'off' is
> interesting in case of runtime suspend/resume as it cuts the data
> transfer (by disabling usb clock)
Either the binding or the commit msg should be clear that these are
power domains responsible only for power on SA platform, not for perf
(so a power power domain... ehh :/)
>
> Is it more clear that way?
>
>>
>> And why core is not the first one? It clearly feels like the power
>> domain thus the main one.
>
> The order is based on how it's defined in the SCMI firmware. It's not a
Then core goes before transfer.
Best regards,
Krzysztof