Commit f9f2ae62 authored by Sam Ravnborg's avatar Sam Ravnborg
Browse files

dt-bindings: display: convert samsung,ld9040 to DT Schema



v2:
  - drop use of spi-slave.yaml (Maxime)
  - added unevaluatedProperties (Maxime)
  - added type to width/height properties (Rob)

Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Rob Herring <robh@kernel.org>
Cc: Andrzej Hajda <a.hajda@samsung.com>
Cc: Thierry Reding <thierry.reding@gmail.com>
Cc: Sam Ravnborg <sam@ravnborg.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20200408195109.32692-23-sam@ravnborg.org
parent 19853af1
Loading
Loading
Loading
Loading
+0 −66
Original line number Diff line number Diff line
Samsung LD9040 AMOLED LCD parallel RGB panel with SPI control bus

Required properties:
  - compatible: "samsung,ld9040"
  - reg: address of the panel on SPI bus
  - vdd3-supply: core voltage supply
  - vci-supply: voltage supply for analog circuits
  - reset-gpios: a GPIO spec for the reset pin
  - display-timings: timings for the connected panel according to [1]

The panel must obey rules for SPI slave device specified in document [2].

Optional properties:
  - power-on-delay: delay after turning regulators on [ms]
  - reset-delay: delay after reset sequence [ms]
  - panel-width-mm: physical panel width [mm]
  - panel-height-mm: physical panel height [mm]

The device node can contain one 'port' child node with one child
'endpoint' node, according to the bindings defined in [3]. This
node should describe panel's video bus.

[1]: Documentation/devicetree/bindings/display/panel/display-timing.txt
[2]: Documentation/devicetree/bindings/spi/spi-bus.txt
[3]: Documentation/devicetree/bindings/media/video-interfaces.txt

Example:

	lcd@0 {
		compatible = "samsung,ld9040";
		reg = <0>;
		vdd3-supply = <&ldo7_reg>;
		vci-supply = <&ldo17_reg>;
		reset-gpios = <&gpy4 5 0>;
		spi-max-frequency = <1200000>;
		spi-cpol;
		spi-cpha;
		power-on-delay = <10>;
		reset-delay = <10>;
		panel-width-mm = <90>;
		panel-height-mm = <154>;

		display-timings {
			timing {
				clock-frequency = <23492370>;
				hactive = <480>;
				vactive = <800>;
				hback-porch = <16>;
				hfront-porch = <16>;
				vback-porch = <2>;
				vfront-porch = <28>;
				hsync-len = <2>;
				vsync-len = <1>;
				hsync-active = <0>;
				vsync-active = <0>;
				de-active = <0>;
				pixelclk-active = <0>;
			};
		};

		port {
			lcd_ep: endpoint {
				remote-endpoint = <&fimd_dpi_ep>;
			};
		};
	};
+107 −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/samsung,ld9040.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Samsung LD9040 AMOLED LCD parallel RGB panel with SPI control bus

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

maintainers:
  - Andrzej Hajda <a.hajda@samsung.com>

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

properties:
  compatible:
    const: samsung,ld9040

  display-timings: true
  port: true
  reg: true
  reset-gpios: true

  vdd3-supply:
    description: core voltage supply

  vci-supply:
    description: voltage supply for analog circuits

  power-on-delay:
    $ref: /schemas/types.yaml#/definitions/uint32
    description: delay after turning regulators on [ms]

  reset-delay:
    $ref: /schemas/types.yaml#/definitions/uint32
    description: delay after reset sequence [ms]

  panel-width-mm:
    description: physical panel width [mm]

  panel-height-mm:
    description: physical panel height [mm]

required:
  - compatible
  - reg
  - vdd3-supply
  - vci-supply
  - reset-gpios
  - display-timings

unevaluatedProperties: false

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

        lcd@0 {
            compatible = "samsung,ld9040";
            #address-cells = <1>;
            #size-cells = <0>;

            reg = <0>;
            vdd3-supply = <&ldo7_reg>;
            vci-supply = <&ldo17_reg>;
            reset-gpios = <&gpy4 5 0>;
            spi-max-frequency = <1200000>;
            spi-cpol;
            spi-cpha;
            power-on-delay = <10>;
            reset-delay = <10>;
            panel-width-mm = <90>;
            panel-height-mm = <154>;

            display-timings {
                timing {
                    clock-frequency = <23492370>;
                    hactive = <480>;
                    vactive = <800>;
                    hback-porch = <16>;
                    hfront-porch = <16>;
                    vback-porch = <2>;
                    vfront-porch = <28>;
                    hsync-len = <2>;
                    vsync-len = <1>;
                    hsync-active = <0>;
                    vsync-active = <0>;
                    de-active = <0>;
                    pixelclk-active = <0>;
                };
            };

            port {
                lcd_ep: endpoint {
                    remote-endpoint = <&fimd_dpi_ep>;
                };
            };
        };
    };

...