All of lore.kernel.org
 help / color / mirror / Atom feed
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Sakari Ailus <sakari.ailus@linux.intel.com>
Cc: Yong Deng <yong.deng@magewell.com>,
	Maxime Ripard <maxime.ripard@bootlin.com>,
	Mauro Carvalho Chehab <mchehab@kernel.org>,
	Rob Herring <robh+dt@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>, Chen-Yu Tsai <wens@csie.org>,
	"\"David S. Miller" <davem@davemloft.net>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Arnd Bergmann <arnd@arndb.de>,
	Hans Verkuil <hans.verkuil@cisco.com>,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	Jacob Chen <jacob-chen@iotwrt.com>,
	Neil Armstrong <narmstrong@baylibre.com>,
	Thierry Reding <treding@nvidia.com>,
	Philipp Zabel <p.zabel@pengutronix.de>,
	Todor Tomov <todor.tomov@linaro.org>,
	linux-media@vger.kernel.org, devicetree@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, linux-sunxi@googlegroups.com
Subject: Re: [PATCH v11 1/2] dt-bindings: media: Add Allwinner V3s Camera Sensor Interface (CSI)
Date: Fri, 28 Sep 2018 12:45:12 +0300	[thread overview]
Message-ID: <14114604.4rraf0qJLU@avalon> (raw)
In-Reply-To: <20180928093833.gwmskm2jvby6x4s6@paasikivi.fi.intel.com>

Hi Sakari,

On Friday, 28 September 2018 12:38:33 EEST Sakari Ailus wrote:
> On Wed, Sep 26, 2018 at 04:40:04PM +0800, Yong Deng wrote:
> > Add binding documentation for Allwinner V3s CSI.
> > 
> > Acked-by: Maxime Ripard <maxime.ripard@bootlin.com>
> > Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com>
> 
> I know... but I have a few more comments.
> 
> > Reviewed-by: Rob Herring <robh@kernel.org>
> > Signed-off-by: Yong Deng <yong.deng@magewell.com>
> > ---
> > 
> >  .../devicetree/bindings/media/sun6i-csi.txt        | 59 +++++++++++++++++
> >  1 file changed, 59 insertions(+)
> >  create mode 100644 Documentation/devicetree/bindings/media/sun6i-csi.txt
> > 
> > diff --git a/Documentation/devicetree/bindings/media/sun6i-csi.txt
> > b/Documentation/devicetree/bindings/media/sun6i-csi.txt new file mode
> > 100644
> > index 000000000000..2ff47a9507a6
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/media/sun6i-csi.txt
> > @@ -0,0 +1,59 @@
> > +Allwinner V3s Camera Sensor Interface
> > +-------------------------------------
> > +
> > +Allwinner V3s SoC features two CSI module. CSI0 is used for MIPI CSI-2
> > +interface and CSI1 is used for parallel interface.
> > +
> > +Required properties:
> > +  - compatible: value must be "allwinner,sun8i-v3s-csi"
> > +  - reg: base address and size of the memory-mapped region.
> > +  - interrupts: interrupt associated to this IP
> > +  - clocks: phandles to the clocks feeding the CSI
> > +    * bus: the CSI interface clock
> > +    * mod: the CSI module clock
> > +    * ram: the CSI DRAM clock
> > +  - clock-names: the clock names mentioned above
> > +  - resets: phandles to the reset line driving the CSI
> > +
> > +Each 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. As
> > mentioned
> > +above, the endpoint's bus type should be MIPI CSI-2 for CSI0 and parallel
> > or +Bt656 for CSI1.
> 
> Which port represents CSI0 and which one is CSI1? That needs to be
> documented.

There are two CSI devices, named CSI0 and CSI1, with one port each. The CSI0 
device supports CSI-2 only, and the CSI1 device parallel (BT.601 or BT.656) 
only.

> > +
> > +Endpoint node properties for CSI1
> 
> How about CSI0? I'd expect at least data-lanes, and clock-lanes as well if
> the hardware supports lane mapping.

I enquired about that too. As far as I understand, CSI0 isn't supported yet in 
the driver due to lack of documentation and lack of open-source vendor-
provided source code. While DT bindings are not tied to driver 
implementations, it's not the best idea to design DT bindings without at least 
one working implementation to test them. I thus proposed just listing CSI0 as 
being unsupported for now.

> > +---------------------------------
> > +
> > +- remote-endpoint	: (required) a phandle to the bus receiver's endpoint
> > +			   node
> > +- bus-width:		: (required) must be 8, 10, 12 or 16
> > +- pclk-sample		: (optional) (default: sample on falling edge)
> 
> Could you add that video-interfaces.txt contains documentation of these
> properties as well? There's a reference above but only discusses port and
> endpoint nodes.
> 
> > +- hsync-active		: (only required for parallel)
> > +- vsync-active		: (only required for parallel)
> 
> As you support both Bt656 and parallel (with sync signals), you can detect
> the interface type from the presence of these properties. I think you
> should also say that these properties are not allowed on Bt656. So I'd
> change this to e.g.
> 
> 	(required; parallel-only)
> 
> > +
> > +Example:
> > +
> > +csi1: csi@1cb4000 {
> > +	compatible = "allwinner,sun8i-v3s-csi";
> > +	reg = <0x01cb4000 0x1000>;
> > +	interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
> > +	clocks = <&ccu CLK_BUS_CSI>,
> > +		 <&ccu CLK_CSI1_SCLK>,
> > +		 <&ccu CLK_DRAM_CSI>;
> > +	clock-names = "bus", "mod", "ram";
> > +	resets = <&ccu RST_BUS_CSI>;
> > +
> > +	port {
> > +		/* Parallel bus endpoint */
> > +		csi1_ep: endpoint {
> > +			remote-endpoint = <&adv7611_ep>;
> > +			bus-width = <16>;
> > +
> > +			/* If hsync-active/vsync-active are missing,
> > +			   embedded BT.656 sync is used */
> > +			hsync-active = <0>; /* Active low */
> > +			vsync-active = <0>; /* Active low */
> > +			pclk-sample = <1>;  /* Rising */
> > +		};
> > +	};
> > +};

-- 
Regards,

Laurent Pinchart




WARNING: multiple messages have this Message-ID (diff)
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Sakari Ailus <sakari.ailus@linux.intel.com>
Cc: Yong Deng <yong.deng@magewell.com>,
	Maxime Ripard <maxime.ripard@bootlin.com>,
	Mauro Carvalho Chehab <mchehab@kernel.org>,
	Rob Herring <robh+dt@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>, Chen-Yu Tsai <wens@csie.org>,
	"\"David S. Miller" <davem@davemloft.net>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Arnd Bergmann <arnd@arndb.de>,
	Hans Verkuil <hans.verkuil@cisco.com>,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	Jacob Chen <jacob-chen@iotwrt.com>,
	Neil Armstrong <narmstrong@baylibre.com>,
	Thierry Reding <treding@nvidia.com>,
	Philipp Zabel <p.zabel@pengutronix.de>,
	Todor Tomov <todor.tomov@linaro.org>,
	linux-media@vger.kernel.org, devicetree@vger.kernel.org,
	linux-arm-kernel@lists.infrade
Subject: Re: [PATCH v11 1/2] dt-bindings: media: Add Allwinner V3s Camera Sensor Interface (CSI)
Date: Fri, 28 Sep 2018 12:45:12 +0300	[thread overview]
Message-ID: <14114604.4rraf0qJLU@avalon> (raw)
In-Reply-To: <20180928093833.gwmskm2jvby6x4s6@paasikivi.fi.intel.com>

Hi Sakari,

On Friday, 28 September 2018 12:38:33 EEST Sakari Ailus wrote:
> On Wed, Sep 26, 2018 at 04:40:04PM +0800, Yong Deng wrote:
> > Add binding documentation for Allwinner V3s CSI.
> > 
> > Acked-by: Maxime Ripard <maxime.ripard@bootlin.com>
> > Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com>
> 
> I know... but I have a few more comments.
> 
> > Reviewed-by: Rob Herring <robh@kernel.org>
> > Signed-off-by: Yong Deng <yong.deng@magewell.com>
> > ---
> > 
> >  .../devicetree/bindings/media/sun6i-csi.txt        | 59 +++++++++++++++++
> >  1 file changed, 59 insertions(+)
> >  create mode 100644 Documentation/devicetree/bindings/media/sun6i-csi.txt
> > 
> > diff --git a/Documentation/devicetree/bindings/media/sun6i-csi.txt
> > b/Documentation/devicetree/bindings/media/sun6i-csi.txt new file mode
> > 100644
> > index 000000000000..2ff47a9507a6
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/media/sun6i-csi.txt
> > @@ -0,0 +1,59 @@
> > +Allwinner V3s Camera Sensor Interface
> > +-------------------------------------
> > +
> > +Allwinner V3s SoC features two CSI module. CSI0 is used for MIPI CSI-2
> > +interface and CSI1 is used for parallel interface.
> > +
> > +Required properties:
> > +  - compatible: value must be "allwinner,sun8i-v3s-csi"
> > +  - reg: base address and size of the memory-mapped region.
> > +  - interrupts: interrupt associated to this IP
> > +  - clocks: phandles to the clocks feeding the CSI
> > +    * bus: the CSI interface clock
> > +    * mod: the CSI module clock
> > +    * ram: the CSI DRAM clock
> > +  - clock-names: the clock names mentioned above
> > +  - resets: phandles to the reset line driving the CSI
> > +
> > +Each 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. As
> > mentioned
> > +above, the endpoint's bus type should be MIPI CSI-2 for CSI0 and parallel
> > or +Bt656 for CSI1.
> 
> Which port represents CSI0 and which one is CSI1? That needs to be
> documented.

There are two CSI devices, named CSI0 and CSI1, with one port each. The CSI0 
device supports CSI-2 only, and the CSI1 device parallel (BT.601 or BT.656) 
only.

> > +
> > +Endpoint node properties for CSI1
> 
> How about CSI0? I'd expect at least data-lanes, and clock-lanes as well if
> the hardware supports lane mapping.

I enquired about that too. As far as I understand, CSI0 isn't supported yet in 
the driver due to lack of documentation and lack of open-source vendor-
provided source code. While DT bindings are not tied to driver 
implementations, it's not the best idea to design DT bindings without at least 
one working implementation to test them. I thus proposed just listing CSI0 as 
being unsupported for now.

> > +---------------------------------
> > +
> > +- remote-endpoint	: (required) a phandle to the bus receiver's endpoint
> > +			   node
> > +- bus-width:		: (required) must be 8, 10, 12 or 16
> > +- pclk-sample		: (optional) (default: sample on falling edge)
> 
> Could you add that video-interfaces.txt contains documentation of these
> properties as well? There's a reference above but only discusses port and
> endpoint nodes.
> 
> > +- hsync-active		: (only required for parallel)
> > +- vsync-active		: (only required for parallel)
> 
> As you support both Bt656 and parallel (with sync signals), you can detect
> the interface type from the presence of these properties. I think you
> should also say that these properties are not allowed on Bt656. So I'd
> change this to e.g.
> 
> 	(required; parallel-only)
> 
> > +
> > +Example:
> > +
> > +csi1: csi@1cb4000 {
> > +	compatible = "allwinner,sun8i-v3s-csi";
> > +	reg = <0x01cb4000 0x1000>;
> > +	interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
> > +	clocks = <&ccu CLK_BUS_CSI>,
> > +		 <&ccu CLK_CSI1_SCLK>,
> > +		 <&ccu CLK_DRAM_CSI>;
> > +	clock-names = "bus", "mod", "ram";
> > +	resets = <&ccu RST_BUS_CSI>;
> > +
> > +	port {
> > +		/* Parallel bus endpoint */
> > +		csi1_ep: endpoint {
> > +			remote-endpoint = <&adv7611_ep>;
> > +			bus-width = <16>;
> > +
> > +			/* If hsync-active/vsync-active are missing,
> > +			   embedded BT.656 sync is used */
> > +			hsync-active = <0>; /* Active low */
> > +			vsync-active = <0>; /* Active low */
> > +			pclk-sample = <1>;  /* Rising */
> > +		};
> > +	};
> > +};

-- 
Regards,

Laurent Pinchart

WARNING: multiple messages have this Message-ID (diff)
From: laurent.pinchart@ideasonboard.com (Laurent Pinchart)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v11 1/2] dt-bindings: media: Add Allwinner V3s Camera Sensor Interface (CSI)
Date: Fri, 28 Sep 2018 12:45:12 +0300	[thread overview]
Message-ID: <14114604.4rraf0qJLU@avalon> (raw)
In-Reply-To: <20180928093833.gwmskm2jvby6x4s6@paasikivi.fi.intel.com>

Hi Sakari,

On Friday, 28 September 2018 12:38:33 EEST Sakari Ailus wrote:
> On Wed, Sep 26, 2018 at 04:40:04PM +0800, Yong Deng wrote:
> > Add binding documentation for Allwinner V3s CSI.
> > 
> > Acked-by: Maxime Ripard <maxime.ripard@bootlin.com>
> > Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com>
> 
> I know... but I have a few more comments.
> 
> > Reviewed-by: Rob Herring <robh@kernel.org>
> > Signed-off-by: Yong Deng <yong.deng@magewell.com>
> > ---
> > 
> >  .../devicetree/bindings/media/sun6i-csi.txt        | 59 +++++++++++++++++
> >  1 file changed, 59 insertions(+)
> >  create mode 100644 Documentation/devicetree/bindings/media/sun6i-csi.txt
> > 
> > diff --git a/Documentation/devicetree/bindings/media/sun6i-csi.txt
> > b/Documentation/devicetree/bindings/media/sun6i-csi.txt new file mode
> > 100644
> > index 000000000000..2ff47a9507a6
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/media/sun6i-csi.txt
> > @@ -0,0 +1,59 @@
> > +Allwinner V3s Camera Sensor Interface
> > +-------------------------------------
> > +
> > +Allwinner V3s SoC features two CSI module. CSI0 is used for MIPI CSI-2
> > +interface and CSI1 is used for parallel interface.
> > +
> > +Required properties:
> > +  - compatible: value must be "allwinner,sun8i-v3s-csi"
> > +  - reg: base address and size of the memory-mapped region.
> > +  - interrupts: interrupt associated to this IP
> > +  - clocks: phandles to the clocks feeding the CSI
> > +    * bus: the CSI interface clock
> > +    * mod: the CSI module clock
> > +    * ram: the CSI DRAM clock
> > +  - clock-names: the clock names mentioned above
> > +  - resets: phandles to the reset line driving the CSI
> > +
> > +Each 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. As
> > mentioned
> > +above, the endpoint's bus type should be MIPI CSI-2 for CSI0 and parallel
> > or +Bt656 for CSI1.
> 
> Which port represents CSI0 and which one is CSI1? That needs to be
> documented.

There are two CSI devices, named CSI0 and CSI1, with one port each. The CSI0 
device supports CSI-2 only, and the CSI1 device parallel (BT.601 or BT.656) 
only.

> > +
> > +Endpoint node properties for CSI1
> 
> How about CSI0? I'd expect at least data-lanes, and clock-lanes as well if
> the hardware supports lane mapping.

I enquired about that too. As far as I understand, CSI0 isn't supported yet in 
the driver due to lack of documentation and lack of open-source vendor-
provided source code. While DT bindings are not tied to driver 
implementations, it's not the best idea to design DT bindings without at least 
one working implementation to test them. I thus proposed just listing CSI0 as 
being unsupported for now.

> > +---------------------------------
> > +
> > +- remote-endpoint	: (required) a phandle to the bus receiver's endpoint
> > +			   node
> > +- bus-width:		: (required) must be 8, 10, 12 or 16
> > +- pclk-sample		: (optional) (default: sample on falling edge)
> 
> Could you add that video-interfaces.txt contains documentation of these
> properties as well? There's a reference above but only discusses port and
> endpoint nodes.
> 
> > +- hsync-active		: (only required for parallel)
> > +- vsync-active		: (only required for parallel)
> 
> As you support both Bt656 and parallel (with sync signals), you can detect
> the interface type from the presence of these properties. I think you
> should also say that these properties are not allowed on Bt656. So I'd
> change this to e.g.
> 
> 	(required; parallel-only)
> 
> > +
> > +Example:
> > +
> > +csi1: csi at 1cb4000 {
> > +	compatible = "allwinner,sun8i-v3s-csi";
> > +	reg = <0x01cb4000 0x1000>;
> > +	interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
> > +	clocks = <&ccu CLK_BUS_CSI>,
> > +		 <&ccu CLK_CSI1_SCLK>,
> > +		 <&ccu CLK_DRAM_CSI>;
> > +	clock-names = "bus", "mod", "ram";
> > +	resets = <&ccu RST_BUS_CSI>;
> > +
> > +	port {
> > +		/* Parallel bus endpoint */
> > +		csi1_ep: endpoint {
> > +			remote-endpoint = <&adv7611_ep>;
> > +			bus-width = <16>;
> > +
> > +			/* If hsync-active/vsync-active are missing,
> > +			   embedded BT.656 sync is used */
> > +			hsync-active = <0>; /* Active low */
> > +			vsync-active = <0>; /* Active low */
> > +			pclk-sample = <1>;  /* Rising */
> > +		};
> > +	};
> > +};

-- 
Regards,

Laurent Pinchart

  reply	other threads:[~2018-09-28  9:45 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-09-26  8:40 [PATCH v11 1/2] dt-bindings: media: Add Allwinner V3s Camera Sensor Interface (CSI) Yong Deng
2018-09-26  8:40 ` Yong Deng
2018-09-26  8:40 ` Yong Deng
2018-09-26 10:19 ` Laurent Pinchart
2018-09-26 10:19   ` Laurent Pinchart
2018-09-26 10:19   ` Laurent Pinchart
2018-09-26 10:35   ` maxime.ripard
2018-09-26 10:35     ` maxime.ripard at bootlin.com
2018-09-26 10:35     ` maxime.ripard-LDxbnhwyfcJBDgjK7y7TUQ
2018-09-26 10:38     ` Laurent Pinchart
2018-09-26 10:38       ` Laurent Pinchart
2018-09-26 10:38       ` Laurent Pinchart
2018-09-26 10:40       ` Maxime Ripard
2018-09-26 10:40         ` Maxime Ripard
2018-09-26 10:40         ` Maxime Ripard
2018-09-27  0:59       ` Yong
2018-09-27  0:59         ` Yong
2018-09-27  0:59         ` Yong
2018-09-28  9:38 ` Sakari Ailus
2018-09-28  9:38   ` Sakari Ailus
2018-09-28  9:38   ` Sakari Ailus
2018-09-28  9:45   ` Laurent Pinchart [this message]
2018-09-28  9:45     ` Laurent Pinchart
2018-09-28  9:45     ` Laurent Pinchart
2018-09-28 10:23     ` Sakari Ailus
2018-09-28 10:23       ` Sakari Ailus
2018-09-28 10:23       ` Sakari Ailus
2018-09-28 11:10       ` Chen-Yu Tsai
2018-09-28 11:10         ` Chen-Yu Tsai
2018-09-28 11:10         ` Chen-Yu Tsai
2018-09-28 12:56         ` Sakari Ailus
2018-09-28 12:56           ` Sakari Ailus
2018-09-28 12:56           ` Sakari Ailus
2018-09-28 13:36           ` Maxime Ripard
2018-09-28 13:36             ` Maxime Ripard
2018-09-28 13:36             ` Maxime Ripard
2018-09-28 13:42             ` Sakari Ailus
2018-09-28 13:42               ` Sakari Ailus
2018-09-28 13:42               ` Sakari Ailus
2018-09-28 13:42           ` Chen-Yu Tsai
2018-09-28 13:42             ` Chen-Yu Tsai
2018-09-28 13:42             ` Chen-Yu Tsai
2018-09-28 14:47             ` Sakari Ailus
2018-09-28 14:47               ` Sakari Ailus
2018-09-28 14:47               ` Sakari Ailus
2018-10-17  7:33 ` [linux-sunxi] " Jagan Teki
2018-10-17  7:33   ` Jagan Teki
2018-10-17  7:33   ` Jagan Teki

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=14114604.4rraf0qJLU@avalon \
    --to=laurent.pinchart@ideasonboard.com \
    --cc=akpm@linux-foundation.org \
    --cc=arnd@arndb.de \
    --cc=davem@davemloft.net \
    --cc=devicetree@vger.kernel.org \
    --cc=geert@linux-m68k.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=hans.verkuil@cisco.com \
    --cc=jacob-chen@iotwrt.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-sunxi@googlegroups.com \
    --cc=mark.rutland@arm.com \
    --cc=maxime.ripard@bootlin.com \
    --cc=mchehab@kernel.org \
    --cc=narmstrong@baylibre.com \
    --cc=p.zabel@pengutronix.de \
    --cc=robh+dt@kernel.org \
    --cc=sakari.ailus@linux.intel.com \
    --cc=todor.tomov@linaro.org \
    --cc=treding@nvidia.com \
    --cc=wens@csie.org \
    --cc=yong.deng@magewell.com \
    /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.