Commit 66e3377c authored by Sam Ravnborg's avatar Sam Ravnborg
Browse files

dt-bindings: display: convert ilitek,ili9322 to DT Schema



The .txt binding explains:

"
    The following optional properties only apply to
    RGB and YUV input modes and
    can be omitted for BT.656 input modes:
"

This constraint is not implmented in the DT Schema.

The original binding from the .txt file referenced
properties that is included in panel-timing.yaml.

The properties in question are:
  - pixelclk-active
  - de-active
  - hsync-active
  - vsync-active

These properties was dropped in the conversion as they are not relevant.

v2:
  - drop properties from panel-timing (Linus)
  - drop use of spi-slave.yaml (Maxime)
  - introduce unevaluatedProperties (Maxime)
  - dropped unused properties (Linus)
  - delete stray spaces

Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
Reviewed-by: default avatarLinus Walleij <linus.walleij@linaro.org>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: Thierry Reding <thierry.reding@gmail.com>
Cc: Sam Ravnborg <sam@ravnborg.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20200408195109.32692-8-sam@ravnborg.org
parent c1eb2840
Loading
Loading
Loading
Loading
+0 −49
Original line number Diff line number Diff line
Ilitek ILI9322 TFT panel driver with SPI control bus

This is a driver for 320x240 TFT panels, accepting a variety of input
streams that get adapted and scaled to the panel. The panel output has
960 TFT source driver pins and 240 TFT gate driver pins, VCOM, VCOML and
VCOMH outputs.

Required properties:
  - compatible: "dlink,dir-685-panel", "ilitek,ili9322"
    (full system-specific compatible is always required to look up configuration)
  - reg: address of the panel on the SPI bus

Optional properties:
  - vcc-supply: core voltage supply, see regulator/regulator.txt
  - iovcc-supply: voltage supply for the interface input/output signals,
    see regulator/regulator.txt
  - vci-supply: voltage supply for analog parts, see regulator/regulator.txt
  - reset-gpios: a GPIO spec for the reset pin, see gpio/gpio.txt

  The following optional properties only apply to RGB and YUV input modes and
  can be omitted for BT.656 input modes:

  - pixelclk-active: see display/panel/display-timing.txt
  - de-active: see display/panel/display-timing.txt
  - hsync-active: see display/panel/display-timing.txt
  - vsync-active: see display/panel/display-timing.txt

The panel must obey the rules for a SPI slave device as specified in
spi/spi-bus.txt

The device node can contain one 'port' child node with one child
'endpoint' node, according to the bindings defined in
media/video-interfaces.txt. This node should describe panel's video bus.

Example:

panel: display@0 {
	compatible = "dlink,dir-685-panel", "ilitek,ili9322";
	reg = <0>;
	vcc-supply = <&vdisp>;
	iovcc-supply = <&vdisp>;
	vci-supply = <&vdisp>;

	port {
		panel_in: endpoint {
			remote-endpoint = <&display_out>;
		};
	};
};
+71 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/panel/ilitek,ili9322.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Ilitek ILI9322 TFT panel driver with SPI control bus

maintainers:
  - Linus Walleij <linus.walleij@linaro.org>

description: |
  This is a driver for 320x240 TFT panels, accepting a variety of input
  streams that get adapted and scaled to the panel. The panel output has
  960 TFT source driver pins and 240 TFT gate driver pins, VCOM, VCOML and
  VCOMH outputs.

  The panel must obey the rules for a SPI slave device as specified in
  spi/spi-controller.yaml

allOf:
  - $ref: panel-common.yaml#

properties:
  compatible:
    items:
      - enum:
        - dlink,dir-685-panel

      - const: ilitek,ili9322

  reset-gpios: true
  port: true

  vcc-supply:
    description: Core voltage supply

  iovcc-supply:
    description: Voltage supply for the interface input/output signals

  vci-supply:
    description: Voltage supply for analog parts

required:
  - compatible
  - reg

unevaluatedProperties: false

examples:
  - |
    spi {
        #address-cells = <1>;
        #size-cells = <0>;

        panel: display@0 {
            compatible = "dlink,dir-685-panel", "ilitek,ili9322";
            reg = <0>;
            vcc-supply = <&vdisp>;
            iovcc-supply = <&vdisp>;
            vci-supply = <&vdisp>;

            port {
                panel_in: endpoint {
                    remote-endpoint = <&display_out>;
                };
            };
        };
    };

...