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