Re: [PATCH v2 05/10] dt-bindings: clock: renesas,r8a78000-cpg: Add firmware property
From: Krzysztof Kozlowski
Date: Wed Aug 12 2026 - 06:59:46 EST
On 12/08/2026 12:02, Geert Uytterhoeven wrote:
> Hi Krzysztof,
>
> On Wed, 12 Aug 2026 at 11:51, Krzysztof Kozlowski <krzk@xxxxxxxxxx> wrote:
>> On 12/08/2026 11:47, Geert Uytterhoeven wrote:
>>>>>>>>> + firmware:
>>>>>>>>
>>>>>>>> RPi is doing similar, but I have doubts. It looks way too close to
>>>>>>>> generic "syscon" which is disallowed.
>>>>>>>>
>>>>>>>> I think this should be vendor+purpose specific, e.g.:
>>>>>>>> "renesas,scmi-transport" or "renesas,scmi-firmware"
>>>>>>
>>>>>> If you can tell me the resource that a 'firmware' provider provides then
>>>>>> it is fine, but you can't.
>>>>>
>>>>> It provides a firmware API, which is not available until the firmware
>>>>> provider is initialized.
>>>>
>>>> I don't know what "a firmware API" is. What does it provide? I know what
>>>
>>> It can provide lots of things (everything we are no longer allowed to
>>> touch directly from Linux ;-)
>>>
>>>> a clock, GPIO, reset, interrupt, etc. provider is.
>>>
>>> A clock is an object you can access through the clock API.
>>> (s/clock/.../ for the other cases).
>>> Firmware is a service (virtual object) you can access through a
>>> firmware API.
>>>
>>> In all cases, the consumer of the object or service needs to know
>>> which object or service to use (there can be multiple).
>>>
>>> In all cases you cannot access the object or service until it is
>>> available (initialized and registered), for which we have -EPROBE_DEFER,
>>> and/or "[PATCH v2 02/10] of: property: fw_devlink: Add support for
>>> firmware".
>>>
>>> Thanks for your understanding ;-)
>>
>> I think that's the difference here. Clock is not an object, but a signal
>> on a wire or within IC coming from one device (provider) to another
>> (consumer). Firmware is not a signal, not a wire, not anything which can
>> be provided from one to another.
>
> Oh yes, it is a service provided by the secure world or a different
> CPU core to the application core running Linux.
Service is still not a resource. Not mentioning it is way too generic,
because anything can be a service. We have entire services-based economies.
Best regards,
Krzysztof