2023-05-25 13:00:24

by Claudiu Beznea

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

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 <[email protected]>
---
.../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 <[email protected]>
+
+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



2023-05-25 17:23:23

by Conor Dooley

[permalink] [raw]
Subject: Re: [PATCH 3/5] dt-bindings: timer: microchip,sam9x60-pit64b: convert to yaml

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 <[email protected]>
> ---
> .../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 <[email protected]>
> +
> +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
>


Attachments:
(No filename) (3.59 kB)
signature.asc (235.00 B)
Download all attachments

2023-05-26 05:20:33

by Claudiu Beznea

[permalink] [raw]
Subject: Re: [PATCH 3/5] dt-bindings: timer: microchip,sam9x60-pit64b: convert to yaml

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

2023-05-26 06:36:47

by Conor Dooley

[permalink] [raw]
Subject: Re: [PATCH 3/5] dt-bindings: timer: microchip,sam9x60-pit64b: convert to yaml

Hey Claudiu,

On Fri, May 26, 2023 at 04:47:28AM +0000, [email protected] 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
>


Attachments:
(No filename) (1.24 kB)
signature.asc (235.00 B)
Download all attachments

2023-05-26 07:19:13

by Claudiu Beznea

[permalink] [raw]
Subject: Re: [PATCH 3/5] dt-bindings: timer: microchip,sam9x60-pit64b: convert to yaml

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, [email protected] 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
>> [email protected]
>> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

2023-05-26 08:02:38

by Conor Dooley

[permalink] [raw]
Subject: Re: [PATCH 3/5] dt-bindings: timer: microchip,sam9x60-pit64b: convert to yaml

On Fri, May 26, 2023 at 06:41:39AM +0000, [email protected] wrote:
> On 26.05.2023 09:23, Conor Dooley wrote:
> > On Fri, May 26, 2023 at 04:47:28AM +0000, [email protected] 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.


Attachments:
(No filename) (1.58 kB)
signature.asc (235.00 B)
Download all attachments

2023-06-08 20:32:32

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH 3/5] dt-bindings: timer: microchip,sam9x60-pit64b: convert to yaml

On Fri, May 26, 2023 at 08:55:39AM +0100, Conor Dooley wrote:
> On Fri, May 26, 2023 at 06:41:39AM +0000, [email protected] wrote:
> > On 26.05.2023 09:23, Conor Dooley wrote:
> > > On Fri, May 26, 2023 at 04:47:28AM +0000, [email protected] 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