diff mbox series

[3/5] dt-bindings: timer: microchip,sam9x60-pit64b: convert to yaml

Message ID 20230525125602.640855-4-claudiu.beznea@microchip.com (mailing list archive)
State Superseded
Headers show
Series dt-bindings: timer: AT91 convert to YAML | expand

Commit Message

Claudiu Beznea May 25, 2023, 12:56 p.m. UTC
Convert Microchip PIT64B to YAML. Along with it clock-names binding has
been added as the driver needs it to get PIT64B clocks.

Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
---
 .../devicetree/bindings/arm/atmel-sysregs.txt |  6 --
 .../timer/microchip,sam9x60-pit64b.yaml       | 56 +++++++++++++++++++
 2 files changed, 56 insertions(+), 6 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/timer/microchip,sam9x60-pit64b.yaml

Comments

Conor Dooley May 25, 2023, 5:14 p.m. UTC | #1
On Thu, May 25, 2023 at 03:56:00PM +0300, Claudiu Beznea wrote:
> Convert Microchip PIT64B to YAML. Along with it clock-names binding has
> been added as the driver needs it to get PIT64B clocks.

I don't think both of these PIT things need to have different binding
files. 90% of it is the same, just the clock-names/number - so you can
combine the two into one file with an
allOf:
  - if:
     property:
       compatible:
         contains:
	   const: foo
    then:

    else:

type of construct.
Gimmie a shout tomorrow if you need a hand w/ it.

Thanks,
Conor.

> Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
> ---
>  .../devicetree/bindings/arm/atmel-sysregs.txt |  6 --
>  .../timer/microchip,sam9x60-pit64b.yaml       | 56 +++++++++++++++++++
>  2 files changed, 56 insertions(+), 6 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/timer/microchip,sam9x60-pit64b.yaml
> 
> diff --git a/Documentation/devicetree/bindings/arm/atmel-sysregs.txt b/Documentation/devicetree/bindings/arm/atmel-sysregs.txt
> index 7024839c5da2..54d3f586403e 100644
> --- a/Documentation/devicetree/bindings/arm/atmel-sysregs.txt
> +++ b/Documentation/devicetree/bindings/arm/atmel-sysregs.txt
> @@ -4,12 +4,6 @@ Chipid required properties:
>  - compatible: Should be "atmel,sama5d2-chipid" or "microchip,sama7g5-chipid"
>  - reg : Should contain registers location and length
>  
> -PIT64B Timer required properties:
> -- compatible: Should be "microchip,sam9x60-pit64b"
> -- reg: Should contain registers location and length
> -- interrupts: Should contain interrupt for PIT64B timer
> -- clocks: Should contain the available clock sources for PIT64B timer.
> -
>  System Timer (ST) required properties:
>  - compatible: Should be "atmel,at91rm9200-st", "syscon", "simple-mfd"
>  - reg: Should contain registers location and length
> diff --git a/Documentation/devicetree/bindings/timer/microchip,sam9x60-pit64b.yaml b/Documentation/devicetree/bindings/timer/microchip,sam9x60-pit64b.yaml
> new file mode 100644
> index 000000000000..9378eca38138
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/timer/microchip,sam9x60-pit64b.yaml
> @@ -0,0 +1,56 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/timer/microchip,sam9x60-pit64b.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Microchip 64-bit Periodic Interval Timer (PIT64B)
> +
> +maintainers:
> +  - Claudiu Beznea <claudiu.beznea@microchip.com>
> +
> +description:
> +  The 64-bit periodic interval timer provides the operating system scheduler
> +  interrupt. It is designed to offer maximum accuracy and efficient management,
> +  even for systems with long response times.
> +
> +properties:
> +  compatible:
> +    const: microchip,sam9x60-pit64b
> +
> +  reg:
> +    maxItems: 1
> +
> +  interrupts:
> +    maxItems: 1
> +
> +  clocks:
> +    maxItems: 2
> +
> +  clock-names:
> +    items:
> +      - const: pclk
> +      - const: gclk
> +
> +required:
> +  - compatible
> +  - reg
> +  - interrupts
> +  - clocks
> +  - clock-names
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    #include <dt-bindings/clock/at91.h>
> +
> +    pit64b: timer@f0028000 {
> +        compatible = "microchip,sam9x60-pit64b";
> +        reg = <0xf0028000 0x100>;
> +        interrupts = <37 IRQ_TYPE_LEVEL_HIGH 7>;
> +        clocks = <&pmc PMC_TYPE_PERIPHERAL 37>, <&pmc PMC_TYPE_GCK 37>;
> +        clock-names = "pclk", "gclk";
> +    };
> +
> +...
> -- 
> 2.34.1
>
Claudiu Beznea May 26, 2023, 4:47 a.m. UTC | #2
On 25.05.2023 20:14, Conor Dooley wrote:
>> Convert Microchip PIT64B to YAML. Along with it clock-names binding has
>> been added as the driver needs it to get PIT64B clocks.
> I don't think both of these PIT things need to have different binding
> files. 90% of it is the same, just the clock-names/number - so you can

But these are different hardware blocks with different functionalities and
different drivers.

> combine the two into one file with an
Conor Dooley May 26, 2023, 6:23 a.m. UTC | #3
Hey Claudiu,

On Fri, May 26, 2023 at 04:47:28AM +0000, Claudiu.Beznea@microchip.com wrote:
> On 25.05.2023 20:14, Conor Dooley wrote:
> >> Convert Microchip PIT64B to YAML. Along with it clock-names binding has
> >> been added as the driver needs it to get PIT64B clocks.
> > I don't think both of these PIT things need to have different binding
> > files. 90% of it is the same, just the clock-names/number - so you can
> 
> But these are different hardware blocks with different functionalities and
> different drivers.

Having different drivers doesn't preclude having them in the same
binding provided the function/description etc are more or less
identical. I was confused by:

+description:
+  The 64-bit periodic interval timer provides the operating system scheduler
+  interrupt. It is designed to offer maximum accuracy and efficient management,
+  even for systems with long response times.

+description:
+  Atmel periodic interval timer provides the operating system’s scheduler
+  interrupt. It is designed to offer maximum accuracy and efficient management,
+  even for systems with long response time.

Those seemed like they do the same thing to me!

Cheers,
Conor

> 
> > combine the two into one file with an
>
Claudiu Beznea May 26, 2023, 6:41 a.m. UTC | #4
On 26.05.2023 09:23, Conor Dooley wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
> 
> Hey Claudiu,
> 
> On Fri, May 26, 2023 at 04:47:28AM +0000, Claudiu.Beznea@microchip.com wrote:
>> On 25.05.2023 20:14, Conor Dooley wrote:
>>>> Convert Microchip PIT64B to YAML. Along with it clock-names binding has
>>>> been added as the driver needs it to get PIT64B clocks.
>>> I don't think both of these PIT things need to have different binding
>>> files. 90% of it is the same, just the clock-names/number - so you can
>>
>> But these are different hardware blocks with different functionalities and
>> different drivers.
> 
> Having different drivers doesn't preclude having them in the same
> binding provided the function/description etc are more or less
> identical. I was confused by:
> 
> +description:
> +  The 64-bit periodic interval timer provides the operating system scheduler
> +  interrupt. It is designed to offer maximum accuracy and efficient management,
> +  even for systems with long response times.
> 
> +description:
> +  Atmel periodic interval timer provides the operating system’s scheduler
> +  interrupt. It is designed to offer maximum accuracy and efficient management,
> +  even for systems with long response time.
> 
> Those seemed like they do the same thing to me!

They do the same thing, they are timers... But the way they do it (from
hardware perspective) is totally different. With this would you still
prefer to have them merged?

Thank you,
Claudiu

> 
> Cheers,
> Conor
> 
>>
>>> combine the two into one file with an
>>
>>
>> _______________________________________________
>> linux-arm-kernel mailing list
>> linux-arm-kernel@lists.infradead.org
>> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Conor Dooley May 26, 2023, 7:55 a.m. UTC | #5
On Fri, May 26, 2023 at 06:41:39AM +0000, Claudiu.Beznea@microchip.com wrote:
> On 26.05.2023 09:23, Conor Dooley wrote:
> > On Fri, May 26, 2023 at 04:47:28AM +0000, Claudiu.Beznea@microchip.com wrote:
> >> On 25.05.2023 20:14, Conor Dooley wrote:
> >>>> Convert Microchip PIT64B to YAML. Along with it clock-names binding has
> >>>> been added as the driver needs it to get PIT64B clocks.
> >>> I don't think both of these PIT things need to have different binding
> >>> files. 90% of it is the same, just the clock-names/number - so you can
> >>
> >> But these are different hardware blocks with different functionalities and
> >> different drivers.
> > 
> > Having different drivers doesn't preclude having them in the same
> > binding provided the function/description etc are more or less
> > identical. I was confused by:
> > 
> > +description:
> > +  The 64-bit periodic interval timer provides the operating system scheduler
> > +  interrupt. It is designed to offer maximum accuracy and efficient management,
> > +  even for systems with long response times.
> > 
> > +description:
> > +  Atmel periodic interval timer provides the operating system’s scheduler
> > +  interrupt. It is designed to offer maximum accuracy and efficient management,
> > +  even for systems with long response time.
> > 
> > Those seemed like they do the same thing to me!
> 
> They do the same thing, they are timers... But the way they do it (from
> hardware perspective) is totally different. With this would you still
> prefer to have them merged?

Yeah, one binding would be my preference.
Rob Herring (Arm) June 8, 2023, 8:17 p.m. UTC | #6
On Fri, May 26, 2023 at 08:55:39AM +0100, Conor Dooley wrote:
> On Fri, May 26, 2023 at 06:41:39AM +0000, Claudiu.Beznea@microchip.com wrote:
> > On 26.05.2023 09:23, Conor Dooley wrote:
> > > On Fri, May 26, 2023 at 04:47:28AM +0000, Claudiu.Beznea@microchip.com wrote:
> > >> On 25.05.2023 20:14, Conor Dooley wrote:
> > >>>> Convert Microchip PIT64B to YAML. Along with it clock-names binding has
> > >>>> been added as the driver needs it to get PIT64B clocks.
> > >>> I don't think both of these PIT things need to have different binding
> > >>> files. 90% of it is the same, just the clock-names/number - so you can
> > >>
> > >> But these are different hardware blocks with different functionalities and
> > >> different drivers.
> > > 
> > > Having different drivers doesn't preclude having them in the same
> > > binding provided the function/description etc are more or less
> > > identical. I was confused by:
> > > 
> > > +description:
> > > +  The 64-bit periodic interval timer provides the operating system scheduler
> > > +  interrupt. It is designed to offer maximum accuracy and efficient management,
> > > +  even for systems with long response times.
> > > 
> > > +description:
> > > +  Atmel periodic interval timer provides the operating system’s scheduler
> > > +  interrupt. It is designed to offer maximum accuracy and efficient management,
> > > +  even for systems with long response time.
> > > 
> > > Those seemed like they do the same thing to me!
> > 
> > They do the same thing, they are timers... But the way they do it (from
> > hardware perspective) is totally different. With this would you still
> > prefer to have them merged?
> 
> Yeah, one binding would be my preference.

I'd probably just leave them separate if they're pretty much unrelated.

Rob
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/arm/atmel-sysregs.txt b/Documentation/devicetree/bindings/arm/atmel-sysregs.txt
index 7024839c5da2..54d3f586403e 100644
--- a/Documentation/devicetree/bindings/arm/atmel-sysregs.txt
+++ b/Documentation/devicetree/bindings/arm/atmel-sysregs.txt
@@ -4,12 +4,6 @@  Chipid required properties:
 - compatible: Should be "atmel,sama5d2-chipid" or "microchip,sama7g5-chipid"
 - reg : Should contain registers location and length
 
-PIT64B Timer required properties:
-- compatible: Should be "microchip,sam9x60-pit64b"
-- reg: Should contain registers location and length
-- interrupts: Should contain interrupt for PIT64B timer
-- clocks: Should contain the available clock sources for PIT64B timer.
-
 System Timer (ST) required properties:
 - compatible: Should be "atmel,at91rm9200-st", "syscon", "simple-mfd"
 - reg: Should contain registers location and length
diff --git a/Documentation/devicetree/bindings/timer/microchip,sam9x60-pit64b.yaml b/Documentation/devicetree/bindings/timer/microchip,sam9x60-pit64b.yaml
new file mode 100644
index 000000000000..9378eca38138
--- /dev/null
+++ b/Documentation/devicetree/bindings/timer/microchip,sam9x60-pit64b.yaml
@@ -0,0 +1,56 @@ 
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/timer/microchip,sam9x60-pit64b.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Microchip 64-bit Periodic Interval Timer (PIT64B)
+
+maintainers:
+  - Claudiu Beznea <claudiu.beznea@microchip.com>
+
+description:
+  The 64-bit periodic interval timer provides the operating system scheduler
+  interrupt. It is designed to offer maximum accuracy and efficient management,
+  even for systems with long response times.
+
+properties:
+  compatible:
+    const: microchip,sam9x60-pit64b
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  clocks:
+    maxItems: 2
+
+  clock-names:
+    items:
+      - const: pclk
+      - const: gclk
+
+required:
+  - compatible
+  - reg
+  - interrupts
+  - clocks
+  - clock-names
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/clock/at91.h>
+
+    pit64b: timer@f0028000 {
+        compatible = "microchip,sam9x60-pit64b";
+        reg = <0xf0028000 0x100>;
+        interrupts = <37 IRQ_TYPE_LEVEL_HIGH 7>;
+        clocks = <&pmc PMC_TYPE_PERIPHERAL 37>, <&pmc PMC_TYPE_GCK 37>;
+        clock-names = "pclk", "gclk";
+    };
+
+...