1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
4 $id: http://devicetree.org/schemas/media/i2c/ti,ds90ub960.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Texas Instruments DS90UB9XX Family FPD-Link Deserializer Hubs
10 - Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
13 The TI DS90UB9XX devices are FPD-Link video deserializers with I2C and GPIO
17 - $ref: /schemas/i2c/i2c-atr.yaml#
31 Reference clock connected to the REFCLK pin.
40 Specifier for the GPIO connected to the PDB pin.
48 additionalProperties: false
60 Enable manual strobe position and EQ level
65 additionalProperties: false
68 description: The link number
72 $ref: /schemas/types.yaml#/definitions/uint32
74 The I2C address used for the serializer. Transactions to this
75 address on the I2C bus where the deserializer resides are
76 forwarded to the serializer.
79 $ref: /schemas/types.yaml#/definitions/uint32
87 FPD-Link Input Mode. This should reflect the hardware and the
88 default mode of the connected device.
91 $ref: /schemas/types.yaml#/definitions/uint32
96 FPD-Link CDR Mode. This should reflect the hardware and the
97 default mode of the connected device.
100 $ref: /schemas/types.yaml#/definitions/int32
103 description: Manual strobe position
106 $ref: /schemas/types.yaml#/definitions/uint32
108 description: Manual EQ level
112 description: FPD-Link Serializer node
121 $ref: /schemas/graph.yaml#/properties/ports
125 $ref: /schemas/graph.yaml#/$defs/port-base
126 unevaluatedProperties: false
127 description: FPD-Link input 0
131 $ref: /schemas/media/video-interfaces.yaml#
132 unevaluatedProperties: false
134 Endpoint for FPD-Link port. If the RX mode for this port is RAW,
135 hsync-active and vsync-active must be defined.
138 $ref: /schemas/graph.yaml#/$defs/port-base
139 unevaluatedProperties: false
140 description: FPD-Link input 1
144 $ref: /schemas/media/video-interfaces.yaml#
145 unevaluatedProperties: false
147 Endpoint for FPD-Link port. If the RX mode for this port is RAW,
148 hsync-active and vsync-active must be defined.
151 $ref: /schemas/graph.yaml#/$defs/port-base
152 unevaluatedProperties: false
153 description: FPD-Link input 2
157 $ref: /schemas/media/video-interfaces.yaml#
158 unevaluatedProperties: false
160 Endpoint for FPD-Link port. If the RX mode for this port is RAW,
161 hsync-active and vsync-active must be defined.
164 $ref: /schemas/graph.yaml#/$defs/port-base
165 unevaluatedProperties: false
166 description: FPD-Link input 3
170 $ref: /schemas/media/video-interfaces.yaml#
171 unevaluatedProperties: false
173 Endpoint for FPD-Link port. If the RX mode for this port is RAW,
174 hsync-active and vsync-active must be defined.
177 $ref: /schemas/graph.yaml#/$defs/port-base
178 unevaluatedProperties: false
179 description: CSI-2 Output 0
183 $ref: /schemas/media/video-interfaces.yaml#
184 unevaluatedProperties: false
198 $ref: /schemas/graph.yaml#/$defs/port-base
199 unevaluatedProperties: false
200 description: CSI-2 Output 1
204 $ref: /schemas/media/video-interfaces.yaml#
205 unevaluatedProperties: false
233 unevaluatedProperties: false
237 #include <dt-bindings/gpio/gpio.h>
240 clock-frequency = <400000>;
241 #address-cells = <1>;
245 compatible = "ti,ds90ub960-q1";
248 clock-names = "refclk";
249 clocks = <&fixed_clock>;
251 powerdown-gpios = <&pca9555 7 GPIO_ACTIVE_LOW>;
253 i2c-alias-pool = <0x4a 0x4b 0x4c 0x4d 0x4e 0x4f>;
256 #address-cells = <1>;
259 /* Port 0, Camera 0 */
263 ub960_fpd3_1_in: endpoint {
264 remote-endpoint = <&ub953_1_out>;
268 /* Port 1, Camera 1 */
272 ub960_fpd3_2_in: endpoint {
273 remote-endpoint = <&ub913_2_out>;
279 /* Port 2, unconnected */
284 /* Port 3, unconnected */
289 /* Port 4, CSI-2 TX */
292 ds90ub960_0_csi_out: endpoint {
293 data-lanes = <1 2 3 4>;
294 link-frequencies = /bits/ 64 <800000000>;
295 remote-endpoint = <&csi2_phy0>;
299 /* Port 5, unconnected */
306 #address-cells = <1>;
309 /* Link 0 has DS90UB953 serializer and IMX274 sensor */
317 serializer1: serializer {
318 compatible = "ti,ds90ub953-q1";
326 #address-cells = <1>;
331 ub953_1_in: endpoint {
332 data-lanes = <1 2 3 4>;
333 remote-endpoint = <&sensor_1_out>;
340 ub953_1_out: endpoint {
341 remote-endpoint = <&ub960_fpd3_1_in>;
347 #address-cells = <1>;
351 compatible = "sony,imx274";
354 reset-gpios = <&serializer1 0 GPIO_ACTIVE_LOW>;
357 sensor_1_out: endpoint {
358 remote-endpoint = <&ub953_1_in>;
364 }; /* End of link@0 */
366 /* Link 1 has DS90UB913 serializer and MT9V111 sensor */
374 serializer2: serializer {
375 compatible = "ti,ds90ub913a-q1";
380 clocks = <&clk_cam_48M>;
381 clock-names = "clkin";
386 #address-cells = <1>;
391 ub913_2_in: endpoint {
392 remote-endpoint = <&sensor_2_out>;
400 ub913_2_out: endpoint {
401 remote-endpoint = <&ub960_fpd3_2_in>;
407 #address-cells = <1>;
411 compatible = "aptina,mt9v111";
414 clocks = <&serializer2>;
417 sensor_2_out: endpoint {
418 remote-endpoint = <&ub913_2_in>;
424 }; /* End of link@1 */