162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/display/bridge/ti,tfp410.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: TFP410 DPI to DVI encoder
862306a36Sopenharmony_ci
962306a36Sopenharmony_cimaintainers:
1062306a36Sopenharmony_ci  - Tomi Valkeinen <tomi.valkeinen@ti.com>
1162306a36Sopenharmony_ci  - Jyri Sarha <jsarha@ti.com>
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ciproperties:
1462306a36Sopenharmony_ci  compatible:
1562306a36Sopenharmony_ci    const: ti,tfp410
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ci  reg:
1862306a36Sopenharmony_ci    description: I2C address of the device.
1962306a36Sopenharmony_ci    maxItems: 1
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ci  powerdown-gpios:
2262306a36Sopenharmony_ci    maxItems: 1
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_ci  ti,deskew:
2562306a36Sopenharmony_ci    description:
2662306a36Sopenharmony_ci      Data de-skew value in 350ps increments, from 0 to 7, as configured
2762306a36Sopenharmony_ci      through the DK[3:1] pins. The de-skew multiplier is computed as
2862306a36Sopenharmony_ci      (DK[3:1] - 4), so it ranges from -4 to 3.
2962306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint32
3062306a36Sopenharmony_ci    minimum: 0
3162306a36Sopenharmony_ci    maximum: 7
3262306a36Sopenharmony_ci
3362306a36Sopenharmony_ci  ports:
3462306a36Sopenharmony_ci    $ref: /schemas/graph.yaml#/properties/ports
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_ci    properties:
3762306a36Sopenharmony_ci      port@0:
3862306a36Sopenharmony_ci        $ref: /schemas/graph.yaml#/$defs/port-base
3962306a36Sopenharmony_ci        unevaluatedProperties: false
4062306a36Sopenharmony_ci        description: DPI input port.
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_ci        properties:
4362306a36Sopenharmony_ci          endpoint:
4462306a36Sopenharmony_ci            $ref: /schemas/graph.yaml#/$defs/endpoint-base
4562306a36Sopenharmony_ci            unevaluatedProperties: false
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_ci            properties:
4862306a36Sopenharmony_ci              pclk-sample:
4962306a36Sopenharmony_ci                description:
5062306a36Sopenharmony_ci                  Endpoint sampling edge.
5162306a36Sopenharmony_ci                enum:
5262306a36Sopenharmony_ci                  - 0  # Falling edge
5362306a36Sopenharmony_ci                  - 1  # Rising edge
5462306a36Sopenharmony_ci                default: 0
5562306a36Sopenharmony_ci
5662306a36Sopenharmony_ci              bus-width:
5762306a36Sopenharmony_ci                description:
5862306a36Sopenharmony_ci                  Endpoint bus width.
5962306a36Sopenharmony_ci                enum:
6062306a36Sopenharmony_ci                  - 12  # 12 data lines connected and dual-edge mode
6162306a36Sopenharmony_ci                  - 24  # 24 data lines connected and single-edge mode
6262306a36Sopenharmony_ci                default: 24
6362306a36Sopenharmony_ci
6462306a36Sopenharmony_ci      port@1:
6562306a36Sopenharmony_ci        $ref: /schemas/graph.yaml#/properties/port
6662306a36Sopenharmony_ci        description: DVI output port.
6762306a36Sopenharmony_ci
6862306a36Sopenharmony_ci    required:
6962306a36Sopenharmony_ci      - port@0
7062306a36Sopenharmony_ci      - port@1
7162306a36Sopenharmony_ci
7262306a36Sopenharmony_cirequired:
7362306a36Sopenharmony_ci  - compatible
7462306a36Sopenharmony_ci  - ports
7562306a36Sopenharmony_ci
7662306a36Sopenharmony_ciif:
7762306a36Sopenharmony_ci  required:
7862306a36Sopenharmony_ci    - reg
7962306a36Sopenharmony_cithen:
8062306a36Sopenharmony_ci  properties:
8162306a36Sopenharmony_ci    ti,deskew: false
8262306a36Sopenharmony_cielse:
8362306a36Sopenharmony_ci  required:
8462306a36Sopenharmony_ci    - ti,deskew
8562306a36Sopenharmony_ci
8662306a36Sopenharmony_ciadditionalProperties: false
8762306a36Sopenharmony_ci
8862306a36Sopenharmony_ciexamples:
8962306a36Sopenharmony_ci  - |
9062306a36Sopenharmony_ci    #include <dt-bindings/gpio/gpio.h>
9162306a36Sopenharmony_ci
9262306a36Sopenharmony_ci    tfp410: encoder {
9362306a36Sopenharmony_ci        compatible = "ti,tfp410";
9462306a36Sopenharmony_ci        powerdown-gpios = <&twl_gpio 2 GPIO_ACTIVE_LOW>;
9562306a36Sopenharmony_ci        ti,deskew = <3>;
9662306a36Sopenharmony_ci
9762306a36Sopenharmony_ci        ports {
9862306a36Sopenharmony_ci            #address-cells = <1>;
9962306a36Sopenharmony_ci            #size-cells = <0>;
10062306a36Sopenharmony_ci
10162306a36Sopenharmony_ci            port@0 {
10262306a36Sopenharmony_ci                reg = <0>;
10362306a36Sopenharmony_ci                tfp410_in: endpoint {
10462306a36Sopenharmony_ci                    pclk-sample = <1>;
10562306a36Sopenharmony_ci                    bus-width = <24>;
10662306a36Sopenharmony_ci                    remote-endpoint = <&dpi_out>;
10762306a36Sopenharmony_ci                };
10862306a36Sopenharmony_ci            };
10962306a36Sopenharmony_ci
11062306a36Sopenharmony_ci            port@1 {
11162306a36Sopenharmony_ci                reg = <1>;
11262306a36Sopenharmony_ci                tfp410_out: endpoint {
11362306a36Sopenharmony_ci                    remote-endpoint = <&dvi_connector_in>;
11462306a36Sopenharmony_ci                };
11562306a36Sopenharmony_ci            };
11662306a36Sopenharmony_ci        };
11762306a36Sopenharmony_ci    };
11862306a36Sopenharmony_ci
11962306a36Sopenharmony_ci...
120