Message ID | 20240110102535.246177-3-dharma.b@microchip.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Convert Microchip's HLCDC Text based DT bindings to JSON schema | expand |
On Wed, 10 Jan 2024 15:55:34 +0530, Dharma Balasubiramani wrote: > Convert the atmel,hlcdc binding to DT schema format. > > Signed-off-by: Dharma Balasubiramani <dharma.b@microchip.com> > --- > .../devicetree/bindings/mfd/atmel,hlcdc.yaml | 106 ++++++++++++++++++ > .../devicetree/bindings/mfd/atmel-hlcdc.txt | 56 --------- > 2 files changed, 106 insertions(+), 56 deletions(-) > create mode 100644 Documentation/devicetree/bindings/mfd/atmel,hlcdc.yaml > delete mode 100644 Documentation/devicetree/bindings/mfd/atmel-hlcdc.txt > My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check' on your patch (DT_CHECKER_FLAGS is new in v5.13): yamllint warnings/errors: dtschema/dtc warnings/errors: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/mfd/atmel,hlcdc.yaml: Error in referenced schema matching $id: http://devicetree.org/schemas/pwm/atmel,hlcdc-pwm.yaml /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/display/atmel/atmel,hlcdc-dc.example.dtb: hlcdc@f0030000: hlcdc-pwm: False schema does not allow {'compatible': ['atmel,hlcdc-pwm'], 'pinctrl-names': ['default'], 'pinctrl-0': [[4294967295]], '#pwm-cells': [[3]]} from schema $id: http://devicetree.org/schemas/mfd/atmel,hlcdc.yaml# /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/mfd/atmel,hlcdc.example.dtb: hlcdc@f0030000: hlcdc-pwm: False schema does not allow {'compatible': ['atmel,hlcdc-pwm'], 'pinctrl-names': ['default'], 'pinctrl-0': [[4294967295]], '#pwm-cells': [[3]]} from schema $id: http://devicetree.org/schemas/mfd/atmel,hlcdc.yaml# Documentation/devicetree/bindings/mfd/atmel,hlcdc.example.dtb: /example-0/hlcdc@f0030000/hlcdc-pwm: failed to match any schema with compatible: ['atmel,hlcdc-pwm'] doc reference errors (make refcheckdocs): See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20240110102535.246177-3-dharma.b@microchip.com The base for the series is generally the latest rc1. A different dependency should be noted in *this* patch. If you already ran 'make dt_binding_check' and didn't see the above error(s), then make sure 'yamllint' is installed and dt-schema is up to date: pip3 install dtschema --upgrade Please check and re-submit after running the above command yourself. Note that DT_SCHEMA_FILES can be set to your schema file to speed up checking your schema. However, it must be unset to test all examples with your schema.
On 10/01/2024 11:25, Dharma Balasubiramani wrote: > Convert the atmel,hlcdc binding to DT schema format. > > Signed-off-by: Dharma Balasubiramani <dharma.b@microchip.com> > --- > .../devicetree/bindings/mfd/atmel,hlcdc.yaml | 106 ++++++++++++++++++ > .../devicetree/bindings/mfd/atmel-hlcdc.txt | 56 --------- > 2 files changed, 106 insertions(+), 56 deletions(-) > create mode 100644 Documentation/devicetree/bindings/mfd/atmel,hlcdc.yaml > delete mode 100644 Documentation/devicetree/bindings/mfd/atmel-hlcdc.txt > > diff --git a/Documentation/devicetree/bindings/mfd/atmel,hlcdc.yaml b/Documentation/devicetree/bindings/mfd/atmel,hlcdc.yaml > new file mode 100644 > index 000000000000..555d6faa9104 > --- /dev/null > +++ b/Documentation/devicetree/bindings/mfd/atmel,hlcdc.yaml This looks not tested, so limited review follows: > @@ -0,0 +1,106 @@ > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > +# Copyright (C) 2024 Microchip Technology, Inc. and its subsidiaries > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/mfd/atmel,hlcdc.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Atmel's HLCDC (High LCD Controller) MFD driver Drop "MFD driver" and rather describe/name the hardware. MFD is Linux term, so I really doubt that's how this was called. > + > +maintainers: > + - Nicolas Ferre <nicolas.ferre@microchip.com> > + - Alexandre Belloni <alexandre.belloni@bootlin.com> > + - Claudiu Beznea <claudiu.beznea@tuxon.dev> > + > +description: | > + Device-Tree bindings for Atmel's HLCDC (High LCD Controller) MFD driver. Drop > + The HLCDC IP exposes two subdevices: > + # a PWM chip: see ../pwm/atmel,hlcdc-pwm.yaml > + # a Display Controller: see ../display/atmel/atmel,hlcdc-dc.yaml Rephrase to describe hardware. Drop redundant paths. > + > +properties: > + compatible: > + enum: > + - atmel,at91sam9n12-hlcdc > + - atmel,at91sam9x5-hlcdc > + - atmel,sama5d2-hlcdc > + - atmel,sama5d3-hlcdc > + - atmel,sama5d4-hlcdc > + - microchip,sam9x60-hlcdc > + - microchip,sam9x75-xlcdc > + > + reg: > + maxItems: 1 > + > + interrupts: > + maxItems: 1 > + > + clocks: > + maxItems: 3 > + > + clock-names: > + anyOf: > + - items: > + - enum: > + - sys_clk > + - lvds_pll_clk Old binding was not mentioning this and you did not describe differences against pure conversion. You have entire commit msg for this... > + - contains: > + const: periph_clk > + - contains: > + const: slow_clk > + maxItems: 3 Why it has to be so complicated? I doubt that same devices have different inputs. > + > + hlcdc-display-controller: Does anything depend on the name? If not, then just display-controller > + $ref: /schemas/display/atmel/atmel,hlcdc-dc.yaml > + > + hlcdc-pwm: Same comment. > + $ref: /schemas/pwm/atmel,hlcdc-pwm.yaml There is no such file. > + > +required: > + - compatible > + - reg > + - clocks > + - clock-names > + - interrupts > + > +additionalProperties: false > + > +examples: > + - | > + #include <dt-bindings/clock/at91.h> > + #include <dt-bindings/dma/at91.h> > + #include <dt-bindings/interrupt-controller/arm-gic.h> > + > + hlcdc: hlcdc@f0030000 { Node names should be generic. See also an explanation and list of examples (not exhaustive) in DT specification: https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html#generic-names-recommendation > + compatible = "atmel,sama5d3-hlcdc"; > + reg = <0xf0030000 0x2000>; > + clocks = <&lcdc_clk>, <&lcdck>, <&clk32k>; > + clock-names = "periph_clk","sys_clk", "slow_clk"; Missing space after , > + interrupts = <36 IRQ_TYPE_LEVEL_HIGH 0>; > + > + hlcdc-display-controller { > + compatible = "atmel,hlcdc-display-controller"; > + pinctrl-names = "default"; > + pinctrl-0 = <&pinctrl_lcd_base &pinctrl_lcd_rgb888>; > + #address-cells = <1>; > + #size-cells = <0>; > + > + port@0 { > + #address-cells = <1>; > + #size-cells = <0>; > + reg = <0>; > + > + hlcdc_panel_output: endpoint@0 { > + reg = <0>; > + remote-endpoint = <&panel_input>; > + }; > + }; > + }; > + Best regards, Krzysztof
Hi Krzysztof, On 10/01/24 11:31 pm, Krzysztof Kozlowski wrote: > EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe > > On 10/01/2024 11:25, Dharma Balasubiramani wrote: >> Convert the atmel,hlcdc binding to DT schema format. >> >> Signed-off-by: Dharma Balasubiramani <dharma.b@microchip.com> >> --- >> .../devicetree/bindings/mfd/atmel,hlcdc.yaml | 106 ++++++++++++++++++ >> .../devicetree/bindings/mfd/atmel-hlcdc.txt | 56 --------- >> 2 files changed, 106 insertions(+), 56 deletions(-) >> create mode 100644 Documentation/devicetree/bindings/mfd/atmel,hlcdc.yaml >> delete mode 100644 Documentation/devicetree/bindings/mfd/atmel-hlcdc.txt >> >> diff --git a/Documentation/devicetree/bindings/mfd/atmel,hlcdc.yaml b/Documentation/devicetree/bindings/mfd/atmel,hlcdc.yaml >> new file mode 100644 >> index 000000000000..555d6faa9104 >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/mfd/atmel,hlcdc.yaml > > This looks not tested, so limited review follows: I acknowledge that I didn't test the patches individually. I appreciate your understanding. Taken care in v2. > >> @@ -0,0 +1,106 @@ >> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) >> +# Copyright (C) 2024 Microchip Technology, Inc. and its subsidiaries >> +%YAML 1.2 >> +--- >> +$id: http://devicetree.org/schemas/mfd/atmel,hlcdc.yaml# >> +$schema: http://devicetree.org/meta-schemas/core.yaml# >> + >> +title: Atmel's HLCDC (High LCD Controller) MFD driver > > Drop "MFD driver" and rather describe/name the hardware. MFD is Linux > term, so I really doubt that's how this was called. Done. > >> + >> +maintainers: >> + - Nicolas Ferre <nicolas.ferre@microchip.com> >> + - Alexandre Belloni <alexandre.belloni@bootlin.com> >> + - Claudiu Beznea <claudiu.beznea@tuxon.dev> >> + >> +description: | >> + Device-Tree bindings for Atmel's HLCDC (High LCD Controller) MFD driver. > > Drop Done. > >> + The HLCDC IP exposes two subdevices: >> + # a PWM chip: see ../pwm/atmel,hlcdc-pwm.yaml >> + # a Display Controller: see ../display/atmel/atmel,hlcdc-dc.yaml > > Rephrase to describe hardware. Drop redundant paths. Sure, I will truncate this to "subdevices: a PWM chip and a display controller." & drop the |. I added description about those two subdevices below. > >> + >> +properties: >> + compatible: >> + enum: >> + - atmel,at91sam9n12-hlcdc >> + - atmel,at91sam9x5-hlcdc >> + - atmel,sama5d2-hlcdc >> + - atmel,sama5d3-hlcdc >> + - atmel,sama5d4-hlcdc >> + - microchip,sam9x60-hlcdc >> + - microchip,sam9x75-xlcdc >> + >> + reg: >> + maxItems: 1 >> + >> + interrupts: >> + maxItems: 1 >> + >> + clocks: >> + maxItems: 3 >> + >> + clock-names: >> + anyOf: >> + - items: >> + - enum: >> + - sys_clk >> + - lvds_pll_clk > > Old binding was not mentioning this and you did not describe differences > against pure conversion. You have entire commit msg for this... Done, added commit message in v2. > >> + - contains: >> + const: periph_clk >> + - contains: >> + const: slow_clk >> + maxItems: 3 > > Why it has to be so complicated? I doubt that same devices have > different inputs. I will modify it to clock-names: items: - const: periph_clk - enum: [sys_clk, lvds_pll_clk] - const: slow_clk in v3. > >> + >> + hlcdc-display-controller: > > Does anything depend on the name? If not, then just display-controller Got an error "'hlcdc-display-controller' does not match any of the regexes: 'pinctrl-[0-9]+'" so I retained it in v2,but as conor advised to have node names generic and we can easily adopt, I will modify it in v3. > >> + $ref: /schemas/display/atmel/atmel,hlcdc-dc.yaml >> + >> + hlcdc-pwm: > > Same comment. Sure, I will modify it in v3. > >> + $ref: /schemas/pwm/atmel,hlcdc-pwm.yaml > > There is no such file. This occurred because I added it before pwm patch. In v2, I introduced 'display' and 'pwm' before 'mfd' so that I could reference them here. > >> + >> +required: >> + - compatible >> + - reg >> + - clocks >> + - clock-names >> + - interrupts >> + >> +additionalProperties: false >> + >> +examples: >> + - | >> + #include <dt-bindings/clock/at91.h> >> + #include <dt-bindings/dma/at91.h> >> + #include <dt-bindings/interrupt-controller/arm-gic.h> >> + >> + hlcdc: hlcdc@f0030000 { > > Node names should be generic. See also an explanation and list of > examples (not exhaustive) in DT specification: > https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html#generic-names-recommendation Done. > > >> + compatible = "atmel,sama5d3-hlcdc"; >> + reg = <0xf0030000 0x2000>; >> + clocks = <&lcdc_clk>, <&lcdck>, <&clk32k>; >> + clock-names = "periph_clk","sys_clk", "slow_clk"; > > Missing space after , Sure, fixed in v2.
On 17/01/2024 03:22, Dharma.B@microchip.com wrote: > Hi Krzysztof, > On 10/01/24 11:31 pm, Krzysztof Kozlowski wrote: >> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe >> >> On 10/01/2024 11:25, Dharma Balasubiramani wrote: >>> Convert the atmel,hlcdc binding to DT schema format. >>> >>> Signed-off-by: Dharma Balasubiramani <dharma.b@microchip.com> >>> --- >>> .../devicetree/bindings/mfd/atmel,hlcdc.yaml | 106 ++++++++++++++++++ >>> .../devicetree/bindings/mfd/atmel-hlcdc.txt | 56 --------- >>> 2 files changed, 106 insertions(+), 56 deletions(-) >>> create mode 100644 Documentation/devicetree/bindings/mfd/atmel,hlcdc.yaml >>> delete mode 100644 Documentation/devicetree/bindings/mfd/atmel-hlcdc.txt >>> >>> diff --git a/Documentation/devicetree/bindings/mfd/atmel,hlcdc.yaml b/Documentation/devicetree/bindings/mfd/atmel,hlcdc.yaml >>> new file mode 100644 >>> index 000000000000..555d6faa9104 >>> --- /dev/null >>> +++ b/Documentation/devicetree/bindings/mfd/atmel,hlcdc.yaml >> >> This looks not tested, so limited review follows: > I acknowledge that I didn't test the patches individually. I appreciate > your understanding. Taken care in v2. >> >>> @@ -0,0 +1,106 @@ >>> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) >>> +# Copyright (C) 2024 Microchip Technology, Inc. and its subsidiaries >>> +%YAML 1.2 >>> +--- >>> +$id: http://devicetree.org/schemas/mfd/atmel,hlcdc.yaml# >>> +$schema: http://devicetree.org/meta-schemas/core.yaml# >>> + >>> +title: Atmel's HLCDC (High LCD Controller) MFD driver >> >> Drop "MFD driver" and rather describe/name the hardware. MFD is Linux >> term, so I really doubt that's how this was called. > Done. >> >>> + >>> +maintainers: >>> + - Nicolas Ferre <nicolas.ferre@microchip.com> >>> + - Alexandre Belloni <alexandre.belloni@bootlin.com> >>> + - Claudiu Beznea <claudiu.beznea@tuxon.dev> >>> + >>> +description: | >>> + Device-Tree bindings for Atmel's HLCDC (High LCD Controller) MFD driver. >> >> Drop > Done. >> >>> + The HLCDC IP exposes two subdevices: >>> + # a PWM chip: see ../pwm/atmel,hlcdc-pwm.yaml >>> + # a Display Controller: see ../display/atmel/atmel,hlcdc-dc.yaml >> >> Rephrase to describe hardware. Drop redundant paths. > Sure, I will truncate this to "subdevices: a PWM chip and a display > controller." & drop the |. > > I added description about those two subdevices below. Then why do you still keep there comments? # is a comment. ... > in v3. >> >>> + >>> + hlcdc-display-controller: >> >> Does anything depend on the name? If not, then just display-controller > Got an error "'hlcdc-display-controller' does not match any of the > regexes: 'pinctrl-[0-9]+'" so I retained it in v2,but as conor advised > to have node names generic and we can easily adopt, I will modify it in v3. That's not a dependency. I was talking about any users of the binding. User of a binding is for example: Linux kernel driver, other open-source projects, out-of-tree projects. Best regards, Krzysztof
On 17/01/24 1:07 pm, Krzysztof Kozlowski wrote: > EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe > > On 17/01/2024 03:22, Dharma.B@microchip.com wrote: >> Hi Krzysztof, >> On 10/01/24 11:31 pm, Krzysztof Kozlowski wrote: >>> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe >>> >>> On 10/01/2024 11:25, Dharma Balasubiramani wrote: >>>> Convert the atmel,hlcdc binding to DT schema format. >>>> >>>> Signed-off-by: Dharma Balasubiramani <dharma.b@microchip.com> >>>> --- >>>> .../devicetree/bindings/mfd/atmel,hlcdc.yaml | 106 ++++++++++++++++++ >>>> .../devicetree/bindings/mfd/atmel-hlcdc.txt | 56 --------- >>>> 2 files changed, 106 insertions(+), 56 deletions(-) >>>> create mode 100644 Documentation/devicetree/bindings/mfd/atmel,hlcdc.yaml >>>> delete mode 100644 Documentation/devicetree/bindings/mfd/atmel-hlcdc.txt >>>> >>>> diff --git a/Documentation/devicetree/bindings/mfd/atmel,hlcdc.yaml b/Documentation/devicetree/bindings/mfd/atmel,hlcdc.yaml >>>> new file mode 100644 >>>> index 000000000000..555d6faa9104 >>>> --- /dev/null >>>> +++ b/Documentation/devicetree/bindings/mfd/atmel,hlcdc.yaml >>> >>> This looks not tested, so limited review follows: >> I acknowledge that I didn't test the patches individually. I appreciate >> your understanding. Taken care in v2. >>> >>>> @@ -0,0 +1,106 @@ >>>> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) >>>> +# Copyright (C) 2024 Microchip Technology, Inc. and its subsidiaries >>>> +%YAML 1.2 >>>> +--- >>>> +$id: http://devicetree.org/schemas/mfd/atmel,hlcdc.yaml# >>>> +$schema: http://devicetree.org/meta-schemas/core.yaml# >>>> + >>>> +title: Atmel's HLCDC (High LCD Controller) MFD driver >>> >>> Drop "MFD driver" and rather describe/name the hardware. MFD is Linux >>> term, so I really doubt that's how this was called. >> Done. >>> >>>> + >>>> +maintainers: >>>> + - Nicolas Ferre <nicolas.ferre@microchip.com> >>>> + - Alexandre Belloni <alexandre.belloni@bootlin.com> >>>> + - Claudiu Beznea <claudiu.beznea@tuxon.dev> >>>> + >>>> +description: | >>>> + Device-Tree bindings for Atmel's HLCDC (High LCD Controller) MFD driver. >>> >>> Drop >> Done. >>> >>>> + The HLCDC IP exposes two subdevices: >>>> + # a PWM chip: see ../pwm/atmel,hlcdc-pwm.yaml >>>> + # a Display Controller: see ../display/atmel/atmel,hlcdc-dc.yaml >>> >>> Rephrase to describe hardware. Drop redundant paths. >> Sure, I will truncate this to "subdevices: a PWM chip and a display >> controller." & drop the |. >> >> I added description about those two subdevices below. > > Then why do you still keep there comments? # is a comment. Sure, I will drop the comments here. > ... > >> in v3. >>> >>>> + >>>> + hlcdc-display-controller: >>> >>> Does anything depend on the name? If not, then just display-controller >> Got an error "'hlcdc-display-controller' does not match any of the >> regexes: 'pinctrl-[0-9]+'" so I retained it in v2,but as conor advised >> to have node names generic and we can easily adopt, I will modify it in v3. > > That's not a dependency. I was talking about any users of the binding. > User of a binding is for example: Linux kernel driver, other open-source > projects, out-of-tree projects. Sure, I will go with generic names 'display-controller' and 'pwm'.
On 17/01/24 1:07 pm, Krzysztof Kozlowski wrote: > EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe > > On 17/01/2024 03:22, Dharma.B@microchip.com wrote: >> Hi Krzysztof, >> On 10/01/24 11:31 pm, Krzysztof Kozlowski wrote: >>> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe >>> >>> On 10/01/2024 11:25, Dharma Balasubiramani wrote: >>>> Convert the atmel,hlcdc binding to DT schema format. >>>> >>>> Signed-off-by: Dharma Balasubiramani <dharma.b@microchip.com> >>>> --- >>>> .../devicetree/bindings/mfd/atmel,hlcdc.yaml | 106 ++++++++++++++++++ >>>> .../devicetree/bindings/mfd/atmel-hlcdc.txt | 56 --------- >>>> 2 files changed, 106 insertions(+), 56 deletions(-) >>>> create mode 100644 Documentation/devicetree/bindings/mfd/atmel,hlcdc.yaml >>>> delete mode 100644 Documentation/devicetree/bindings/mfd/atmel-hlcdc.txt >>>> >>>> diff --git a/Documentation/devicetree/bindings/mfd/atmel,hlcdc.yaml b/Documentation/devicetree/bindings/mfd/atmel,hlcdc.yaml >>>> new file mode 100644 >>>> index 000000000000..555d6faa9104 >>>> --- /dev/null >>>> +++ b/Documentation/devicetree/bindings/mfd/atmel,hlcdc.yaml >>> >>> This looks not tested, so limited review follows: >> I acknowledge that I didn't test the patches individually. I appreciate >> your understanding. Taken care in v2. >>> >>>> @@ -0,0 +1,106 @@ >>>> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) >>>> +# Copyright (C) 2024 Microchip Technology, Inc. and its subsidiaries >>>> +%YAML 1.2 >>>> +--- >>>> +$id: http://devicetree.org/schemas/mfd/atmel,hlcdc.yaml# >>>> +$schema: http://devicetree.org/meta-schemas/core.yaml# >>>> + >>>> +title: Atmel's HLCDC (High LCD Controller) MFD driver >>> >>> Drop "MFD driver" and rather describe/name the hardware. MFD is Linux >>> term, so I really doubt that's how this was called. >> Done. >>> >>>> + >>>> +maintainers: >>>> + - Nicolas Ferre <nicolas.ferre@microchip.com> >>>> + - Alexandre Belloni <alexandre.belloni@bootlin.com> >>>> + - Claudiu Beznea <claudiu.beznea@tuxon.dev> >>>> + >>>> +description: | >>>> + Device-Tree bindings for Atmel's HLCDC (High LCD Controller) MFD driver. >>> >>> Drop >> Done. >>> >>>> + The HLCDC IP exposes two subdevices: >>>> + # a PWM chip: see ../pwm/atmel,hlcdc-pwm.yaml >>>> + # a Display Controller: see ../display/atmel/atmel,hlcdc-dc.yaml >>> >>> Rephrase to describe hardware. Drop redundant paths. >> Sure, I will truncate this to "subdevices: a PWM chip and a display >> controller." & drop the |. >> >> I added description about those two subdevices below. > > Then why do you still keep there comments? # is a comment. My bad, I will remove the comments and rephrase it as a typical description. > ... > >> in v3. >>> >>>> + >>>> + hlcdc-display-controller: >>> >>> Does anything depend on the name? If not, then just display-controller >> Got an error "'hlcdc-display-controller' does not match any of the >> regexes: 'pinctrl-[0-9]+'" so I retained it in v2,but as conor advised >> to have node names generic and we can easily adopt, I will modify it in v3. > > That's not a dependency. I was talking about any users of the binding. > User of a binding is for example: Linux kernel driver, other open-source > projects, out-of-tree projects. Got it, I will make them generic. > > > Best regards, > Krzysztof >
diff --git a/Documentation/devicetree/bindings/mfd/atmel,hlcdc.yaml b/Documentation/devicetree/bindings/mfd/atmel,hlcdc.yaml new file mode 100644 index 000000000000..555d6faa9104 --- /dev/null +++ b/Documentation/devicetree/bindings/mfd/atmel,hlcdc.yaml @@ -0,0 +1,106 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +# Copyright (C) 2024 Microchip Technology, Inc. and its subsidiaries +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/mfd/atmel,hlcdc.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Atmel's HLCDC (High LCD Controller) MFD driver + +maintainers: + - Nicolas Ferre <nicolas.ferre@microchip.com> + - Alexandre Belloni <alexandre.belloni@bootlin.com> + - Claudiu Beznea <claudiu.beznea@tuxon.dev> + +description: | + Device-Tree bindings for Atmel's HLCDC (High LCD Controller) MFD driver. + The HLCDC IP exposes two subdevices: + # a PWM chip: see ../pwm/atmel,hlcdc-pwm.yaml + # a Display Controller: see ../display/atmel/atmel,hlcdc-dc.yaml + +properties: + compatible: + enum: + - atmel,at91sam9n12-hlcdc + - atmel,at91sam9x5-hlcdc + - atmel,sama5d2-hlcdc + - atmel,sama5d3-hlcdc + - atmel,sama5d4-hlcdc + - microchip,sam9x60-hlcdc + - microchip,sam9x75-xlcdc + + reg: + maxItems: 1 + + interrupts: + maxItems: 1 + + clocks: + maxItems: 3 + + clock-names: + anyOf: + - items: + - enum: + - sys_clk + - lvds_pll_clk + - contains: + const: periph_clk + - contains: + const: slow_clk + maxItems: 3 + + hlcdc-display-controller: + $ref: /schemas/display/atmel/atmel,hlcdc-dc.yaml + + hlcdc-pwm: + $ref: /schemas/pwm/atmel,hlcdc-pwm.yaml + +required: + - compatible + - reg + - clocks + - clock-names + - interrupts + +additionalProperties: false + +examples: + - | + #include <dt-bindings/clock/at91.h> + #include <dt-bindings/dma/at91.h> + #include <dt-bindings/interrupt-controller/arm-gic.h> + + hlcdc: hlcdc@f0030000 { + compatible = "atmel,sama5d3-hlcdc"; + reg = <0xf0030000 0x2000>; + clocks = <&lcdc_clk>, <&lcdck>, <&clk32k>; + clock-names = "periph_clk","sys_clk", "slow_clk"; + interrupts = <36 IRQ_TYPE_LEVEL_HIGH 0>; + + hlcdc-display-controller { + compatible = "atmel,hlcdc-display-controller"; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_lcd_base &pinctrl_lcd_rgb888>; + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + #address-cells = <1>; + #size-cells = <0>; + reg = <0>; + + hlcdc_panel_output: endpoint@0 { + reg = <0>; + remote-endpoint = <&panel_input>; + }; + }; + }; + + hlcdc_pwm: hlcdc-pwm { + compatible = "atmel,hlcdc-pwm"; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_lcd_pwm>; + #pwm-cells = <3>; + }; + }; diff --git a/Documentation/devicetree/bindings/mfd/atmel-hlcdc.txt b/Documentation/devicetree/bindings/mfd/atmel-hlcdc.txt deleted file mode 100644 index 7de696eefaed..000000000000 --- a/Documentation/devicetree/bindings/mfd/atmel-hlcdc.txt +++ /dev/null @@ -1,56 +0,0 @@ -Device-Tree bindings for Atmel's HLCDC (High LCD Controller) MFD driver - -Required properties: - - compatible: value should be one of the following: - "atmel,at91sam9n12-hlcdc" - "atmel,at91sam9x5-hlcdc" - "atmel,sama5d2-hlcdc" - "atmel,sama5d3-hlcdc" - "atmel,sama5d4-hlcdc" - "microchip,sam9x60-hlcdc" - "microchip,sam9x75-xlcdc" - - reg: base address and size of the HLCDC device registers. - - clock-names: the name of the 3 clocks requested by the HLCDC device. - Should contain "periph_clk", "sys_clk" and "slow_clk". - - clocks: should contain the 3 clocks requested by the HLCDC device. - - interrupts: should contain the description of the HLCDC interrupt line - -The HLCDC IP exposes two subdevices: - - a PWM chip: see ../pwm/atmel-hlcdc-pwm.txt - - a Display Controller: see ../display/atmel/hlcdc-dc.txt - -Example: - - hlcdc: hlcdc@f0030000 { - compatible = "atmel,sama5d3-hlcdc"; - reg = <0xf0030000 0x2000>; - clocks = <&lcdc_clk>, <&lcdck>, <&clk32k>; - clock-names = "periph_clk","sys_clk", "slow_clk"; - interrupts = <36 IRQ_TYPE_LEVEL_HIGH 0>; - - hlcdc-display-controller { - compatible = "atmel,hlcdc-display-controller"; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_lcd_base &pinctrl_lcd_rgb888>; - #address-cells = <1>; - #size-cells = <0>; - - port@0 { - #address-cells = <1>; - #size-cells = <0>; - reg = <0>; - - hlcdc_panel_output: endpoint@0 { - reg = <0>; - remote-endpoint = <&panel_input>; - }; - }; - }; - - hlcdc_pwm: hlcdc-pwm { - compatible = "atmel,hlcdc-pwm"; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_lcd_pwm>; - #pwm-cells = <3>; - }; - };
Convert the atmel,hlcdc binding to DT schema format. Signed-off-by: Dharma Balasubiramani <dharma.b@microchip.com> --- .../devicetree/bindings/mfd/atmel,hlcdc.yaml | 106 ++++++++++++++++++ .../devicetree/bindings/mfd/atmel-hlcdc.txt | 56 --------- 2 files changed, 106 insertions(+), 56 deletions(-) create mode 100644 Documentation/devicetree/bindings/mfd/atmel,hlcdc.yaml delete mode 100644 Documentation/devicetree/bindings/mfd/atmel-hlcdc.txt