Re: [PATCH 2/6] dt-bindings: timer: Add schema for realtek,otto-timer

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



(resend as plain text)

On 23/06/24 00:11, Conor Dooley wrote:
> On Fri, Jun 21, 2024 at 04:27:33PM +1200, 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>
>> ---
>>   .../bindings/timer/realtek,otto-timer.yaml    | 54 +++++++++++++++++++
>>   1 file changed, 54 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..b6e85aadbc99
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/timer/realtek,otto-timer.yaml
>> @@ -0,0 +1,54 @@
>> +# 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,rtl930x-timer

I'll change this to rtl9302

>> +      - const: realtek,otto-timer
>> +  reg:
>> +    minItems: 5
>> +    maxItems: 5
> Since minitems == maxitems, can you just make this a list, and define
> what they all are? Ditto interrupts.

This is where more conditions might need to be added. The rtl9302 is a 
single core SoC. So technically it only needs 2 timers (the hardware 
still has 5 but 3 would be unused at the moment). The rtl9312 is a dual 
core SoC so needs 3 timers (I won't be looking at that platform for a 
while). So I think maybe maxItems should stay at 5 but minItems should 
be set based on the compatible.

> reg:
>    items:
>      - foo
>      - bar
>      - baz
>
> etc.

I can do. But they'd all be something like cpuN-event. The way the 
driver is written it grabs a timer for each CPU and uses the next one 
for a global timer.

>> +
>> +  clocks:
>> +    maxItems: 1
>> +
>> +  interrupts:
>> +    minItems: 5
>> +    maxItems: 5
>> +
>> +required:
>> +  - compatible
>> +  - reg
>> +  - clocks
>> +  - interrupts
>> +
>> +additionalProperties: false
>> +
>> +examples:
>> +  - |
>> +    timer0: timer@3200 {
> The label here isn't needed FYI.

Will remove.

>> +      compatible = "realtek,rtl930x-timer", "realtek,otto-timer";
>> +      reg = <0x3200 0x10>, <0x3210 0x10>, <0x3220 0x10>,
>> +            <0x3230 0x10>, <0x3240 0x10>;
>> +
>> +      interrupt-parent = <&intc>;
>> +      interrupts = <7 4>, <8 4>, <9 4>, <10 4>, <11 4>;
Will switch to using proper IRQ flags.
>> +      clocks = <&lx_clk>;
>> +    };
>> -- 
>> 2.45.2
>>




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux