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? Best regards, Tomasz