Linux 6.7-rc7
[linux-modified.git] / Documentation / devicetree / bindings / media / i2c / ti,ds90ub913.yaml
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
7 title: Texas Instruments DS90UB913 FPD-Link III Serializer
8
9 maintainers:
10   - Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
11
12 description:
13   The TI DS90UB913 is an FPD-Link III video serializer for parallel video.
14
15 properties:
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
71 required:
72   - compatible
73   - '#gpio-cells'
74   - gpio-controller
75   - '#clock-cells'
76   - ports
77
78 additionalProperties: false
79
80 examples:
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 ...