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,ds90ub913.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: Texas Instruments DS90UB913 FPD-Link III Serializer
862306a36Sopenharmony_ci
962306a36Sopenharmony_cimaintainers:
1062306a36Sopenharmony_ci  - Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_cidescription:
1362306a36Sopenharmony_ci  The TI DS90UB913 is an FPD-Link III video serializer for parallel video.
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ciproperties:
1662306a36Sopenharmony_ci  compatible:
1762306a36Sopenharmony_ci    enum:
1862306a36Sopenharmony_ci      - ti,ds90ub913a-q1
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ci  '#gpio-cells':
2162306a36Sopenharmony_ci    const: 2
2262306a36Sopenharmony_ci    description:
2362306a36Sopenharmony_ci      First cell is the GPO pin number, second cell is the flags. The GPO pin
2462306a36Sopenharmony_ci      number must be in range of [0, 3]. Note that GPOs 2 and 3 are not
2562306a36Sopenharmony_ci      available in external oscillator mode.
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: Parallel 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              - pclk-sample
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,ds90ub913a-q1";
8662306a36Sopenharmony_ci
8762306a36Sopenharmony_ci      gpio-controller;
8862306a36Sopenharmony_ci      #gpio-cells = <2>;
8962306a36Sopenharmony_ci
9062306a36Sopenharmony_ci      clocks = <&clk_cam_48M>;
9162306a36Sopenharmony_ci      clock-names = "clkin";
9262306a36Sopenharmony_ci
9362306a36Sopenharmony_ci      #clock-cells = <0>;
9462306a36Sopenharmony_ci
9562306a36Sopenharmony_ci      ports {
9662306a36Sopenharmony_ci        #address-cells = <1>;
9762306a36Sopenharmony_ci        #size-cells = <0>;
9862306a36Sopenharmony_ci
9962306a36Sopenharmony_ci        port@0 {
10062306a36Sopenharmony_ci          reg = <0>;
10162306a36Sopenharmony_ci          ub913_in: endpoint {
10262306a36Sopenharmony_ci            remote-endpoint = <&sensor_out>;
10362306a36Sopenharmony_ci            pclk-sample = <1>;
10462306a36Sopenharmony_ci          };
10562306a36Sopenharmony_ci        };
10662306a36Sopenharmony_ci
10762306a36Sopenharmony_ci        port@1 {
10862306a36Sopenharmony_ci          reg = <1>;
10962306a36Sopenharmony_ci          endpoint {
11062306a36Sopenharmony_ci            remote-endpoint = <&deser_fpd_in>;
11162306a36Sopenharmony_ci          };
11262306a36Sopenharmony_ci        };
11362306a36Sopenharmony_ci      };
11462306a36Sopenharmony_ci
11562306a36Sopenharmony_ci      i2c {
11662306a36Sopenharmony_ci        #address-cells = <1>;
11762306a36Sopenharmony_ci        #size-cells = <0>;
11862306a36Sopenharmony_ci
11962306a36Sopenharmony_ci        sensor@48 {
12062306a36Sopenharmony_ci          compatible = "aptina,mt9v111";
12162306a36Sopenharmony_ci          reg = <0x48>;
12262306a36Sopenharmony_ci
12362306a36Sopenharmony_ci          clocks = <&fixed_clock>;
12462306a36Sopenharmony_ci
12562306a36Sopenharmony_ci          port {
12662306a36Sopenharmony_ci            sensor_out: endpoint {
12762306a36Sopenharmony_ci              remote-endpoint = <&ub913_in>;
12862306a36Sopenharmony_ci            };
12962306a36Sopenharmony_ci          };
13062306a36Sopenharmony_ci        };
13162306a36Sopenharmony_ci      };
13262306a36Sopenharmony_ci    };
13362306a36Sopenharmony_ci...
134