Hi Tomasz, On Fri, 2020-05-29 at 15:43 +0200, Tomasz Figa wrote: > On Thu, May 28, 2020 at 10:06 AM Dongchun Zhu <dongchun.zhu@xxxxxxxxxxxx> wrote: > > > > Hi Sakari, > > > > On Thu, 2020-05-28 at 10:23 +0300, Sakari Ailus wrote: > > > Hi Dongchun, > > > > > > On Thu, May 28, 2020 at 11:34:42AM +0800, Dongchun Zhu wrote: > > > > Hi Sakari, Rob, > > > > > > > > On Thu, 2020-05-28 at 00:16 +0300, Sakari Ailus wrote: > > > > > Hi Rob, Dongchun, > > > > > > > > > > On Wed, May 27, 2020 at 09:27:22AM -0600, Rob Herring wrote: > > > > > > > > > + properties: > > > > > > > > > + endpoint: > > > > > > > > > + type: object > > > > > > > > > + additionalProperties: false > > > > > > > > > + > > > > > > > > > + properties: > > > > > > > > > > > > > > Actually I wonder whether we need to declare 'clock-lanes' here? > > > > > > > > > > > > Yes, if you are using it. > > > > > > > > > > Dongchun, can you confirm the chip has a single data and a single clock > > > > > lane and that it does not support lane reordering? > > > > > > > > > > > > > From the datasheet, 'MIPI inside the OV02A10 provides one single > > > > uni-directional clock lane and one bi-directional data lane solution for > > > > communication links between components inside a mobile device. > > > > The data lane has full support for HS(uni-directional) and > > > > LP(bi-directional) data transfer mode.' > > > > > > > > The sensor doesn't support lane reordering, so 'clock-lanes' property > > > > would not be added in next release. > > > > > > > > > So if there's nothing to convey to the driver, also the data-lanes should > > > > > be removed IMO. > > > > > > > > > > > > > However, 'data-lanes' property may still be required. > > > > It is known that either data-lanes or clock-lanes is an array of > > > > physical data lane indexes. Position of an entry determines the logical > > > > lane number, while the value of an entry indicates physical lane, e.g., > > > > for 1-lane MIPI CSI-2 bus we could have "data-lanes = <1>;", assuming > > > > the clock lane is on hardware lane 0. > > > > > > > > As mentioned earlier, the OV02A10 sensor supports only 1C1D and does not > > > > support lane reordering, so here we shall use 'data-lanes = <1>' as > > > > there is only a clock lane for OV02A10. > > > > > > > > Reminder: > > > > If 'data-lanes' property is not present, the driver would assume > > > > four-lane operation. This means for one-lane or two-lane operation, this > > > > property must be present and set to the right physical lane indexes. > > > > If the hardware does not support lane reordering, monotonically > > > > incremented values shall be used from 0 or 1 onwards, depending on > > > > whether or not there is also a clock lane. > > > > > > How can the driver use four lanes, considering the device only supports a > > > single lane?? > > > > > > > I understood your meaning. > > If we omit the property 'data-lanes', the sensor should work still. > > But then what's the meaning of the existence of 'data-lanes'? > > If this property 'data-lanes' is always optional, then why dt-bindings > > provide the interface? > > > > In the meantime, if omitting 'data-lanes' for one sensor(transmitter) > > that has only one physical data lane, MIPI receiver(e.g., MIPI CSI-2) > > shall enable four-lane configuration, which may increase consumption of > > both power and resource in the process of IIC communication. > > Wouldn't the receiver still have the data-lanes property under its > endpoint node, telling it how many lanes and in which order should be > used? > The MIPI receiver(RX) shall use v4l2_async_notifier_add_fwnode_remote_subdev() API to parse the property "data-lanes" under sensor output port. > Best regards, > Tomasz