[PATCH 2/3] dt-bindings: mfd: atmel,hlcdc: Convert to DT schema format
Krzysztof Kozlowski
krzysztof.kozlowski at linaro.org
Wed Jan 10 10:01:07 PST 2024
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 at 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 at microchip.com>
> + - Alexandre Belloni <alexandre.belloni at bootlin.com>
> + - Claudiu Beznea <claudiu.beznea at 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 at 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 at 0 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + reg = <0>;
> +
> + hlcdc_panel_output: endpoint at 0 {
> + reg = <0>;
> + remote-endpoint = <&panel_input>;
> + };
> + };
> + };
> +
Best regards,
Krzysztof
More information about the linux-arm-kernel
mailing list