Re: [PATCH v2 4/8] dt-bindings: timer: Add schema for realtek,otto-timer

Krzysztof Kozlowski
2024-06-26T07:13:58Z

On 24/06/2024 07:21, Chris Packham wrote:
>
> On 24/06/24 16:49, Krzysztof Kozlowski wrote:
>> On 24/06/2024 03:22, Chris Packham wrote:
>>> Add the devicetree schema for the realtek,otto-timer present on a number
>>> of Realtek SoCs.
>>>
>>> Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
>>> ---
>>>
>>> Notes:
>>> Changes in v2:
>>> - Use specific compatible
>> Where? I do not see changes.
>
> In v1 it was rtl930x-timer, I've updated it to rtl9302-timer

Ah, I thought you wanted to switch from generic fallback to specific
compatible... fine.

>
>>> - Remove unnecessary label
>>> - Remove unused irq flags (interrupt controller is one-cell)
>>> - Set minItems for reg and interrupts based on compatible
>>>
>>> .../bindings/timer/realtek,otto-timer.yaml | 66 +++++++++++++++++++
>>> 1 file changed, 66 insertions(+)
>>> create mode 100644 Documentation/devicetree/bindings/timer/realtek,otto-timer.yaml
>>>
>>> diff --git a/Documentation/devicetree/bindings/timer/realtek,otto-timer.yaml b/Documentation/devicetree/bindings/timer/realtek,otto-timer.yaml
>>> new file mode 100644
>>> index 000000000000..13ea7aa946fe
>>> --- /dev/null
>>> +++ b/Documentation/devicetree/bindings/timer/realtek,otto-timer.yaml
>>> @@ -0,0 +1,66 @@
>>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>>> +%YAML 1.2
>>> +---
>>> +$id: http://devicetree.org/schemas/timer/realtek,otto-timer.yaml#
>>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>>> +
>>> +title: Realtek Otto SoCs Timer/Counter
>>> +
>>> +description:
>>> + Realtek SoCs support a number of timers/counters. These are used
>>> + as a per CPU clock event generator and an overall CPU clocksource.
>>> +
>>> +maintainers:
>>> + - Chris Packham <chris.packham@alliedtelesis.co.nz>
>>> +
>>> +properties:
>>> + $nodename:
>>> + pattern: "^timer@[0-9a-f]+$"
>>> +
>>> + compatible:
>>> + items:
>>> + - enum:
>>> + - realtek,rtl9302-timer
>>> + - const: realtek,otto-timer
>>> +
>>> + reg:
>>> + maxItems: 5
>> Nothing improved.
>>
>>> +
>>> + clocks:
>>> + maxItems: 1
>>> +
>>> + interrupts:
>>> + maxItems: 5
>> Nothing improved.
>>
>>> +
>>> +allOf:
>>> + - if:
>>> + properties:
>>> + compatible:
>>> + contains:
>>> + const: realtek,rtl9302-timer
>>> + then:
>>> + properties:
>>> + reg:
>>> + minItems: 2
>>> + interrupts:
>>> + minItems: 2
>> No, that's just incorrect. You do not have more than one variant, so it
>> is just 2 items. Or 5 items, not 2-5.
>
> I've been told in the past that the device-tree should describe the
> hardware. Which in this case has 5 timers. But I'm also told to give
> them names which I struggle to do because some of them aren't used.

Used as in Linux driver? Does not matter.

>
> So do you want something like this:
>
> clocks:
>     items:
>         - description: CPU0 event clock
>         - description: system clock source
>         - description: unused
>         - description: unused
>         - description: unused

No, if your datasheet or any other source of information (e.g.
downstream sources) mention 5 items, then name properly 5 items.
Otherwise how do you know that there are 5, not 2, clocks/interrupts/reg?

Best regards,
Krzysztof