162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/media/i2c/ti,ds90ub953.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: Texas Instruments DS90UB953 FPD-Link III Serializer
862306a36Sopenharmony_ci
962306a36Sopenharmony_cimaintainers:
1062306a36Sopenharmony_ci  - Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_cidescription:
1362306a36Sopenharmony_ci  The TI DS90UB953 is an FPD-Link III video serializer for MIPI CSI-2.
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ciproperties:
1662306a36Sopenharmony_ci  compatible:
1762306a36Sopenharmony_ci    enum:
1862306a36Sopenharmony_ci      - ti,ds90ub953-q1
1962306a36Sopenharmony_ci      - ti,ds90ub971-q1
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ci  '#gpio-cells':
2262306a36Sopenharmony_ci    const: 2
2362306a36Sopenharmony_ci    description:
2462306a36Sopenharmony_ci      First cell is the GPIO pin number, second cell is the flags. The GPIO pin
2562306a36Sopenharmony_ci      number must be in range of [0, 3].
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ci  gpio-controller: true
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ci  clocks:
3062306a36Sopenharmony_ci    maxItems: 1
3162306a36Sopenharmony_ci    description:
3262306a36Sopenharmony_ci      Reference clock connected to the CLKIN pin.
3362306a36Sopenharmony_ci
3462306a36Sopenharmony_ci  clock-names:
3562306a36Sopenharmony_ci    items:
3662306a36Sopenharmony_ci      - const: clkin
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ci  '#clock-cells':
3962306a36Sopenharmony_ci    const: 0
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_ci  ports:
4262306a36Sopenharmony_ci    $ref: /schemas/graph.yaml#/properties/ports
4362306a36Sopenharmony_ci
4462306a36Sopenharmony_ci    properties:
4562306a36Sopenharmony_ci      port@0:
4662306a36Sopenharmony_ci        $ref: /schemas/graph.yaml#/$defs/port-base
4762306a36Sopenharmony_ci        unevaluatedProperties: false
4862306a36Sopenharmony_ci        description: CSI-2 input port
4962306a36Sopenharmony_ci
5062306a36Sopenharmony_ci        properties:
5162306a36Sopenharmony_ci          endpoint:
5262306a36Sopenharmony_ci            $ref: /schemas/media/video-interfaces.yaml#
5362306a36Sopenharmony_ci            unevaluatedProperties: false
5462306a36Sopenharmony_ci
5562306a36Sopenharmony_ci            required:
5662306a36Sopenharmony_ci              - data-lanes
5762306a36Sopenharmony_ci
5862306a36Sopenharmony_ci      port@1:
5962306a36Sopenharmony_ci        $ref: /schemas/graph.yaml#/properties/port
6062306a36Sopenharmony_ci        unevaluatedProperties: false
6162306a36Sopenharmony_ci        description: FPD-Link III output port
6262306a36Sopenharmony_ci
6362306a36Sopenharmony_ci    required:
6462306a36Sopenharmony_ci      - port@0
6562306a36Sopenharmony_ci      - port@1
6662306a36Sopenharmony_ci
6762306a36Sopenharmony_ci  i2c:
6862306a36Sopenharmony_ci    $ref: /schemas/i2c/i2c-controller.yaml#
6962306a36Sopenharmony_ci    unevaluatedProperties: false
7062306a36Sopenharmony_ci
7162306a36Sopenharmony_cirequired:
7262306a36Sopenharmony_ci  - compatible
7362306a36Sopenharmony_ci  - '#gpio-cells'
7462306a36Sopenharmony_ci  - gpio-controller
7562306a36Sopenharmony_ci  - '#clock-cells'
7662306a36Sopenharmony_ci  - ports
7762306a36Sopenharmony_ci
7862306a36Sopenharmony_ciadditionalProperties: false
7962306a36Sopenharmony_ci
8062306a36Sopenharmony_ciexamples:
8162306a36Sopenharmony_ci  - |
8262306a36Sopenharmony_ci    #include <dt-bindings/gpio/gpio.h>
8362306a36Sopenharmony_ci
8462306a36Sopenharmony_ci    serializer {
8562306a36Sopenharmony_ci      compatible = "ti,ds90ub953-q1";
8662306a36Sopenharmony_ci
8762306a36Sopenharmony_ci      gpio-controller;
8862306a36Sopenharmony_ci      #gpio-cells = <2>;
8962306a36Sopenharmony_ci
9062306a36Sopenharmony_ci      #clock-cells = <0>;
9162306a36Sopenharmony_ci
9262306a36Sopenharmony_ci      ports {
9362306a36Sopenharmony_ci        #address-cells = <1>;
9462306a36Sopenharmony_ci        #size-cells = <0>;
9562306a36Sopenharmony_ci
9662306a36Sopenharmony_ci        port@0 {
9762306a36Sopenharmony_ci          reg = <0>;
9862306a36Sopenharmony_ci          ub953_in: endpoint {
9962306a36Sopenharmony_ci            clock-lanes = <0>;
10062306a36Sopenharmony_ci            data-lanes = <1 2 3 4>;
10162306a36Sopenharmony_ci            remote-endpoint = <&sensor_out>;
10262306a36Sopenharmony_ci          };
10362306a36Sopenharmony_ci        };
10462306a36Sopenharmony_ci
10562306a36Sopenharmony_ci        port@1 {
10662306a36Sopenharmony_ci          reg = <1>;
10762306a36Sopenharmony_ci          endpoint {
10862306a36Sopenharmony_ci            remote-endpoint = <&deser_fpd_in>;
10962306a36Sopenharmony_ci          };
11062306a36Sopenharmony_ci        };
11162306a36Sopenharmony_ci      };
11262306a36Sopenharmony_ci
11362306a36Sopenharmony_ci      i2c {
11462306a36Sopenharmony_ci        #address-cells = <1>;
11562306a36Sopenharmony_ci        #size-cells = <0>;
11662306a36Sopenharmony_ci
11762306a36Sopenharmony_ci        sensor@1a {
11862306a36Sopenharmony_ci          compatible = "sony,imx274";
11962306a36Sopenharmony_ci          reg = <0x1a>;
12062306a36Sopenharmony_ci
12162306a36Sopenharmony_ci          reset-gpios = <&serializer 0 GPIO_ACTIVE_LOW>;
12262306a36Sopenharmony_ci
12362306a36Sopenharmony_ci          clocks = <&serializer>;
12462306a36Sopenharmony_ci          clock-names = "inck";
12562306a36Sopenharmony_ci
12662306a36Sopenharmony_ci          port {
12762306a36Sopenharmony_ci            sensor_out: endpoint {
12862306a36Sopenharmony_ci              remote-endpoint = <&ub953_in>;
12962306a36Sopenharmony_ci            };
13062306a36Sopenharmony_ci          };
13162306a36Sopenharmony_ci        };
13262306a36Sopenharmony_ci      };
13362306a36Sopenharmony_ci    };
13462306a36Sopenharmony_ci...
135