[PATCH v1 1/4] dt-bindings: display: convert atmel-hlcdc to DT Schema

Maxime Ripard maxime at cerno.tech
Tue Apr 14 08:28:03 UTC 2020


Hi Sam,

On Sun, Apr 12, 2020 at 08:20:09PM +0200, Sam Ravnborg wrote:
> diff --git a/Documentation/devicetree/bindings/display/atmel/hlcdc-dc.yaml b/Documentation/devicetree/bindings/display/atmel/hlcdc-dc.yaml
> new file mode 100644
> index 000000000000..7eb6266a25a2
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/display/atmel/hlcdc-dc.yaml
> @@ -0,0 +1,102 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/display/atmel/hlcdc-dc.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Atmel HLCDC (High LCD Controller) display controller
> +
> +maintainers:
> +  - Sam Ravnborg <sam at ravnborg.org>
> +  - Boris Brezillon <bbrezillon at kernel.org>
> +
> +description: |
> +  The Atmel HLCDC Display Controller is subdevice of the HLCDC MFD device.
> +  See ../../mfd/atmel-hlcdc.yaml for more details.
> +
> +properties:
> +  compatible:
> +    const: atmel,hlcdc-display-controller
> +
> +  "#address-cells":
> +    const: 1
> +  "#size-cells":
> +    const: 0
> +
> +required:
> +  - compatible
> +  - "#address-cells"
> +  - "#size-cells"
> +
> +patternProperties:
> +  "^port@[0-9]$":
> +    type: object
> +    description: |
> +      A port node with endpoint definitions as defined in
> +      ../../media/video-interfaces.txt
> +
> +    properties:
> +      "#address-cells":
> +        const: 1
> +
> +      "#size-cells":
> +        const: 0
> +
> +      reg:
> +        maxItems: 1
> +        description: The virtual number of the port
> +
> +    patternProperties:
> +      "^endpoint(@[0-9])$":

I guess you meant ^endpoint(@[0-9])?$ instead?

> +        type: object
> +
> +        properties:
> +          reg:
> +            maxItems: 1
> +            description: The virtual number of the endpoint
> +
> +          bus-width:
> +            enum: [12, 16, 18, 24]
> +            description:
> +              Any endpoint node may specify a desired video interface
> +              according to ../../media/video-interfaces.txt, specifically
> +              Recognized values are <12>, <16>, <18> and <24>, and
> +              override any output mode selection heuristic, forcing
> +              "rgb444", "rgb565", "rgb666" and "rgb888" respectively.
> +
> +          remote-endpoint:
> +            $ref: /schemas/types.yaml#/definitions/phandle
> +            description:
> +              phandle to the panel node
> +
> +        required:
> +          - reg

And if so, reg depends on whether the unit-address is set or not, so
you can't really enforce that.

> diff --git a/Documentation/devicetree/bindings/mfd/atmel-hlcdc.yaml b/Documentation/devicetree/bindings/mfd/atmel-hlcdc.yaml
> new file mode 100644
> index 000000000000..cad14fa173a1
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mfd/atmel-hlcdc.yaml
> @@ -0,0 +1,78 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/mfd/atmel-hlcdc.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Device-Tree bindings for Atmel's HLCDC (High LCD Controller)
> +
> +maintainers:
> +  - Sam Ravnborg <sam at ravnborg.org>
> +  - Boris Brezillon <bbrezillon at kernel.org>
> +
> +properties:
> +  compatible:
> +    enum:
> +      - atmel,at91sam9n12-hlcdc
> +      - atmel,at91sam9x5-hlcdc
> +      - atmel,sama5d2-hlcdc
> +      - atmel,sama5d3-hlcdc
> +      - atmel,sama5d4-hlcdc
> +      - microchip,sam9x60-hlcdc
> +
> +  reg:
> +    maxItems: 1
> +
> +  clocks:
> +    maxItems: 3

Having descirptions of what those clocks are would be nice.

> +  clock-names:
> +    maxItems: 3
> +    items:
> +      - const: periph_clk
> +      - const: sys_clk
> +      - const: slow_clk
> +
> +  interrupts:
> +    description: The HLCDC interrupt line
> +    maxItems: 1
> +
> +  hlcdc_pwm:
> +    type: object
> +    description: |
> +      PWM controller - used for backlight.
> +      See ../pwm/atmel-hlcdc-pwm.yaml for details
> +
> +  hlcdc-display-controller:
> +    type: object
> +    description: |
> +      LCD display controller
> +      See ../display/atmel/hlcdc-dc.yaml for details

I guess you could include those two schemas to make sure that it's
valid? Otherwise, if you have an hlcdc-display-controller (or pwm)
node without a compatible, it will not be checked here, and will not
be checked by the hlcdc-dc.yaml schemas either since it matches on the
compatible.

Maxime
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20200414/13cc5c19/attachment-0001.sig>


More information about the dri-devel mailing list