Re: [PATCHv2] dt: bindings: Add support for CSI1 bus

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




Hi,

On 19.01.2017 23:49, Sakari Ailus wrote:
Hi Pavel,

On Wed, Jan 11, 2017 at 11:53:35PM +0100, Pavel Machek wrote:
From: Sakari Ailus <sakari.ailus@xxxxxx>

In the vast majority of cases the bus type is known to the driver(s)
since a receiver or transmitter can only support a single one. There
are cases however where different options are possible.

The existing V4L2 OF support tries to figure out the bus type and
parse the bus parameters based on that. This does not scale too well
as there are multiple serial busses that share common properties.

Some hardware also supports multiple types of busses on the same
interfaces.

Document the CSI1/CCP2 property strobe. It signifies the clock or
strobe mode.

Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxx>
Signed-off-by: Ivaylo Dimitrov <ivo.g.dimitrov.75@xxxxxxxxx>
Signed-off-by: Pavel Machek <pavel@xxxxxx>

diff --git a/Documentation/devicetree/bindings/media/video-interfaces.txt b/Documentation/devicetree/bindings/media/video-interfaces.txt
index 9cd2a36..08c4498 100644
--- a/Documentation/devicetree/bindings/media/video-interfaces.txt
+++ b/Documentation/devicetree/bindings/media/video-interfaces.txt
@@ -76,6 +76,11 @@ Optional endpoint properties
   mode horizontal and vertical synchronization signals are provided to the
   slave device (data source) by the master device (data sink). In the master
   mode the data source device is also the source of the synchronization signals.
+- bus-type: data bus type. Possible values are:
+  0 - MIPI CSI2
+  1 - parallel / Bt656
+  2 - MIPI CSI1
+  3 - CCP2

Actually, thinking about this again --- we only need to explictly specify
busses if we're dealing with either CCP2 or CSI-1. The vast majority of the
actual busses are and continue to be CSI-2 or either parallel or Bt.656. As
they can be implicitly detected, we would have an option to just drop values
0 and 1 from above, i.e. only leave CSI-1 and CCP2. For now, specifying
CSI-2 or parallel / Bt.656 adds no value as the old DT binaries without
bus-type will need to be supported anyway.

 - bus-width: number of data lines actively used, valid for the parallel busses.
 - data-shift: on the parallel data busses, if bus-width is used to specify the
   number of data lines, data-shift can be used to specify which data lines are
@@ -112,7 +117,8 @@ Optional endpoint properties
   should be the combined length of data-lanes and clock-lanes properties.
   If the lane-polarities property is omitted, the value must be interpreted
   as 0 (normal). This property is valid for serial busses only.
-
+- strobe: Whether the clock signal is used as clock or strobe. Used
+  with CCP2, for instance.

How about the "ti,strobe-clock-inv" I proposed? No-one seems to know what
this really truly means... or just drop it if it's not really needed.


Not really :), see https://www.spinics.net/lists/linux-media/msg99802.html and https://www.spinics.net/lists/linux-media/msg99800.html

"clock/strobe", and "strobe-inv" are two distinct properties, see CSI1B_CTRL description in OMAP TRM. BTW there is another property that is needed for both n900 cameras to operate correctly (VP_CLK_POL, bit 12 from the same reg), but that can be added later on when we have the other bits in place.

Ivo
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]
  Powered by Linux