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

From: Chris Packham
Date: Wed Jun 26 2024 - 17:07:17 EST



On 26/06/24 19:13, Krzysztof Kozlowski wrote:
> 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@xxxxxxxxxxxxxxxxxxx>
>>>> ---
>>>>
>>>> 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@xxxxxxxxxxxxxxxxxxx>
>>>> +
>>>> +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?

So just timer0, timer2, ... timer5?