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? Best regards, Krzysztof