1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/display/bridge/parade,ps8622.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Parade PS8622/PS8625 DisplayPort to LVDS Converter
8
9maintainers:
10  - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
11
12properties:
13  compatible:
14    enum:
15      - parade,ps8622
16      - parade,ps8625
17
18  reg:
19    maxItems: 1
20
21  lane-count:
22    $ref: /schemas/types.yaml#/definitions/uint32
23    enum: [1, 2]
24    description: Number of DP lanes to use.
25
26  use-external-pwm:
27    type: boolean
28    description: Backlight will be controlled by an external PWM.
29
30  reset-gpios:
31    maxItems: 1
32    description: GPIO connected to RST_ pin.
33
34  sleep-gpios:
35    maxItems: 1
36    description: GPIO connected to PD_ pin.
37
38  vdd12-supply: true
39
40  ports:
41    $ref: /schemas/graph.yaml#/properties/ports
42
43    properties:
44      port@0:
45        $ref: /schemas/graph.yaml#/properties/port
46        description: Video port for LVDS output.
47
48      port@1:
49        $ref: /schemas/graph.yaml#/properties/port
50        description: Video port for DisplayPort input.
51
52    required:
53      - port@0
54      - port@1
55
56required:
57  - compatible
58  - reg
59  - reset-gpios
60  - sleep-gpios
61  - ports
62
63allOf:
64  - if:
65      properties:
66        compatible:
67          const: parade,ps8622
68    then:
69      properties:
70        lane-count:
71          const: 1
72    else:
73      properties:
74        lane-count:
75          const: 2
76
77additionalProperties: false
78
79examples:
80  - |
81    #include <dt-bindings/gpio/gpio.h>
82    i2c {
83        #address-cells = <1>;
84        #size-cells = <0>;
85
86        lvds-bridge@48 {
87            compatible = "parade,ps8625";
88            reg = <0x48>;
89            sleep-gpios = <&gpx3 5 GPIO_ACTIVE_HIGH>;
90            reset-gpios = <&gpy7 7 GPIO_ACTIVE_HIGH>;
91            lane-count = <2>;
92            use-external-pwm;
93
94            ports {
95                #address-cells = <1>;
96                #size-cells = <0>;
97
98                port@0 {
99                    reg = <0>;
100
101                    bridge_out: endpoint {
102                        remote-endpoint = <&panel_in>;
103                    };
104                };
105
106                port@1 {
107                    reg = <1>;
108
109                    bridge_in: endpoint {
110                        remote-endpoint = <&dp_out>;
111                    };
112                };
113            };
114        };
115    };
116