1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/media/i2c/ti,ds90ub913.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Texas Instruments DS90UB913 FPD-Link III Serializer
8
9maintainers:
10  - Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
11
12description:
13  The TI DS90UB913 is an FPD-Link III video serializer for parallel video.
14
15properties:
16  compatible:
17    enum:
18      - ti,ds90ub913a-q1
19
20  '#gpio-cells':
21    const: 2
22    description:
23      First cell is the GPO pin number, second cell is the flags. The GPO pin
24      number must be in range of [0, 3]. Note that GPOs 2 and 3 are not
25      available in external oscillator mode.
26
27  gpio-controller: true
28
29  clocks:
30    maxItems: 1
31    description:
32      Reference clock connected to the CLKIN pin.
33
34  clock-names:
35    items:
36      - const: clkin
37
38  '#clock-cells':
39    const: 0
40
41  ports:
42    $ref: /schemas/graph.yaml#/properties/ports
43
44    properties:
45      port@0:
46        $ref: /schemas/graph.yaml#/$defs/port-base
47        unevaluatedProperties: false
48        description: Parallel input port
49
50        properties:
51          endpoint:
52            $ref: /schemas/media/video-interfaces.yaml#
53            unevaluatedProperties: false
54
55            required:
56              - pclk-sample
57
58      port@1:
59        $ref: /schemas/graph.yaml#/properties/port
60        unevaluatedProperties: false
61        description: FPD-Link III output port
62
63    required:
64      - port@0
65      - port@1
66
67  i2c:
68    $ref: /schemas/i2c/i2c-controller.yaml#
69    unevaluatedProperties: false
70
71required:
72  - compatible
73  - '#gpio-cells'
74  - gpio-controller
75  - '#clock-cells'
76  - ports
77
78additionalProperties: false
79
80examples:
81  - |
82    #include <dt-bindings/gpio/gpio.h>
83
84    serializer {
85      compatible = "ti,ds90ub913a-q1";
86
87      gpio-controller;
88      #gpio-cells = <2>;
89
90      clocks = <&clk_cam_48M>;
91      clock-names = "clkin";
92
93      #clock-cells = <0>;
94
95      ports {
96        #address-cells = <1>;
97        #size-cells = <0>;
98
99        port@0 {
100          reg = <0>;
101          ub913_in: endpoint {
102            remote-endpoint = <&sensor_out>;
103            pclk-sample = <1>;
104          };
105        };
106
107        port@1 {
108          reg = <1>;
109          endpoint {
110            remote-endpoint = <&deser_fpd_in>;
111          };
112        };
113      };
114
115      i2c {
116        #address-cells = <1>;
117        #size-cells = <0>;
118
119        sensor@48 {
120          compatible = "aptina,mt9v111";
121          reg = <0x48>;
122
123          clocks = <&fixed_clock>;
124
125          port {
126            sensor_out: endpoint {
127              remote-endpoint = <&ub913_in>;
128            };
129          };
130        };
131      };
132    };
133...
134