Linux 6.7-rc7
[linux-modified.git] / Documentation / devicetree / bindings / media / i2c / ti,ds90ub953.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,ds90ub953.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Texas Instruments DS90UB953 FPD-Link III Serializer
8
9 maintainers:
10   - Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
11
12 description:
13   The TI DS90UB953 is an FPD-Link III video serializer for MIPI CSI-2.
14
15 properties:
16   compatible:
17     enum:
18       - ti,ds90ub953-q1
19       - ti,ds90ub971-q1
20
21   '#gpio-cells':
22     const: 2
23     description:
24       First cell is the GPIO pin number, second cell is the flags. The GPIO pin
25       number must be in range of [0, 3].
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: CSI-2 input port
49
50         properties:
51           endpoint:
52             $ref: /schemas/media/video-interfaces.yaml#
53             unevaluatedProperties: false
54
55             required:
56               - data-lanes
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,ds90ub953-q1";
86
87       gpio-controller;
88       #gpio-cells = <2>;
89
90       #clock-cells = <0>;
91
92       ports {
93         #address-cells = <1>;
94         #size-cells = <0>;
95
96         port@0 {
97           reg = <0>;
98           ub953_in: endpoint {
99             clock-lanes = <0>;
100             data-lanes = <1 2 3 4>;
101             remote-endpoint = <&sensor_out>;
102           };
103         };
104
105         port@1 {
106           reg = <1>;
107           endpoint {
108             remote-endpoint = <&deser_fpd_in>;
109           };
110         };
111       };
112
113       i2c {
114         #address-cells = <1>;
115         #size-cells = <0>;
116
117         sensor@1a {
118           compatible = "sony,imx274";
119           reg = <0x1a>;
120
121           reset-gpios = <&serializer 0 GPIO_ACTIVE_LOW>;
122
123           clocks = <&serializer>;
124           clock-names = "inck";
125
126           port {
127             sensor_out: endpoint {
128               remote-endpoint = <&ub953_in>;
129             };
130           };
131         };
132       };
133     };
134 ...