diff mbox series

[2/3] dt-bindings: mfd: atmel, hlcdc: Convert to DT schema format

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

Commit Message

Dharma Balasubiramani Jan. 10, 2024, 10:25 a.m. UTC
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

Comments

Krzysztof Kozlowski Jan. 10, 2024, 6:01 p.m. UTC | #1
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
Dharma Balasubiramani Jan. 17, 2024, 2:22 a.m. UTC | #2
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.
Krzysztof Kozlowski Jan. 17, 2024, 7:37 a.m. UTC | #3
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
Dharma Balasubiramani Jan. 18, 2024, 5:50 a.m. UTC | #4
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'.
Dharma Balasubiramani Jan. 18, 2024, 9:07 a.m. UTC | #5
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 mbox series

Patch

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>;
-		};
-	};