Re: [PATCH v11 4/6] dt-bindings: display: mediatek: convert the document format from txt to yaml

Rob Herring
2020-03-02T23:37:23Z

On Fri, Feb 28, 2020 at 04:14:39PM +0800, Jitao Shi wrote:
> Signed-off-by: Jitao Shi <jitao.shi@mediatek.com>
> ---
> .../display/mediatek/mediatek,dpi.txt | 45 --------
> .../display/mediatek/mediatek,dpi.yaml | 100 ++++++++++++++++++
> 2 files changed, 100 insertions(+), 45 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/display/mediatek/mediatek,dpi.txt
> create mode 100644 Documentation/devicetree/bindings/display/mediatek/mediatek,dpi.yaml
>
> diff --git a/Documentation/devicetree/bindings/display/mediatek/mediatek,dpi.txt b/Documentation/devicetree/bindings/display/mediatek/mediatek,dpi.txt
> deleted file mode 100644
> index 4eeead1d39db..000000000000
> --- a/Documentation/devicetree/bindings/display/mediatek/mediatek,dpi.txt
> +++ /dev/null
> @@ -1,45 +0,0 @@
> -Mediatek DPI Device
> -===================
> -
> -The Mediatek DPI function block is a sink of the display subsystem and
> -provides 8-bit RGB/YUV444 or 8/10/10-bit YUV422 pixel data on a parallel
> -output bus.
> -
> -Required properties:
> -- compatible: "mediatek,<chip>-dpi"
> - the supported chips are mt2701 , mt8173 and mt8183.
> -- reg: Physical base address and length of the controller's registers
> -- interrupts: The interrupt signal from the function block.
> -- clocks: device clocks
> - See Documentation/devicetree/bindings/clock/clock-bindings.txt for details.
> -- clock-names: must contain "pixel", "engine", and "pll"
> -- port: Output port node with endpoint definitions as described in
> - Documentation/devicetree/bindings/graph.txt. This port should be connected
> - to the input port of an attached HDMI or LVDS encoder chip.
> -
> -Optional properties:
> -- pinctrl-names: Contain "gpiomode" and "dpimode".
> - pinctrl-names see Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt
> -- pclk-sample: refer Documentation/devicetree/bindings/media/video-interfaces.txt.
> -
> -Example:
> -
> -dpi0: dpi@1401d000 {
> - compatible = "mediatek,mt8173-dpi";
> - reg = <0 0x1401d000 0 0x1000>;
> - interrupts = <GIC_SPI 194 IRQ_TYPE_LEVEL_LOW>;
> - clocks = <&mmsys CLK_MM_DPI_PIXEL>,
> - <&mmsys CLK_MM_DPI_ENGINE>,
> - <&apmixedsys CLK_APMIXED_TVDPLL>;
> - clock-names = "pixel", "engine", "pll";
> - pinctrl-names = "active", "idle";
> - pinctrl-0 = <&dpi_pin_func>;
> - pinctrl-1 = <&dpi_pin_idle>;
> -
> - port {
> - dpi0_out: endpoint {
> - pclk-sample = <0>;
> - remote-endpoint = <&hdmi0_in>;
> - };
> - };
> -};
> diff --git a/Documentation/devicetree/bindings/display/mediatek/mediatek,dpi.yaml b/Documentation/devicetree/bindings/display/mediatek/mediatek,dpi.yaml
> new file mode 100644
> index 000000000000..9878e9f2b12e
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/display/mediatek/mediatek,dpi.yaml
> @@ -0,0 +1,100 @@
> +# SPDX-License-Identifier: GPL-2.0
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/display/mediatek,dpi.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: mediatek DPI Controller Device Tree Bindings
> +
> +maintainers:
> + - CK Hu <ck.hu@mediatek.com>
> + - Rob Herring <robh+dt@kernel.org>
> + - Mark Rutland <mark.rutland@arm.com>

Should be the owner of this device/driver, not Mark or me.

> +
> +description: |
> + The Mediatek DPI function block is a sink of the display subsystem and
> + provides 8-bit RGB/YUV444 or 8/10/10-bit YUV422 pixel data on a parallel
> + output bus.
> +
> +properties:
> + compatible:
> + enum:
> + - mediatek,mt2701-dpi
> + - mediatek,mt8173-dpi
> + - mediatek,mt8183-dpi
> +
> + reg:
> + maxItems: 1
> + description: Physical base address and length of the controller's registers

Drop, that's every 'reg'. Plus there's an error in indentation.

> +
> + interrupts:
> + maxItems: 1
> + description: The interrupt signal from the function block.

Drop 'description'.

> +
> + clocks:
> + minItems: 3
> + maxItems: 3

Drop minItems/maxItems. Redundant with the items list.

> + items:
> + - description: Pixel Clock
> + - description: Engine Clock
> + - description: DPI PLL
> +
> + clock-names:
> + items:
> + - const: pixel
> + - const: engine
> + - const: pll
> +
> + pinctrl-names:
> + description: pinctrl-names refe Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt

Drop.

> + minItems: 2
> + maxItems: 2

Drop.

> + items:
> + - const: active
> + - const: idle

See my comment on patch 2 of v9.

> +
> + port:
> + type: object
> + description:
> + Output port node with endpoint definitions as described in
> + Documentation/devicetree/bindings/graph.txt. This port should be connected
> + to the input port of an attached HDMI or LVDS encoder chip.
> +
> + pclk-sample:
> + description: refer Documentation/devicetree/bindings/media/video-interfaces.txt.
> + maxItems: 1

Not an array, so maxItems isn't right. If there's no constraints on the
values, then just drop maxItems.

This also in the wrong place. It has to be under port and endpoint.

> +
> +required:
> + - compatible
> + - reg
> + - interrupts
> + - clocks
> + - clock-names
> + - port
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + dpi0: dpi@1401d000 {
> + compatible = "mediatek,mt8173-dpi";
> + reg = <0 0x1401d000 0 0x1000>;
> + interrupts = <GIC_SPI 194 IRQ_TYPE_LEVEL_LOW>;
> + clocks = <&mmsys CLK_MM_DPI_PIXEL>,
> + <&mmsys CLK_MM_DPI_ENGINE>,
> + <&apmixedsys CLK_APMIXED_TVDPLL>;
> + clock-names = "pixel", "engine", "pll";
> + pinctrl-names = "active", "idle";
> + pinctrl-0 = <&dpi_pin_func>;
> + pinctrl-1 = <&dpi_pin_idle>;
> +
> + port {
> + reg = <0>;

Wrong indentation.

> + dpi0_out: endpoint {
> + pclk-sample = <0>;
> + remote-endpoint = <&hdmi0_in>;
> + };
> + };
> + };
> +
> +...
> --
> 2.21.0