18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
28c2ecf20Sopenharmony_ci%YAML 1.2
38c2ecf20Sopenharmony_ci---
48c2ecf20Sopenharmony_ci$id: http://devicetree.org/schemas/display/bridge/ti,tfp410.yaml#
58c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_cititle: TFP410 DPI to DVI encoder
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_cimaintainers:
108c2ecf20Sopenharmony_ci  - Tomi Valkeinen <tomi.valkeinen@ti.com>
118c2ecf20Sopenharmony_ci  - Jyri Sarha <jsarha@ti.com>
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_ciproperties:
148c2ecf20Sopenharmony_ci  compatible:
158c2ecf20Sopenharmony_ci    const: ti,tfp410
168c2ecf20Sopenharmony_ci
178c2ecf20Sopenharmony_ci  reg:
188c2ecf20Sopenharmony_ci    description: I2C address of the device.
198c2ecf20Sopenharmony_ci    maxItems: 1
208c2ecf20Sopenharmony_ci
218c2ecf20Sopenharmony_ci  powerdown-gpios:
228c2ecf20Sopenharmony_ci    maxItems: 1
238c2ecf20Sopenharmony_ci
248c2ecf20Sopenharmony_ci  ti,deskew:
258c2ecf20Sopenharmony_ci    description:
268c2ecf20Sopenharmony_ci      Data de-skew value in 350ps increments, from 0 to 7, as configured
278c2ecf20Sopenharmony_ci      through the DK[3:1] pins. The de-skew multiplier is computed as
288c2ecf20Sopenharmony_ci      (DK[3:1] - 4), so it ranges from -4 to 3.
298c2ecf20Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint32
308c2ecf20Sopenharmony_ci    minimum: 0
318c2ecf20Sopenharmony_ci    maximum: 7
328c2ecf20Sopenharmony_ci
338c2ecf20Sopenharmony_ci  ports:
348c2ecf20Sopenharmony_ci    description:
358c2ecf20Sopenharmony_ci      A node containing input and output port nodes with endpoint
368c2ecf20Sopenharmony_ci      definitions as documented in
378c2ecf20Sopenharmony_ci      Documentation/devicetree/bindings/media/video-interfaces.txt
388c2ecf20Sopenharmony_ci    type: object
398c2ecf20Sopenharmony_ci
408c2ecf20Sopenharmony_ci    properties:
418c2ecf20Sopenharmony_ci      port@0:
428c2ecf20Sopenharmony_ci        description: DPI input port.
438c2ecf20Sopenharmony_ci        type: object
448c2ecf20Sopenharmony_ci
458c2ecf20Sopenharmony_ci        properties:
468c2ecf20Sopenharmony_ci          reg:
478c2ecf20Sopenharmony_ci            const: 0
488c2ecf20Sopenharmony_ci
498c2ecf20Sopenharmony_ci          endpoint:
508c2ecf20Sopenharmony_ci            type: object
518c2ecf20Sopenharmony_ci
528c2ecf20Sopenharmony_ci            properties:
538c2ecf20Sopenharmony_ci              pclk-sample:
548c2ecf20Sopenharmony_ci                description:
558c2ecf20Sopenharmony_ci                  Endpoint sampling edge.
568c2ecf20Sopenharmony_ci                enum:
578c2ecf20Sopenharmony_ci                  - 0  # Falling edge
588c2ecf20Sopenharmony_ci                  - 1  # Rising edge
598c2ecf20Sopenharmony_ci                default: 0
608c2ecf20Sopenharmony_ci
618c2ecf20Sopenharmony_ci              bus-width:
628c2ecf20Sopenharmony_ci                description:
638c2ecf20Sopenharmony_ci                  Endpoint bus width.
648c2ecf20Sopenharmony_ci                enum:
658c2ecf20Sopenharmony_ci                  - 12  # 12 data lines connected and dual-edge mode
668c2ecf20Sopenharmony_ci                  - 24  # 24 data lines connected and single-edge mode
678c2ecf20Sopenharmony_ci                default: 24
688c2ecf20Sopenharmony_ci
698c2ecf20Sopenharmony_ci      port@1:
708c2ecf20Sopenharmony_ci        description: DVI output port.
718c2ecf20Sopenharmony_ci        type: object
728c2ecf20Sopenharmony_ci
738c2ecf20Sopenharmony_ci        properties:
748c2ecf20Sopenharmony_ci          reg:
758c2ecf20Sopenharmony_ci            const: 1
768c2ecf20Sopenharmony_ci
778c2ecf20Sopenharmony_ci          endpoint:
788c2ecf20Sopenharmony_ci            type: object
798c2ecf20Sopenharmony_ci
808c2ecf20Sopenharmony_ci    required:
818c2ecf20Sopenharmony_ci      - port@0
828c2ecf20Sopenharmony_ci      - port@1
838c2ecf20Sopenharmony_ci
848c2ecf20Sopenharmony_cirequired:
858c2ecf20Sopenharmony_ci  - compatible
868c2ecf20Sopenharmony_ci  - ports
878c2ecf20Sopenharmony_ci
888c2ecf20Sopenharmony_ciif:
898c2ecf20Sopenharmony_ci  required:
908c2ecf20Sopenharmony_ci    - reg
918c2ecf20Sopenharmony_cithen:
928c2ecf20Sopenharmony_ci  properties:
938c2ecf20Sopenharmony_ci    ti,deskew: false
948c2ecf20Sopenharmony_cielse:
958c2ecf20Sopenharmony_ci  required:
968c2ecf20Sopenharmony_ci    - ti,deskew
978c2ecf20Sopenharmony_ci
988c2ecf20Sopenharmony_ciadditionalProperties: false
998c2ecf20Sopenharmony_ci
1008c2ecf20Sopenharmony_ciexamples:
1018c2ecf20Sopenharmony_ci  - |
1028c2ecf20Sopenharmony_ci    #include <dt-bindings/gpio/gpio.h>
1038c2ecf20Sopenharmony_ci
1048c2ecf20Sopenharmony_ci    tfp410: encoder {
1058c2ecf20Sopenharmony_ci        compatible = "ti,tfp410";
1068c2ecf20Sopenharmony_ci        powerdown-gpios = <&twl_gpio 2 GPIO_ACTIVE_LOW>;
1078c2ecf20Sopenharmony_ci        ti,deskew = <3>;
1088c2ecf20Sopenharmony_ci
1098c2ecf20Sopenharmony_ci        ports {
1108c2ecf20Sopenharmony_ci            #address-cells = <1>;
1118c2ecf20Sopenharmony_ci            #size-cells = <0>;
1128c2ecf20Sopenharmony_ci
1138c2ecf20Sopenharmony_ci            port@0 {
1148c2ecf20Sopenharmony_ci                reg = <0>;
1158c2ecf20Sopenharmony_ci                tfp410_in: endpoint {
1168c2ecf20Sopenharmony_ci                    pclk-sample = <1>;
1178c2ecf20Sopenharmony_ci                    bus-width = <24>;
1188c2ecf20Sopenharmony_ci                    remote-endpoint = <&dpi_out>;
1198c2ecf20Sopenharmony_ci                };
1208c2ecf20Sopenharmony_ci            };
1218c2ecf20Sopenharmony_ci
1228c2ecf20Sopenharmony_ci            port@1 {
1238c2ecf20Sopenharmony_ci                reg = <1>;
1248c2ecf20Sopenharmony_ci                tfp410_out: endpoint {
1258c2ecf20Sopenharmony_ci                    remote-endpoint = <&dvi_connector_in>;
1268c2ecf20Sopenharmony_ci                };
1278c2ecf20Sopenharmony_ci            };
1288c2ecf20Sopenharmony_ci        };
1298c2ecf20Sopenharmony_ci    };
1308c2ecf20Sopenharmony_ci
1318c2ecf20Sopenharmony_ci...
132