devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Mark Rutland <mark.rutland@arm.com>
To: Sylwester Nawrocki <s.nawrocki@samsung.com>
Cc: Andrzej Hajda <a.hajda@samsung.com>,
	"linux-media@vger.kernel.org" <linux-media@vger.kernel.org>,
	"laurent.pinchart@ideasonboard.com"
	<laurent.pinchart@ideasonboard.com>,
	"linux-samsung-soc@vger.kernel.org"
	<linux-samsung-soc@vger.kernel.org>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	Kyungmin Park <kyungmin.park@samsung.com>,
	"rob.herring@calxeda.com" <rob.herring@calxeda.com>,
	Pawel Moll <Pawel.Moll@arm.com>,
	Stephen Warren <swarren@wwwdotorg.org>,
	Ian Campbell <ian.campbell@citrix.com>,
	"grant.likely@linaro.org" <grant.likely@linaro.org>
Subject: Re: [PATCH v7] s5k5baf: add camera sensor driver
Date: Mon, 2 Sep 2013 17:55:43 +0100	[thread overview]
Message-ID: <20130902165543.GC18206@e106331-lin.cambridge.arm.com> (raw)
In-Reply-To: <5224BB26.9090902@samsung.com>

On Mon, Sep 02, 2013 at 05:21:58PM +0100, Sylwester Nawrocki wrote:
> Hi Mark,

Hi Sylwester,

> 
> On 08/27/2013 11:14 AM, Mark Rutland wrote:
> >> +endpoint node
> >> +-------------
> >> +
> >> +- data-lanes : (optional) specifies MIPI CSI-2 data lanes as covered in
> >> +  video-interfaces.txt. This property can be only used to specify number
> >> +  of data lanes, i.e. the array's content is unused, only its length is
> >> +  meaningful. When this property is not specified default value of 1 lane
> >> +  will be used.
> > 
> > Apologies for having not replied to the last posting, but having looked
> > at the documentation I was provided last time [1], I don't think the
> > values in the data-lanes property should be described as unused. That
> > may be the way the Linux driver functions at present, but it's not how
> > the generic video-interfaces binding documentation describes the
> > property.
> > 
> > If the CSI transmitter hardware doesn't support logical remapping of
> > lanes, then the only valid values for data-lanes would be a contiguous
> > list of lane IDs starting at 1, ending at 4 at most. Valid values for
> > the property would be one of:
> > 
> > data-lanes = <1>;
> > data-lanes = <1>, <2>;
> > data-lanes = <1>, <2>, <3>;
> > data-lanes = <1>, <2>, <3>, <4>;
> > 
> > We can mention the fact the hardware doesn't support remapping of lanes,
> > and therefore the list must start with lane 1 and end with (at most)
> > lane 4. That way a dts will match the generic binding and actually
> > describe the hardware, and it's possible for Linux (or any other OS) to
> > factor out the parsing of data-lanes later as desired.
> > 
> > I don't think we should offer freedom to encode garbage in the dt when
> > we can just as easily encourage more standard use of bindings that will
> > make our lives easier in the long-term.
> 
> I entirely agree, that's a very accurate analysis.
> 
> Presumably the data-lanes property's descriptions could be improved so
> it is said explicitly that array elements 0...N - 1, where N = 4, 
> correspond to logical data lanes 1...N.

That makes sense to me.

> 
> Then considering the values in the data-lanes property, I didn't make
> the description terribly specific about the fact that pool of indexes
> 0...4 is used for the clock lane and 4 data lanes. The values could well
> be H/W specific, but it seems more sensible to enforce common range.
> It may not match exactly with documentation of various hardware. E.g.
> OMAP, see page 1661, register CSI2_COMPLEXIO_CFG [1], uses indexes 
> 1..5 to indicate position of a data lane and 0 is used to mark a lane 
> as unused.

Ah, I see. I guess this boils down to what the "physical indexes"
referred to by the video-interfaces binding actually are. If an
interface may only ever have 5 lanes, then using a logical index sounds
fine. But if we ever have the case where a CSI transmitter has more than
5 lanes (so it could communicate with multiple receviers), then the
value has to become hardware-specific. At that point, we'd possibly need
to define remapping of the clocks too. I'm not that familiar with CSI so
I'm not sure if such a device is possible.

> 
> I think we should have similarly defined value 0 to indicate an unused 
> lane. None of drivers in mainline uses this line remapping feature, so 
> changing meaning of the array values wouldn't presumably have any bad 
> side effects. I'm not sure if it's OK to make a change like this now. 
> IIUC the MIPI CSI-2 standard requires consecutive data lane indexes, 
> so valid set of data lanes could be only: <1>, <1, 2>, <1, 2, 3>, 
> <1, 2, 3, 4>. So there seems to be no issue for MIPI CSI-2. But for 
> future protocols the current convention might not have been flexible 
> enough.

Given that the video-interfaces binding refers to the clock being on
lane 0, I'm not sure it makes sense to reserve this as an unused id --
we'd be saying the lane is the clock to say it's unused, but maybe that
doesn't matter.

Thanks,
Mark.

> 
> > [1] http://www.mipi.org/specifications/camera-interface#CSI2
> 
> [2] http://www.ti.com/general/docs/lit/getliterature.tsp?literatureNumber=swpu231ao&fileType=pdf
 
> --
> Regards,
> Sylwester
> 

      reply	other threads:[~2013-09-02 16:55 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-08-21 14:41 [PATCH v7] s5k5baf: add camera sensor driver Andrzej Hajda
2013-08-22 20:01 ` Stephen Warren
2013-08-22 22:39 ` Tomasz Figa
2013-08-23  9:23   ` Sylwester Nawrocki
2013-08-23  9:48     ` Sylwester Nawrocki
2013-08-23  9:48 ` Pawel Moll
2013-08-23 12:53 ` Laurent Pinchart
2013-08-26 12:34   ` Andrzej Hajda
2013-08-27 11:52     ` Laurent Pinchart
2013-08-27  9:14 ` Mark Rutland
2013-09-02 16:21   ` Sylwester Nawrocki
2013-09-02 16:55     ` Mark Rutland [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20130902165543.GC18206@e106331-lin.cambridge.arm.com \
    --to=mark.rutland@arm.com \
    --cc=Pawel.Moll@arm.com \
    --cc=a.hajda@samsung.com \
    --cc=devicetree@vger.kernel.org \
    --cc=grant.likely@linaro.org \
    --cc=ian.campbell@citrix.com \
    --cc=kyungmin.park@samsung.com \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-samsung-soc@vger.kernel.org \
    --cc=rob.herring@calxeda.com \
    --cc=s.nawrocki@samsung.com \
    --cc=swarren@wwwdotorg.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).