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

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



v2:
  - Add missing types (Rob)
  - Fix example to specify panel@0 (Rob)

Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
Reviewed-by: default avatarRob Herring <robh@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/20200704102806.735713-3-sam@ravnborg.org
parent d70cf7e0
Loading
Loading
Loading
Loading
+0 −56
Original line number Diff line number Diff line
Samsung S6E8AA0 AMOLED LCD 5.3 inch panel

Required properties:
  - compatible: "samsung,s6e8aa0"
  - reg: the virtual channel number of a DSI peripheral
  - 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 as described by [1]

Optional properties:
  - power-on-delay: delay after turning regulators on [ms]
  - reset-delay: delay after reset sequence [ms]
  - init-delay: delay after initialization sequence [ms]
  - panel-width-mm: physical panel width [mm]
  - panel-height-mm: physical panel height [mm]
  - flip-horizontal: boolean to flip image horizontally
  - flip-vertical: boolean to flip image vertically

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

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

Example:

	panel {
		compatible = "samsung,s6e8aa0";
		reg = <0>;
		vdd3-supply = <&vcclcd_reg>;
		vci-supply = <&vlcd_reg>;
		reset-gpios = <&gpy4 5 0>;
		power-on-delay= <50>;
		reset-delay = <100>;
		init-delay = <100>;
		panel-width-mm = <58>;
		panel-height-mm = <103>;
		flip-horizontal;
		flip-vertical;

		display-timings {
			timing0: timing-0 {
				clock-frequency = <57153600>;
				hactive = <720>;
				vactive = <1280>;
				hfront-porch = <5>;
				hback-porch = <5>;
				hsync-len = <5>;
				vfront-porch = <13>;
				vback-porch = <1>;
				vsync-len = <2>;
			};
		};
	};
+100 −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,s6e8aa0.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Samsung S6E8AA0 AMOLED LCD 5.3 inch panel

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

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

properties:
  compatible:
    const: samsung,s6e8aa0

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

  vdd3-supply:
    description: core voltage supply

  vci-supply:
    description: voltage supply for analog circuits

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

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

  init-delay:
    description: delay after initialization sequence [ms]

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

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

  flip-horizontal:
    description: boolean to flip image horizontally
    type: boolean

  flip-vertical:
    description: boolean to flip image vertically
    type: boolean

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

additionalProperties: false

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

        panel@0 {
            compatible = "samsung,s6e8aa0";
            reg = <0>;
            vdd3-supply = <&vcclcd_reg>;
            vci-supply = <&vlcd_reg>;
            reset-gpios = <&gpy4 5 0>;
            power-on-delay= <50>;
            reset-delay = <100>;
            init-delay = <100>;
            panel-width-mm = <58>;
            panel-height-mm = <103>;
            flip-horizontal;
            flip-vertical;

            display-timings {
                timing0: timing-0 {
                    clock-frequency = <57153600>;
                    hactive = <720>;
                    vactive = <1280>;
                    hfront-porch = <5>;
                    hback-porch = <5>;
                    hsync-len = <5>;
                    vfront-porch = <13>;
                    vback-porch = <1>;
                    vsync-len = <2>;
                };
            };
        };
    };

...