1# SPDX-License-Identifier: GPL-2.0-only
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/display/bridge/ti,tfp410.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: TFP410 DPI to DVI encoder
8
9maintainers:
10  - Tomi Valkeinen <tomi.valkeinen@ti.com>
11  - Jyri Sarha <jsarha@ti.com>
12
13properties:
14  compatible:
15    const: ti,tfp410
16
17  reg:
18    description: I2C address of the device.
19    maxItems: 1
20
21  powerdown-gpios:
22    maxItems: 1
23
24  ti,deskew:
25    description:
26      Data de-skew value in 350ps increments, from 0 to 7, as configured
27      through the DK[3:1] pins. The de-skew multiplier is computed as
28      (DK[3:1] - 4), so it ranges from -4 to 3.
29    $ref: /schemas/types.yaml#/definitions/uint32
30    minimum: 0
31    maximum: 7
32
33  ports:
34    $ref: /schemas/graph.yaml#/properties/ports
35
36    properties:
37      port@0:
38        $ref: /schemas/graph.yaml#/$defs/port-base
39        unevaluatedProperties: false
40        description: DPI input port.
41
42        properties:
43          endpoint:
44            $ref: /schemas/graph.yaml#/$defs/endpoint-base
45            unevaluatedProperties: false
46
47            properties:
48              pclk-sample:
49                description:
50                  Endpoint sampling edge.
51                enum:
52                  - 0  # Falling edge
53                  - 1  # Rising edge
54                default: 0
55
56              bus-width:
57                description:
58                  Endpoint bus width.
59                enum:
60                  - 12  # 12 data lines connected and dual-edge mode
61                  - 24  # 24 data lines connected and single-edge mode
62                default: 24
63
64      port@1:
65        $ref: /schemas/graph.yaml#/properties/port
66        description: DVI output port.
67
68    required:
69      - port@0
70      - port@1
71
72required:
73  - compatible
74  - ports
75
76if:
77  required:
78    - reg
79then:
80  properties:
81    ti,deskew: false
82else:
83  required:
84    - ti,deskew
85
86additionalProperties: false
87
88examples:
89  - |
90    #include <dt-bindings/gpio/gpio.h>
91
92    tfp410: encoder {
93        compatible = "ti,tfp410";
94        powerdown-gpios = <&twl_gpio 2 GPIO_ACTIVE_LOW>;
95        ti,deskew = <3>;
96
97        ports {
98            #address-cells = <1>;
99            #size-cells = <0>;
100
101            port@0 {
102                reg = <0>;
103                tfp410_in: endpoint {
104                    pclk-sample = <1>;
105                    bus-width = <24>;
106                    remote-endpoint = <&dpi_out>;
107                };
108            };
109
110            port@1 {
111                reg = <1>;
112                tfp410_out: endpoint {
113                    remote-endpoint = <&dvi_connector_in>;
114                };
115            };
116        };
117    };
118
119...
120