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 |
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 >
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
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 >
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
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.
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 --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"; + }; + +...
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