Lines Matching +full:data +full:- +full:lanes
4 ---------------
6 Video data pipelines usually consist of external devices, e.g. camera sensors,
8 video DMA engines and video data processors.
14 Data interfaces on all video devices are described by their child 'port' nodes.
15 Configuration of a port depends on other devices participating in the data
21 #address-cells = <1>;
22 #size-cells = <0>;
37 a common scheme using '#address-cells', '#size-cells' and 'reg' properties is
41 specify #address-cells, #size-cells properties independently for the 'port'
44 Two 'endpoint' nodes are linked with each other through their 'remote-endpoint'
46 configuration of this device for data exchange with other device. In most
52 where supported by a device. For example, in case where a data interface of
53 a device is partitioned into multiple data busses, e.g. 16-bit input port
54 divided into two separate ITU-R BT.656 8-bit busses. In such case bus-width
55 and data-shift properties can be used to assign physical data lines to each
59 --------------------------------
63 endpoint nodes for the device, including unit-addresses and reg properties where
69 -------------------
75 - #address-cells : number of cells required to define port/endpoint
77 - #size-cells : should be zero.
81 -------------------
83 - flash-leds: An array of phandles, each referring to a flash LED, a sub-node
86 - lens-focus: A phandle to the node of the focus lens controller.
88 - rotation: The camera rotation is expressed as the angular difference in
93 A camera sensor has a 2-dimensional reference system 'Rc' defined by
94 its pixel array read-out order. The origin is set to the first pixel
95 being read out, the X-axis points along the column read-out direction
96 towards the last columns, and the Y-axis along the row read-out
102 2591 X-axis 0
103 <------------------------+ 0
105 .......... ... ..........! Y-axis
111 The external world scene reference system 'Rs' is a 2-dimensional
113 placed on the top-left corner of the visible scene, the X-axis points
114 towards the right, and the Y-axis points towards the bottom of the
121 0 X-axis
122 0 +------------------------------------->
133 Y-axis
140 +-/ \-+¸.·˙ !
142 +-----+˙·.¸ !
155 Y-axis
166 0 +------------------------------------->
167 0 X-axis
169 Note the shark being upside-down.
174 in the counter-clockwise direction between the camera reference system
183 Y-Rp
185 Y-Rc !
194 ! 0 +------------------------------------->
195 ! 0 X-Rp
196 0 +------------------------------------->
197 0 X-Rc
200 X-Rc 0
201 <------------------------------------+ 0
202 X-Rp 0 !
203 <------------------------------------+ 0 !
212 ! Y-Rc
214 Y-Rp
218 0 Y-Rc
219 0 +-------------------->
220 ! Y-Rp
231 ! 0 +------------------------------------->
232 ! 0 X-Rp
238 X-Rc
243 <------------------------------------+ 0
244 X-Rc !
245 Y-Rp !
254 ! Y-Rc
255 0 +------------------------------------->
256 0 X-Rp
260 0 Y-Rc
261 0 +-------------------->
263 ! <-----------------------------------+ 0
264 ! X-Rp !
274 ! Y-Rp
280 X-Rc
283 Example one - Webcam
289 The camera is typically mounted upside-down to compensate the lens
292 Y-Rp
293 Y-Rc ^
302 ! 0 +------------------------------------->
303 ! 0 X-Rp
304 0 +------------------------------------->
305 0 X-Rc
311 +--------------------------------------+
321 +--------------------------------------+
323 If the camera sensor is not mounted upside-down to compensate for the
328 X-Rc 0
329 <------------------------------------+ 0
331 Y-Rp !
340 ! Y-Rc
341 0 +------------------------------------->
342 0 X-Rp
346 +--------------------------------------+
356 +--------------------------------------+
361 +--------------------------------------+
371 +--------------------------------------+
373 Example two - Phone camera
381 aligned to the device longer side, upside-down mounted to compensate for
384 0 Y-Rc
385 0 +-------------------->
386 ! Y-Rp
397 ! 0 +------------------------------------->
398 ! 0 X-Rp
404 X-Rc
407 system is rotated by 90 degrees in the counter-clockwise direction
412 +-------------------------------------+
422 +-------------------------------------+
424 A correction of 90 degrees in counter-clockwise direction has to be
428 +--------------------+
443 +--------------------+
445 - orientation: The orientation of a device (typically an image sensor or a flash
449 0 - Front. The device is mounted on the front facing side of the system.
452 1 - Back. The device is mounted on the back side of the system, which is
454 2 - External. The device is not attached directly to the system but is
458 ----------------------------
460 - remote-endpoint: phandle to an 'endpoint' subnode of a remote device node.
461 - slave-mode: a boolean property indicating that the link is run in slave mode.
464 slave device (data source) by the master device (data sink). In the master
465 mode the data source device is also the source of the synchronization signals.
466 - bus-type: data bus type. Possible values are:
467 1 - MIPI CSI-2 C-PHY
468 2 - MIPI CSI1
469 3 - CCP2
470 4 - MIPI CSI-2 D-PHY
471 5 - Parallel
472 6 - Bt.656
473 - bus-width: number of data lines actively used, valid for the parallel busses.
474 - data-shift: on the parallel data busses, if bus-width is used to specify the
475 number of data lines, data-shift can be used to specify which data lines are
476 used, e.g. "bus-width=<8>; data-shift=<2>;" means, that lines 9:2 are used.
477 - hsync-active: active state of the HSYNC signal, 0/1 for LOW/HIGH respectively.
478 - vsync-active: active state of the VSYNC signal, 0/1 for LOW/HIGH respectively.
481 - data-active: similar to HSYNC and VSYNC, specifies data line polarity.
482 - data-enable-active: similar to HSYNC and VSYNC, specifies the data enable
484 - field-even-active: field signal level during the even field data transmission.
485 - pclk-sample: sample data on rising (1) or falling (0) edge of the pixel clock
487 - sync-on-green-active: active state of Sync-on-green (SoG) signal, 0/1 for
489 - data-lanes: an array of physical data lane indexes. Position of an entry
491 physical lane, e.g. for 2-lane MIPI CSI-2 bus we could have
492 "data-lanes = <1 2>;", assuming the clock lane is on hardware lane 0.
496 serial busses only (e.g. MIPI CSI-2).
497 - clock-lanes: an array of physical clock lane indexes. Position of an entry
499 physical lane, e.g. for a MIPI CSI-2 bus we could have "clock-lanes = <0>;",
501 serial busses only (e.g. MIPI CSI-2). Note that for the MIPI CSI-2 bus this
503 - clock-noncontinuous: a boolean property to allow MIPI CSI-2 non-continuous
505 - link-frequencies: Allowed data bus frequencies. For MIPI CSI-2, for
507 lane value. An array of 64-bit unsigned integers.
508 - lane-polarities: an array of polarities of the lanes starting from the clock
509 lane and followed by the data lanes in the same order as in data-lanes.
511 should be the combined length of data-lanes and clock-lanes properties.
512 If the lane-polarities property is omitted, the value must be interpreted
514 - strobe: Whether the clock signal is used as clock (0) or strobe (1). Used
518 -------
520 The example snippet below describes two data pipelines. ov772x and imx074 are
521 camera sensors with a parallel and serial (MIPI CSI-2) video bus respectively.
524 imx074 is linked to ceu0 through the MIPI CSI-2 receiver (csi2). ceu0 has a
525 (single) DMA engine writing captured data to memory. ceu0 node has a single
526 'port' node which may indicate that at any time only one of the following data
527 pipelines can be active: ov772x -> ceu0 or imx074 -> csi2 -> ceu0.
530 compatible = "renesas,sh-mobile-ceu";
535 compatible = "renesas,ceu-clock";
536 #clock-cells = <1>;
537 clock-frequency = <50000000>; /* Max clock frequency */
538 clock-output-names = "mclk";
542 #address-cells = <1>;
543 #size-cells = <0>;
549 bus-width = <8>; /* Used data lines */
550 data-shift = <2>; /* Lines 9:2 are used */
552 /* If hsync-active/vsync-active are missing,
554 hsync-active = <0>; /* Active low */
555 vsync-active = <0>; /* Active low */
556 data-active = <1>; /* Active high */
557 pclk-sample = <1>; /* Rising */
560 /* MIPI CSI-2 bus endpoint */
573 vddio-supply = <®ulator1>;
574 vddcore-supply = <®ulator2>;
576 clock-frequency = <20000000>;
578 clock-names = "xclk";
583 bus-width = <8>;
584 remote-endpoint = <&ceu0_1>;
585 hsync-active = <1>;
586 vsync-active = <0>; /* Who came up with an
588 data-active = <1>;
589 pclk-sample = <1>;
597 vddio-supply = <®ulator1>;
598 vddcore-supply = <®ulator2>;
600 clock-frequency = <30000000>; /* Shared clock with ov772x_1 */
602 clock-names = "sysclk"; /* Assuming this is the
606 clock-lanes = <0>;
607 data-lanes = <1 2>;
608 remote-endpoint = <&csi2_1>;
615 compatible = "renesas,sh-mobile-csi2";
618 #address-cells = <1>;
619 #size-cells = <0>;
623 reg = <1>; /* CSI-2 PHY #1 of 2: PHY_S,
627 clock-lanes = <0>;
628 data-lanes = <2 1>;
629 remote-endpoint = <&imx074_1>;
636 remote-endpoint = <&ceu0_0>;