All of lore.kernel.org
 help / color / mirror / Atom feed
From: Maxime Ripard <maxime.ripard@bootlin.com>
To: Sakari Ailus <sakari.ailus@linux.intel.com>
Cc: Hans Verkuil <hans.verkuil@cisco.com>,
	Mauro Carvalho Chehab <mchehab@kernel.org>,
	Thomas Petazzoni <thomas.petazzoni@bootlin.com>,
	Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
	linux-media@vger.kernel.org, Andrzej Hajda <a.hajda@samsung.com>,
	Chen-Yu Tsai <wens@csie.org>,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org,
	Mark Rutland <mark.rutland@arm.com>,
	Rob Herring <robh+dt@kernel.org>,
	Frank Rowand <frowand.list@gmail.com>
Subject: Re: [PATCH 1/5] dt-bindings: media: Add Allwinner A10 CSI binding
Date: Tue, 27 Nov 2018 16:04:19 +0100	[thread overview]
Message-ID: <20181127150419.wmlqhhixb5pg7mkr@flea> (raw)
In-Reply-To: <20181121215650.urefxctd245os6t5@mara.localdomain>

[-- Attachment #1: Type: text/plain, Size: 4372 bytes --]

Hi,

On Wed, Nov 21, 2018 at 11:56:50PM +0200, Sakari Ailus wrote:
> On Thu, Nov 15, 2018 at 08:04:24PM +0100, Maxime Ripard wrote:
> > On Tue, Nov 13, 2018 at 10:38:55AM +0200, Sakari Ailus wrote:
> > > > +  - allwinner,has-isp: Whether the CSI controller has an ISP
> > > > +                       associated to it or not
> > > 
> > > Is the ISP a part of the same device? It sounds like that this is actually
> > > a different device if it contains an ISP as well, and that should be
> > > apparent from the compatible string. What do you think?
> > 
> > I guess we can see it as both. It seems to be the exact same register
> > set, except for the fact that the first instance has that ISP in
> > addition, and several channels, as you pointed out in your other mail.
> 
> I'm simply referring to existing practices as far as I know them. If it's a
> different device, it should have a different compatible string, not a
> vendor-specific property to tell it's somehow different.

The line is blurrier than that. Different devices are indeed
represented using different compatibles, but different features set
can be represented using properties.

> Many SoCs also separate the DMA and the CSI-2 receivers, and thus they have
> separate drivers. I don't know about your case, but the ISP requiring a
> different clock is a hint.

In this particular case, the datasheet represents the ISP as part of
the DMA, so it looks like a feature. And since we don't have any
source code for this, we can only do guesswork.

> > What these channels are is not exactly clear. It looks like it's
> > related to the BT656 interface where you could interleave channel
> > bytes over the bus. I haven't really looked into it, and it doesn't
> > look like we have any code (or hardware) able to do that though.
> > 
> > > > +
> > > > +If allwinner,has-isp is set, an additional "isp" clock is needed,
> > > > +being a phandle to the clock driving the ISP.
> > > > +
> > > > +The CSI node should contain one 'port' child node with one child
> > > > +'endpoint' node, according to the bindings defined in
> > > > +Documentation/devicetree/bindings/media/video-interfaces.txt. The
> > > > +endpoint's bus type must be parallel or BT656.
> > > > +
> > > > +Endpoint node properties for CSI
> > > > +---------------------------------
> > > > +
> > > > +- remote-endpoint	: (required) a phandle to the bus receiver's endpoint
> > > > +			   node
> > > 
> > > Rob's opinion has been (AFAIU) that this is not needed as it's already a
> > > part of the graph bindings. Unless you want to say that it's required, that
> > > is --- the graph bindings document it as optional.
> > 
> > Ok, I'll remove it.
> > 
> > > > +- bus-width:		: (required) must be 8
> > > 
> > > If this is the only value the hardware supports, I don't see why you should
> > > specify it here.
> > 
> > Ditto :)
> > 
> > > > +- pclk-sample		: (optional) (default: sample on falling edge)
> > > > +- hsync-active		: (only required for parallel)
> > > > +- vsync-active		: (only required for parallel)
> > > > +
> > > > +Example:
> > > > +
> > > > +csi0: csi@1c09000 {
> > > > +	compatible = "allwinner,sun7i-a20-csi",
> > > > +		     "allwinner,sun4i-a10-csi";
> > > > +	reg = <0x01c09000 0x1000>;
> > > > +	interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
> > > > +	clocks = <&ccu CLK_AHB_CSI0>, <&ccu CLK_CSI0>,
> > > > +		 <&ccu CLK_CSI_SCLK>, <&ccu CLK_DRAM_CSI0>;
> > > > +	clock-names = "ahb", "mod", "isp", "ram";
> > > > +	resets = <&ccu RST_CSI0>;
> > > > +	allwinner,csi-channels = <4>;
> > > > +	allwinner,has-isp;
> > > > +	
> > > > +	port {
> > > > +		csi_from_ov5640: endpoint {
> > > > +                        remote-endpoint = <&ov5640_to_csi>;
> > > > +                        bus-width = <8>;
> > > > +                        data-shift = <2>;
> > > 
> > > data-shift needs to be documented above if it's relevant for the device.
> > 
> > It's not really related to the CSI device in that case but the sensor,
> > so I'll just leave it out.
> 
> Hmm. data-shift should only be relevant for the receiver, shoudn't it?

Sorry, I mispoke. We're not using it anywhere in either drivers, so
it's totally useless.

Maxime

-- 
Maxime Ripard, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: maxime.ripard@bootlin.com (Maxime Ripard)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 1/5] dt-bindings: media: Add Allwinner A10 CSI binding
Date: Tue, 27 Nov 2018 16:04:19 +0100	[thread overview]
Message-ID: <20181127150419.wmlqhhixb5pg7mkr@flea> (raw)
In-Reply-To: <20181121215650.urefxctd245os6t5@mara.localdomain>

Hi,

On Wed, Nov 21, 2018 at 11:56:50PM +0200, Sakari Ailus wrote:
> On Thu, Nov 15, 2018 at 08:04:24PM +0100, Maxime Ripard wrote:
> > On Tue, Nov 13, 2018 at 10:38:55AM +0200, Sakari Ailus wrote:
> > > > +  - allwinner,has-isp: Whether the CSI controller has an ISP
> > > > +                       associated to it or not
> > > 
> > > Is the ISP a part of the same device? It sounds like that this is actually
> > > a different device if it contains an ISP as well, and that should be
> > > apparent from the compatible string. What do you think?
> > 
> > I guess we can see it as both. It seems to be the exact same register
> > set, except for the fact that the first instance has that ISP in
> > addition, and several channels, as you pointed out in your other mail.
> 
> I'm simply referring to existing practices as far as I know them. If it's a
> different device, it should have a different compatible string, not a
> vendor-specific property to tell it's somehow different.

The line is blurrier than that. Different devices are indeed
represented using different compatibles, but different features set
can be represented using properties.

> Many SoCs also separate the DMA and the CSI-2 receivers, and thus they have
> separate drivers. I don't know about your case, but the ISP requiring a
> different clock is a hint.

In this particular case, the datasheet represents the ISP as part of
the DMA, so it looks like a feature. And since we don't have any
source code for this, we can only do guesswork.

> > What these channels are is not exactly clear. It looks like it's
> > related to the BT656 interface where you could interleave channel
> > bytes over the bus. I haven't really looked into it, and it doesn't
> > look like we have any code (or hardware) able to do that though.
> > 
> > > > +
> > > > +If allwinner,has-isp is set, an additional "isp" clock is needed,
> > > > +being a phandle to the clock driving the ISP.
> > > > +
> > > > +The CSI node should contain one 'port' child node with one child
> > > > +'endpoint' node, according to the bindings defined in
> > > > +Documentation/devicetree/bindings/media/video-interfaces.txt. The
> > > > +endpoint's bus type must be parallel or BT656.
> > > > +
> > > > +Endpoint node properties for CSI
> > > > +---------------------------------
> > > > +
> > > > +- remote-endpoint	: (required) a phandle to the bus receiver's endpoint
> > > > +			   node
> > > 
> > > Rob's opinion has been (AFAIU) that this is not needed as it's already a
> > > part of the graph bindings. Unless you want to say that it's required, that
> > > is --- the graph bindings document it as optional.
> > 
> > Ok, I'll remove it.
> > 
> > > > +- bus-width:		: (required) must be 8
> > > 
> > > If this is the only value the hardware supports, I don't see why you should
> > > specify it here.
> > 
> > Ditto :)
> > 
> > > > +- pclk-sample		: (optional) (default: sample on falling edge)
> > > > +- hsync-active		: (only required for parallel)
> > > > +- vsync-active		: (only required for parallel)
> > > > +
> > > > +Example:
> > > > +
> > > > +csi0: csi at 1c09000 {
> > > > +	compatible = "allwinner,sun7i-a20-csi",
> > > > +		     "allwinner,sun4i-a10-csi";
> > > > +	reg = <0x01c09000 0x1000>;
> > > > +	interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
> > > > +	clocks = <&ccu CLK_AHB_CSI0>, <&ccu CLK_CSI0>,
> > > > +		 <&ccu CLK_CSI_SCLK>, <&ccu CLK_DRAM_CSI0>;
> > > > +	clock-names = "ahb", "mod", "isp", "ram";
> > > > +	resets = <&ccu RST_CSI0>;
> > > > +	allwinner,csi-channels = <4>;
> > > > +	allwinner,has-isp;
> > > > +	
> > > > +	port {
> > > > +		csi_from_ov5640: endpoint {
> > > > +                        remote-endpoint = <&ov5640_to_csi>;
> > > > +                        bus-width = <8>;
> > > > +                        data-shift = <2>;
> > > 
> > > data-shift needs to be documented above if it's relevant for the device.
> > 
> > It's not really related to the CSI device in that case but the sensor,
> > so I'll just leave it out.
> 
> Hmm. data-shift should only be relevant for the receiver, shoudn't it?

Sorry, I mispoke. We're not using it anywhere in either drivers, so
it's totally useless.

Maxime

-- 
Maxime Ripard, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20181127/ee863bf4/attachment.sig>

  reply	other threads:[~2018-11-27 15:04 UTC|newest]

Thread overview: 77+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-13  8:24 [PATCH 0/5] media: Allwinner A10 CSI support Maxime Ripard
2018-11-13  8:24 ` Maxime Ripard
2018-11-13  8:24 ` [PATCH 1/5] dt-bindings: media: Add Allwinner A10 CSI binding Maxime Ripard
2018-11-13  8:24   ` Maxime Ripard
2018-11-13  8:24   ` Maxime Ripard
2018-11-13  8:38   ` Sakari Ailus
2018-11-13  8:38     ` Sakari Ailus
2018-11-15 19:04     ` Maxime Ripard
2018-11-15 19:04       ` Maxime Ripard
2018-11-21 21:56       ` Sakari Ailus
2018-11-21 21:56         ` Sakari Ailus
2018-11-27 15:04         ` Maxime Ripard [this message]
2018-11-27 15:04           ` Maxime Ripard
2018-11-13 10:34   ` Sakari Ailus
2018-11-13 10:34     ` Sakari Ailus
2018-11-13  8:24 ` [PATCH 2/5] media: sunxi: Refactor the Makefile and Kconfig Maxime Ripard
2018-11-13  8:24   ` Maxime Ripard
2018-11-13  8:24 ` [PATCH 3/5] media: sunxi: Add A10 CSI driver Maxime Ripard
2018-11-13  8:24   ` Maxime Ripard
2018-11-13  8:57   ` Sakari Ailus
2018-11-13  8:57     ` Sakari Ailus
2018-11-13 12:24   ` Hans Verkuil
2018-11-13 12:24     ` Hans Verkuil
2018-11-13 15:19     ` Joe Perches
2018-11-13 15:19       ` Joe Perches
2018-11-13 15:39       ` Hans Verkuil
2018-11-13 15:39         ` Hans Verkuil
2018-11-15 20:51     ` Maxime Ripard
2018-11-15 20:51       ` Maxime Ripard
2018-11-21 22:01       ` Sakari Ailus
2018-11-21 22:01         ` Sakari Ailus
2018-11-22 13:58         ` Maxime Ripard
2018-11-22 13:58           ` Maxime Ripard
2018-11-13 12:48   ` Fabio Estevam
2018-11-13 12:48     ` Fabio Estevam
2018-11-13 12:48     ` Fabio Estevam
2018-11-13 13:37     ` Hans Verkuil
2018-11-13 13:37       ` Hans Verkuil
2018-11-13 13:37       ` Hans Verkuil
2018-11-13 14:13       ` Fabio Estevam
2018-11-13 14:13         ` Fabio Estevam
2018-11-13 14:13         ` Fabio Estevam
2018-11-13 14:46         ` Thomas Petazzoni
2018-11-13 14:46           ` Thomas Petazzoni
2018-11-13 14:46           ` Thomas Petazzoni
2018-11-13  8:24 ` [PATCH 4/5] ARM: dts: sun7i: Add CSI0 controller Maxime Ripard
2018-11-13  8:24   ` Maxime Ripard
2018-11-13  8:24 ` [PATCH 5/5] DO NOT MERGE: ARM: dts: bananapi: Add Camera support Maxime Ripard
2018-11-13  8:24   ` Maxime Ripard
2018-11-27  6:56   ` Jagan Teki
2018-11-27  6:56     ` Jagan Teki
2018-11-27 10:31     ` Maxime Ripard
2018-11-27 10:31       ` Maxime Ripard
2018-11-27 11:00       ` Jagan Teki
2018-11-27 11:00         ` Jagan Teki
2018-11-27 15:19         ` Maxime Ripard
2018-11-27 15:19           ` Maxime Ripard
2018-11-27 15:34           ` Jagan Teki
2018-11-27 15:34             ` Jagan Teki
2018-11-13 12:30 ` [PATCH 0/5] media: Allwinner A10 CSI support Hans Verkuil
2018-11-13 12:30   ` Hans Verkuil
2018-11-13 13:52   ` Maxime Ripard
2018-11-13 13:52     ` Maxime Ripard
2018-11-13 14:01     ` Hans Verkuil
2018-11-13 14:01       ` Hans Verkuil
2018-11-13 15:52       ` Maxime Ripard
2018-11-13 15:52         ` Maxime Ripard
2018-11-13 16:00         ` Hans Verkuil
2018-11-13 16:00           ` Hans Verkuil
2018-11-13 16:55           ` Thomas Petazzoni
2018-11-13 16:55             ` Thomas Petazzoni
2018-11-13 17:15             ` Hans Verkuil
2018-11-13 17:15               ` Hans Verkuil
2018-11-14  3:24 ` Chen-Yu Tsai
2018-11-14  3:24   ` Chen-Yu Tsai
2018-11-15 19:10   ` Maxime Ripard
2018-11-15 19:10     ` Maxime Ripard

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=20181127150419.wmlqhhixb5pg7mkr@flea \
    --to=maxime.ripard@bootlin.com \
    --cc=a.hajda@samsung.com \
    --cc=devicetree@vger.kernel.org \
    --cc=frowand.list@gmail.com \
    --cc=hans.verkuil@cisco.com \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=mchehab@kernel.org \
    --cc=robh+dt@kernel.org \
    --cc=sakari.ailus@linux.intel.com \
    --cc=thomas.petazzoni@bootlin.com \
    --cc=wens@csie.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.