1aa1a8ff2SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2aa1a8ff2SEmmanuel Vadot%YAML 1.2
3aa1a8ff2SEmmanuel Vadot---
4aa1a8ff2SEmmanuel Vadot$id: http://devicetree.org/schemas/media/i2c/ti,ds90ub960.yaml#
5aa1a8ff2SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6aa1a8ff2SEmmanuel Vadot
7aa1a8ff2SEmmanuel Vadottitle: Texas Instruments DS90UB9XX Family FPD-Link Deserializer Hubs
8aa1a8ff2SEmmanuel Vadot
9aa1a8ff2SEmmanuel Vadotmaintainers:
10aa1a8ff2SEmmanuel Vadot  - Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
11aa1a8ff2SEmmanuel Vadot
12aa1a8ff2SEmmanuel Vadotdescription:
13aa1a8ff2SEmmanuel Vadot  The TI DS90UB9XX devices are FPD-Link video deserializers with I2C and GPIO
14aa1a8ff2SEmmanuel Vadot  forwarding.
15aa1a8ff2SEmmanuel Vadot
16aa1a8ff2SEmmanuel VadotallOf:
17aa1a8ff2SEmmanuel Vadot  - $ref: /schemas/i2c/i2c-atr.yaml#
18aa1a8ff2SEmmanuel Vadot
19aa1a8ff2SEmmanuel Vadotproperties:
20aa1a8ff2SEmmanuel Vadot  compatible:
21aa1a8ff2SEmmanuel Vadot    enum:
22aa1a8ff2SEmmanuel Vadot      - ti,ds90ub960-q1
23aa1a8ff2SEmmanuel Vadot      - ti,ds90ub9702-q1
24aa1a8ff2SEmmanuel Vadot
25aa1a8ff2SEmmanuel Vadot  reg:
26aa1a8ff2SEmmanuel Vadot    maxItems: 1
27aa1a8ff2SEmmanuel Vadot
28aa1a8ff2SEmmanuel Vadot  clocks:
29aa1a8ff2SEmmanuel Vadot    maxItems: 1
30aa1a8ff2SEmmanuel Vadot    description:
31aa1a8ff2SEmmanuel Vadot      Reference clock connected to the REFCLK pin.
32aa1a8ff2SEmmanuel Vadot
33aa1a8ff2SEmmanuel Vadot  clock-names:
34aa1a8ff2SEmmanuel Vadot    items:
35aa1a8ff2SEmmanuel Vadot      - const: refclk
36aa1a8ff2SEmmanuel Vadot
37aa1a8ff2SEmmanuel Vadot  powerdown-gpios:
38aa1a8ff2SEmmanuel Vadot    maxItems: 1
39aa1a8ff2SEmmanuel Vadot    description:
40aa1a8ff2SEmmanuel Vadot      Specifier for the GPIO connected to the PDB pin.
41aa1a8ff2SEmmanuel Vadot
42aa1a8ff2SEmmanuel Vadot  i2c-alias-pool:
43aa1a8ff2SEmmanuel Vadot    minItems: 1
44aa1a8ff2SEmmanuel Vadot    maxItems: 32
45aa1a8ff2SEmmanuel Vadot
46aa1a8ff2SEmmanuel Vadot  links:
47aa1a8ff2SEmmanuel Vadot    type: object
48aa1a8ff2SEmmanuel Vadot    additionalProperties: false
49aa1a8ff2SEmmanuel Vadot
50aa1a8ff2SEmmanuel Vadot    properties:
51aa1a8ff2SEmmanuel Vadot      '#address-cells':
52aa1a8ff2SEmmanuel Vadot        const: 1
53aa1a8ff2SEmmanuel Vadot
54aa1a8ff2SEmmanuel Vadot      '#size-cells':
55aa1a8ff2SEmmanuel Vadot        const: 0
56aa1a8ff2SEmmanuel Vadot
57aa1a8ff2SEmmanuel Vadot      ti,manual-strobe:
58aa1a8ff2SEmmanuel Vadot        type: boolean
59aa1a8ff2SEmmanuel Vadot        description:
60aa1a8ff2SEmmanuel Vadot          Enable manual strobe position and EQ level
61aa1a8ff2SEmmanuel Vadot
62aa1a8ff2SEmmanuel Vadot    patternProperties:
63aa1a8ff2SEmmanuel Vadot      '^link@[0-3]$':
64aa1a8ff2SEmmanuel Vadot        type: object
65aa1a8ff2SEmmanuel Vadot        additionalProperties: false
66aa1a8ff2SEmmanuel Vadot        properties:
67aa1a8ff2SEmmanuel Vadot          reg:
68aa1a8ff2SEmmanuel Vadot            description: The link number
69aa1a8ff2SEmmanuel Vadot            maxItems: 1
70aa1a8ff2SEmmanuel Vadot
71aa1a8ff2SEmmanuel Vadot          i2c-alias:
72*84943d6fSEmmanuel Vadot            $ref: /schemas/types.yaml#/definitions/uint32
73aa1a8ff2SEmmanuel Vadot            description:
74aa1a8ff2SEmmanuel Vadot              The I2C address used for the serializer. Transactions to this
75aa1a8ff2SEmmanuel Vadot              address on the I2C bus where the deserializer resides are
76aa1a8ff2SEmmanuel Vadot              forwarded to the serializer.
77aa1a8ff2SEmmanuel Vadot
78aa1a8ff2SEmmanuel Vadot          ti,rx-mode:
79aa1a8ff2SEmmanuel Vadot            $ref: /schemas/types.yaml#/definitions/uint32
80aa1a8ff2SEmmanuel Vadot            enum:
81aa1a8ff2SEmmanuel Vadot              - 0 # RAW10
82aa1a8ff2SEmmanuel Vadot              - 1 # RAW12 HF
83aa1a8ff2SEmmanuel Vadot              - 2 # RAW12 LF
84aa1a8ff2SEmmanuel Vadot              - 3 # CSI2 SYNC
85aa1a8ff2SEmmanuel Vadot              - 4 # CSI2 NON-SYNC
86aa1a8ff2SEmmanuel Vadot            description:
87aa1a8ff2SEmmanuel Vadot              FPD-Link Input Mode. This should reflect the hardware and the
88aa1a8ff2SEmmanuel Vadot              default mode of the connected device.
89aa1a8ff2SEmmanuel Vadot
90aa1a8ff2SEmmanuel Vadot          ti,cdr-mode:
91aa1a8ff2SEmmanuel Vadot            $ref: /schemas/types.yaml#/definitions/uint32
92aa1a8ff2SEmmanuel Vadot            enum:
93aa1a8ff2SEmmanuel Vadot              - 0 # FPD-Link III
94aa1a8ff2SEmmanuel Vadot              - 1 # FPD-Link IV
95aa1a8ff2SEmmanuel Vadot            description:
96aa1a8ff2SEmmanuel Vadot              FPD-Link CDR Mode. This should reflect the hardware and the
97aa1a8ff2SEmmanuel Vadot              default mode of the connected device.
98aa1a8ff2SEmmanuel Vadot
99aa1a8ff2SEmmanuel Vadot          ti,strobe-pos:
100aa1a8ff2SEmmanuel Vadot            $ref: /schemas/types.yaml#/definitions/int32
101aa1a8ff2SEmmanuel Vadot            minimum: -13
102aa1a8ff2SEmmanuel Vadot            maximum: 13
103aa1a8ff2SEmmanuel Vadot            description: Manual strobe position
104aa1a8ff2SEmmanuel Vadot
105aa1a8ff2SEmmanuel Vadot          ti,eq-level:
106aa1a8ff2SEmmanuel Vadot            $ref: /schemas/types.yaml#/definitions/uint32
107aa1a8ff2SEmmanuel Vadot            maximum: 14
108aa1a8ff2SEmmanuel Vadot            description: Manual EQ level
109aa1a8ff2SEmmanuel Vadot
110aa1a8ff2SEmmanuel Vadot          serializer:
111aa1a8ff2SEmmanuel Vadot            type: object
112aa1a8ff2SEmmanuel Vadot            description: FPD-Link Serializer node
113aa1a8ff2SEmmanuel Vadot
114aa1a8ff2SEmmanuel Vadot        required:
115aa1a8ff2SEmmanuel Vadot          - reg
116aa1a8ff2SEmmanuel Vadot          - i2c-alias
117aa1a8ff2SEmmanuel Vadot          - ti,rx-mode
118aa1a8ff2SEmmanuel Vadot          - serializer
119aa1a8ff2SEmmanuel Vadot
120aa1a8ff2SEmmanuel Vadot  ports:
121aa1a8ff2SEmmanuel Vadot    $ref: /schemas/graph.yaml#/properties/ports
122aa1a8ff2SEmmanuel Vadot
123aa1a8ff2SEmmanuel Vadot    properties:
124aa1a8ff2SEmmanuel Vadot      port@0:
125aa1a8ff2SEmmanuel Vadot        $ref: /schemas/graph.yaml#/$defs/port-base
126aa1a8ff2SEmmanuel Vadot        unevaluatedProperties: false
127aa1a8ff2SEmmanuel Vadot        description: FPD-Link input 0
128aa1a8ff2SEmmanuel Vadot
129aa1a8ff2SEmmanuel Vadot        properties:
130aa1a8ff2SEmmanuel Vadot          endpoint:
131aa1a8ff2SEmmanuel Vadot            $ref: /schemas/media/video-interfaces.yaml#
132aa1a8ff2SEmmanuel Vadot            unevaluatedProperties: false
133aa1a8ff2SEmmanuel Vadot            description:
134aa1a8ff2SEmmanuel Vadot              Endpoint for FPD-Link port. If the RX mode for this port is RAW,
135aa1a8ff2SEmmanuel Vadot              hsync-active and vsync-active must be defined.
136aa1a8ff2SEmmanuel Vadot
137aa1a8ff2SEmmanuel Vadot      port@1:
138aa1a8ff2SEmmanuel Vadot        $ref: /schemas/graph.yaml#/$defs/port-base
139aa1a8ff2SEmmanuel Vadot        unevaluatedProperties: false
140aa1a8ff2SEmmanuel Vadot        description: FPD-Link input 1
141aa1a8ff2SEmmanuel Vadot
142aa1a8ff2SEmmanuel Vadot        properties:
143aa1a8ff2SEmmanuel Vadot          endpoint:
144aa1a8ff2SEmmanuel Vadot            $ref: /schemas/media/video-interfaces.yaml#
145aa1a8ff2SEmmanuel Vadot            unevaluatedProperties: false
146aa1a8ff2SEmmanuel Vadot            description:
147aa1a8ff2SEmmanuel Vadot              Endpoint for FPD-Link port. If the RX mode for this port is RAW,
148aa1a8ff2SEmmanuel Vadot              hsync-active and vsync-active must be defined.
149aa1a8ff2SEmmanuel Vadot
150aa1a8ff2SEmmanuel Vadot      port@2:
151aa1a8ff2SEmmanuel Vadot        $ref: /schemas/graph.yaml#/$defs/port-base
152aa1a8ff2SEmmanuel Vadot        unevaluatedProperties: false
153aa1a8ff2SEmmanuel Vadot        description: FPD-Link input 2
154aa1a8ff2SEmmanuel Vadot
155aa1a8ff2SEmmanuel Vadot        properties:
156aa1a8ff2SEmmanuel Vadot          endpoint:
157aa1a8ff2SEmmanuel Vadot            $ref: /schemas/media/video-interfaces.yaml#
158aa1a8ff2SEmmanuel Vadot            unevaluatedProperties: false
159aa1a8ff2SEmmanuel Vadot            description:
160aa1a8ff2SEmmanuel Vadot              Endpoint for FPD-Link port. If the RX mode for this port is RAW,
161aa1a8ff2SEmmanuel Vadot              hsync-active and vsync-active must be defined.
162aa1a8ff2SEmmanuel Vadot
163aa1a8ff2SEmmanuel Vadot      port@3:
164aa1a8ff2SEmmanuel Vadot        $ref: /schemas/graph.yaml#/$defs/port-base
165aa1a8ff2SEmmanuel Vadot        unevaluatedProperties: false
166aa1a8ff2SEmmanuel Vadot        description: FPD-Link input 3
167aa1a8ff2SEmmanuel Vadot
168aa1a8ff2SEmmanuel Vadot        properties:
169aa1a8ff2SEmmanuel Vadot          endpoint:
170aa1a8ff2SEmmanuel Vadot            $ref: /schemas/media/video-interfaces.yaml#
171aa1a8ff2SEmmanuel Vadot            unevaluatedProperties: false
172aa1a8ff2SEmmanuel Vadot            description:
173aa1a8ff2SEmmanuel Vadot              Endpoint for FPD-Link port. If the RX mode for this port is RAW,
174aa1a8ff2SEmmanuel Vadot              hsync-active and vsync-active must be defined.
175aa1a8ff2SEmmanuel Vadot
176aa1a8ff2SEmmanuel Vadot      port@4:
177aa1a8ff2SEmmanuel Vadot        $ref: /schemas/graph.yaml#/$defs/port-base
178aa1a8ff2SEmmanuel Vadot        unevaluatedProperties: false
179aa1a8ff2SEmmanuel Vadot        description: CSI-2 Output 0
180aa1a8ff2SEmmanuel Vadot
181aa1a8ff2SEmmanuel Vadot        properties:
182aa1a8ff2SEmmanuel Vadot          endpoint:
183aa1a8ff2SEmmanuel Vadot            $ref: /schemas/media/video-interfaces.yaml#
184aa1a8ff2SEmmanuel Vadot            unevaluatedProperties: false
185aa1a8ff2SEmmanuel Vadot
186aa1a8ff2SEmmanuel Vadot            properties:
187aa1a8ff2SEmmanuel Vadot              data-lanes:
188aa1a8ff2SEmmanuel Vadot                minItems: 1
189aa1a8ff2SEmmanuel Vadot                maxItems: 4
190aa1a8ff2SEmmanuel Vadot              link-frequencies:
191aa1a8ff2SEmmanuel Vadot                maxItems: 1
192aa1a8ff2SEmmanuel Vadot
193aa1a8ff2SEmmanuel Vadot            required:
194aa1a8ff2SEmmanuel Vadot              - data-lanes
195aa1a8ff2SEmmanuel Vadot              - link-frequencies
196aa1a8ff2SEmmanuel Vadot
197aa1a8ff2SEmmanuel Vadot      port@5:
198aa1a8ff2SEmmanuel Vadot        $ref: /schemas/graph.yaml#/$defs/port-base
199aa1a8ff2SEmmanuel Vadot        unevaluatedProperties: false
200aa1a8ff2SEmmanuel Vadot        description: CSI-2 Output 1
201aa1a8ff2SEmmanuel Vadot
202aa1a8ff2SEmmanuel Vadot        properties:
203aa1a8ff2SEmmanuel Vadot          endpoint:
204aa1a8ff2SEmmanuel Vadot            $ref: /schemas/media/video-interfaces.yaml#
205aa1a8ff2SEmmanuel Vadot            unevaluatedProperties: false
206aa1a8ff2SEmmanuel Vadot
207aa1a8ff2SEmmanuel Vadot            properties:
208aa1a8ff2SEmmanuel Vadot              data-lanes:
209aa1a8ff2SEmmanuel Vadot                minItems: 1
210aa1a8ff2SEmmanuel Vadot                maxItems: 4
211aa1a8ff2SEmmanuel Vadot              link-frequencies:
212aa1a8ff2SEmmanuel Vadot                maxItems: 1
213aa1a8ff2SEmmanuel Vadot
214aa1a8ff2SEmmanuel Vadot            required:
215aa1a8ff2SEmmanuel Vadot              - data-lanes
216aa1a8ff2SEmmanuel Vadot              - link-frequencies
217aa1a8ff2SEmmanuel Vadot
218aa1a8ff2SEmmanuel Vadot    required:
219aa1a8ff2SEmmanuel Vadot      - port@0
220aa1a8ff2SEmmanuel Vadot      - port@1
221aa1a8ff2SEmmanuel Vadot      - port@2
222aa1a8ff2SEmmanuel Vadot      - port@3
223aa1a8ff2SEmmanuel Vadot      - port@4
224aa1a8ff2SEmmanuel Vadot      - port@5
225aa1a8ff2SEmmanuel Vadot
226aa1a8ff2SEmmanuel Vadotrequired:
227aa1a8ff2SEmmanuel Vadot  - compatible
228aa1a8ff2SEmmanuel Vadot  - reg
229aa1a8ff2SEmmanuel Vadot  - clocks
230aa1a8ff2SEmmanuel Vadot  - clock-names
231aa1a8ff2SEmmanuel Vadot  - ports
232aa1a8ff2SEmmanuel Vadot
233aa1a8ff2SEmmanuel VadotunevaluatedProperties: false
234aa1a8ff2SEmmanuel Vadot
235aa1a8ff2SEmmanuel Vadotexamples:
236aa1a8ff2SEmmanuel Vadot  - |
237aa1a8ff2SEmmanuel Vadot    #include <dt-bindings/gpio/gpio.h>
238aa1a8ff2SEmmanuel Vadot
239aa1a8ff2SEmmanuel Vadot    i2c {
240aa1a8ff2SEmmanuel Vadot      clock-frequency = <400000>;
241aa1a8ff2SEmmanuel Vadot      #address-cells = <1>;
242aa1a8ff2SEmmanuel Vadot      #size-cells = <0>;
243aa1a8ff2SEmmanuel Vadot
244aa1a8ff2SEmmanuel Vadot      deser@3d {
245aa1a8ff2SEmmanuel Vadot        compatible = "ti,ds90ub960-q1";
246aa1a8ff2SEmmanuel Vadot        reg = <0x3d>;
247aa1a8ff2SEmmanuel Vadot
248aa1a8ff2SEmmanuel Vadot        clock-names = "refclk";
249aa1a8ff2SEmmanuel Vadot        clocks = <&fixed_clock>;
250aa1a8ff2SEmmanuel Vadot
251aa1a8ff2SEmmanuel Vadot        powerdown-gpios = <&pca9555 7 GPIO_ACTIVE_LOW>;
252aa1a8ff2SEmmanuel Vadot
253aa1a8ff2SEmmanuel Vadot        i2c-alias-pool = <0x4a 0x4b 0x4c 0x4d 0x4e 0x4f>;
254aa1a8ff2SEmmanuel Vadot
255aa1a8ff2SEmmanuel Vadot        ports {
256aa1a8ff2SEmmanuel Vadot          #address-cells = <1>;
257aa1a8ff2SEmmanuel Vadot          #size-cells = <0>;
258aa1a8ff2SEmmanuel Vadot
259aa1a8ff2SEmmanuel Vadot          /* Port 0, Camera 0 */
260aa1a8ff2SEmmanuel Vadot          port@0 {
261aa1a8ff2SEmmanuel Vadot            reg = <0>;
262aa1a8ff2SEmmanuel Vadot
263aa1a8ff2SEmmanuel Vadot            ub960_fpd3_1_in: endpoint {
264aa1a8ff2SEmmanuel Vadot              remote-endpoint = <&ub953_1_out>;
265aa1a8ff2SEmmanuel Vadot            };
266aa1a8ff2SEmmanuel Vadot          };
267aa1a8ff2SEmmanuel Vadot
268aa1a8ff2SEmmanuel Vadot          /* Port 1, Camera 1 */
269aa1a8ff2SEmmanuel Vadot          port@1 {
270aa1a8ff2SEmmanuel Vadot            reg = <1>;
271aa1a8ff2SEmmanuel Vadot
272aa1a8ff2SEmmanuel Vadot            ub960_fpd3_2_in: endpoint {
273aa1a8ff2SEmmanuel Vadot              remote-endpoint = <&ub913_2_out>;
274aa1a8ff2SEmmanuel Vadot              hsync-active = <0>;
275aa1a8ff2SEmmanuel Vadot              vsync-active = <1>;
276aa1a8ff2SEmmanuel Vadot            };
277aa1a8ff2SEmmanuel Vadot          };
278aa1a8ff2SEmmanuel Vadot
279aa1a8ff2SEmmanuel Vadot          /* Port 2, unconnected */
280aa1a8ff2SEmmanuel Vadot          port@2 {
281aa1a8ff2SEmmanuel Vadot            reg = <2>;
282aa1a8ff2SEmmanuel Vadot          };
283aa1a8ff2SEmmanuel Vadot
284aa1a8ff2SEmmanuel Vadot          /* Port 3, unconnected */
285aa1a8ff2SEmmanuel Vadot          port@3 {
286aa1a8ff2SEmmanuel Vadot            reg = <3>;
287aa1a8ff2SEmmanuel Vadot          };
288aa1a8ff2SEmmanuel Vadot
289aa1a8ff2SEmmanuel Vadot          /* Port 4, CSI-2 TX */
290aa1a8ff2SEmmanuel Vadot          port@4 {
291aa1a8ff2SEmmanuel Vadot            reg = <4>;
292aa1a8ff2SEmmanuel Vadot            ds90ub960_0_csi_out: endpoint {
293aa1a8ff2SEmmanuel Vadot              data-lanes = <1 2 3 4>;
294aa1a8ff2SEmmanuel Vadot              link-frequencies = /bits/ 64 <800000000>;
295aa1a8ff2SEmmanuel Vadot              remote-endpoint = <&csi2_phy0>;
296aa1a8ff2SEmmanuel Vadot            };
297aa1a8ff2SEmmanuel Vadot          };
298aa1a8ff2SEmmanuel Vadot
299aa1a8ff2SEmmanuel Vadot          /* Port 5, unconnected */
300aa1a8ff2SEmmanuel Vadot          port@5 {
301aa1a8ff2SEmmanuel Vadot            reg = <5>;
302aa1a8ff2SEmmanuel Vadot          };
303aa1a8ff2SEmmanuel Vadot        };
304aa1a8ff2SEmmanuel Vadot
305aa1a8ff2SEmmanuel Vadot        links {
306aa1a8ff2SEmmanuel Vadot          #address-cells = <1>;
307aa1a8ff2SEmmanuel Vadot          #size-cells = <0>;
308aa1a8ff2SEmmanuel Vadot
309aa1a8ff2SEmmanuel Vadot          /* Link 0 has DS90UB953 serializer and IMX274 sensor */
310aa1a8ff2SEmmanuel Vadot
311aa1a8ff2SEmmanuel Vadot          link@0 {
312aa1a8ff2SEmmanuel Vadot            reg = <0>;
313aa1a8ff2SEmmanuel Vadot            i2c-alias = <0x44>;
314aa1a8ff2SEmmanuel Vadot
315aa1a8ff2SEmmanuel Vadot            ti,rx-mode = <3>;
316aa1a8ff2SEmmanuel Vadot
317aa1a8ff2SEmmanuel Vadot            serializer1: serializer {
318aa1a8ff2SEmmanuel Vadot              compatible = "ti,ds90ub953-q1";
319aa1a8ff2SEmmanuel Vadot
320aa1a8ff2SEmmanuel Vadot              gpio-controller;
321aa1a8ff2SEmmanuel Vadot              #gpio-cells = <2>;
322aa1a8ff2SEmmanuel Vadot
323aa1a8ff2SEmmanuel Vadot              #clock-cells = <0>;
324aa1a8ff2SEmmanuel Vadot
325aa1a8ff2SEmmanuel Vadot              ports {
326aa1a8ff2SEmmanuel Vadot                #address-cells = <1>;
327aa1a8ff2SEmmanuel Vadot                #size-cells = <0>;
328aa1a8ff2SEmmanuel Vadot
329aa1a8ff2SEmmanuel Vadot                port@0 {
330aa1a8ff2SEmmanuel Vadot                  reg = <0>;
331aa1a8ff2SEmmanuel Vadot                  ub953_1_in: endpoint {
332aa1a8ff2SEmmanuel Vadot                    data-lanes = <1 2 3 4>;
333aa1a8ff2SEmmanuel Vadot                    remote-endpoint = <&sensor_1_out>;
334aa1a8ff2SEmmanuel Vadot                  };
335aa1a8ff2SEmmanuel Vadot                };
336aa1a8ff2SEmmanuel Vadot
337aa1a8ff2SEmmanuel Vadot                port@1 {
338aa1a8ff2SEmmanuel Vadot                  reg = <1>;
339aa1a8ff2SEmmanuel Vadot
340aa1a8ff2SEmmanuel Vadot                  ub953_1_out: endpoint {
341aa1a8ff2SEmmanuel Vadot                    remote-endpoint = <&ub960_fpd3_1_in>;
342aa1a8ff2SEmmanuel Vadot                  };
343aa1a8ff2SEmmanuel Vadot                };
344aa1a8ff2SEmmanuel Vadot              };
345aa1a8ff2SEmmanuel Vadot
346aa1a8ff2SEmmanuel Vadot              i2c {
347aa1a8ff2SEmmanuel Vadot                #address-cells = <1>;
348aa1a8ff2SEmmanuel Vadot                #size-cells = <0>;
349aa1a8ff2SEmmanuel Vadot
350aa1a8ff2SEmmanuel Vadot                sensor@1a {
351aa1a8ff2SEmmanuel Vadot                  compatible = "sony,imx274";
352aa1a8ff2SEmmanuel Vadot                  reg = <0x1a>;
353aa1a8ff2SEmmanuel Vadot
354aa1a8ff2SEmmanuel Vadot                  reset-gpios = <&serializer1 0 GPIO_ACTIVE_LOW>;
355aa1a8ff2SEmmanuel Vadot
356aa1a8ff2SEmmanuel Vadot                  port {
357aa1a8ff2SEmmanuel Vadot                    sensor_1_out: endpoint {
358aa1a8ff2SEmmanuel Vadot                      remote-endpoint = <&ub953_1_in>;
359aa1a8ff2SEmmanuel Vadot                    };
360aa1a8ff2SEmmanuel Vadot                  };
361aa1a8ff2SEmmanuel Vadot                };
362aa1a8ff2SEmmanuel Vadot              };
363aa1a8ff2SEmmanuel Vadot            };
364aa1a8ff2SEmmanuel Vadot          };  /* End of link@0 */
365aa1a8ff2SEmmanuel Vadot
366aa1a8ff2SEmmanuel Vadot          /* Link 1 has DS90UB913 serializer and MT9V111 sensor */
367aa1a8ff2SEmmanuel Vadot
368aa1a8ff2SEmmanuel Vadot          link@1 {
369aa1a8ff2SEmmanuel Vadot            reg = <1>;
370aa1a8ff2SEmmanuel Vadot            i2c-alias = <0x45>;
371aa1a8ff2SEmmanuel Vadot
372aa1a8ff2SEmmanuel Vadot            ti,rx-mode = <0>;
373aa1a8ff2SEmmanuel Vadot
374aa1a8ff2SEmmanuel Vadot            serializer2: serializer {
375aa1a8ff2SEmmanuel Vadot              compatible = "ti,ds90ub913a-q1";
376aa1a8ff2SEmmanuel Vadot
377aa1a8ff2SEmmanuel Vadot              gpio-controller;
378aa1a8ff2SEmmanuel Vadot              #gpio-cells = <2>;
379aa1a8ff2SEmmanuel Vadot
380aa1a8ff2SEmmanuel Vadot              clocks = <&clk_cam_48M>;
381aa1a8ff2SEmmanuel Vadot              clock-names = "clkin";
382aa1a8ff2SEmmanuel Vadot
383aa1a8ff2SEmmanuel Vadot              #clock-cells = <0>;
384aa1a8ff2SEmmanuel Vadot
385aa1a8ff2SEmmanuel Vadot              ports {
386aa1a8ff2SEmmanuel Vadot                #address-cells = <1>;
387aa1a8ff2SEmmanuel Vadot                #size-cells = <0>;
388aa1a8ff2SEmmanuel Vadot
389aa1a8ff2SEmmanuel Vadot                port@0 {
390aa1a8ff2SEmmanuel Vadot                  reg = <0>;
391aa1a8ff2SEmmanuel Vadot                  ub913_2_in: endpoint {
392aa1a8ff2SEmmanuel Vadot                    remote-endpoint = <&sensor_2_out>;
393aa1a8ff2SEmmanuel Vadot                    pclk-sample = <1>;
394aa1a8ff2SEmmanuel Vadot                  };
395aa1a8ff2SEmmanuel Vadot                };
396aa1a8ff2SEmmanuel Vadot
397aa1a8ff2SEmmanuel Vadot                port@1 {
398aa1a8ff2SEmmanuel Vadot                  reg = <1>;
399aa1a8ff2SEmmanuel Vadot
400aa1a8ff2SEmmanuel Vadot                  ub913_2_out: endpoint {
401aa1a8ff2SEmmanuel Vadot                    remote-endpoint = <&ub960_fpd3_2_in>;
402aa1a8ff2SEmmanuel Vadot                  };
403aa1a8ff2SEmmanuel Vadot                };
404aa1a8ff2SEmmanuel Vadot              };
405aa1a8ff2SEmmanuel Vadot
406aa1a8ff2SEmmanuel Vadot              i2c {
407aa1a8ff2SEmmanuel Vadot                #address-cells = <1>;
408aa1a8ff2SEmmanuel Vadot                #size-cells = <0>;
409aa1a8ff2SEmmanuel Vadot
410aa1a8ff2SEmmanuel Vadot                sensor@48 {
411aa1a8ff2SEmmanuel Vadot                  compatible = "aptina,mt9v111";
412aa1a8ff2SEmmanuel Vadot                  reg = <0x48>;
413aa1a8ff2SEmmanuel Vadot
414aa1a8ff2SEmmanuel Vadot                  clocks = <&serializer2>;
415aa1a8ff2SEmmanuel Vadot
416aa1a8ff2SEmmanuel Vadot                  port {
417aa1a8ff2SEmmanuel Vadot                    sensor_2_out: endpoint {
418aa1a8ff2SEmmanuel Vadot                      remote-endpoint = <&ub913_2_in>;
419aa1a8ff2SEmmanuel Vadot                    };
420aa1a8ff2SEmmanuel Vadot                  };
421aa1a8ff2SEmmanuel Vadot                };
422aa1a8ff2SEmmanuel Vadot              };
423aa1a8ff2SEmmanuel Vadot            };
424aa1a8ff2SEmmanuel Vadot          }; /* End of link@1 */
425aa1a8ff2SEmmanuel Vadot        };
426aa1a8ff2SEmmanuel Vadot      };
427aa1a8ff2SEmmanuel Vadot    };
428aa1a8ff2SEmmanuel Vadot...
429