linux-media.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/3 v2] media: soc_camera: rcar_vin: add rcar-gen3 support
@ 2016-01-11 19:10 Yoshihiro Kaneko
  2016-01-11 19:10 ` [PATCH 1/3 v2] media: soc_camera: rcar_vin: Add rcar fallback compatibility string Yoshihiro Kaneko
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Yoshihiro Kaneko @ 2016-01-11 19:10 UTC (permalink / raw)
  To: linux-media; +Cc: Guennadi Liakhovetski, Simon Horman, Magnus Damm, linux-sh

* add rcar compatibility strings

  This series adds generic rcar and SoC-specific r8a7795 compatibility
  strings to the rcar-vin driver. The intention is to provide a complete
  set of compatibility strings for known R-Car Gen2 and Gen3 SoCs.

* add ARGB8888 capture format support 

  This series contain a patch which adds the ARGB8888 capture format
  support for R-Car Gen3.

* compile tested only

This series is based on the master branch of linuxtv.org/media_tree.git.


Koji Matsuoka (1):
  media: soc_camera: rcar_vin: Add ARGB8888 caputre format support

Yoshihiko Mori (1):
  media: soc_camera: rcar_vin: Add R-Car Gen3 support

Yoshihiro Kaneko (1):
  media: soc_camera: rcar_vin: Add rcar fallback compatibility string

 .../devicetree/bindings/media/rcar_vin.txt         |  9 +++++++-
 drivers/media/platform/soc_camera/rcar_vin.c       | 24 ++++++++++++++++++++--
 2 files changed, 30 insertions(+), 3 deletions(-)

-- 
1.9.1


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH 1/3 v2] media: soc_camera: rcar_vin: Add rcar fallback compatibility string
  2016-01-11 19:10 [PATCH 0/3 v2] media: soc_camera: rcar_vin: add rcar-gen3 support Yoshihiro Kaneko
@ 2016-01-11 19:10 ` Yoshihiro Kaneko
  2016-01-11 21:13   ` Guennadi Liakhovetski
  2016-01-11 19:10 ` [PATCH 2/3 v2] media: soc_camera: rcar_vin: Add R-Car Gen3 support Yoshihiro Kaneko
  2016-01-11 19:10 ` [PATCH 3/3 v2] media: soc_camera: rcar_vin: Add ARGB8888 caputre format support Yoshihiro Kaneko
  2 siblings, 1 reply; 6+ messages in thread
From: Yoshihiro Kaneko @ 2016-01-11 19:10 UTC (permalink / raw)
  To: linux-media; +Cc: Guennadi Liakhovetski, Simon Horman, Magnus Damm, linux-sh

Add fallback compatibility string for R-Car Gen2 and Gen3, This is
in keeping with the fallback scheme being adopted wherever appropriate
for drivers for Renesas SoCs.

Signed-off-by: Yoshihiro Kaneko <ykaneko0929@gmail.com>
---

v2 [Yoshihiro Kaneko]
* As suggested by Geert Uytterhoeven
  drivers/media/platform/soc_camera/rcar_vin.c:
    - The generic compatibility values are listed at the end of the
      rcar_vin_of_table[].

 Documentation/devicetree/bindings/media/rcar_vin.txt | 8 +++++++-
 drivers/media/platform/soc_camera/rcar_vin.c         | 3 +++
 2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/media/rcar_vin.txt b/Documentation/devicetree/bindings/media/rcar_vin.txt
index 9dafe6b..c13ec5a 100644
--- a/Documentation/devicetree/bindings/media/rcar_vin.txt
+++ b/Documentation/devicetree/bindings/media/rcar_vin.txt
@@ -6,12 +6,18 @@ family of devices. The current blocks are always slaves and suppot one input
 channel which can be either RGB, YUYV or BT656.
 
  - compatible: Must be one of the following
+   - "renesas,rcar-gen2-vin" for R-Car Gen2 Series
+   - "renesas,rcar-gen3-vin" for R-Car Gen3 Series
    - "renesas,vin-r8a7794" for the R8A7794 device
    - "renesas,vin-r8a7793" for the R8A7793 device
    - "renesas,vin-r8a7791" for the R8A7791 device
    - "renesas,vin-r8a7790" for the R8A7790 device
    - "renesas,vin-r8a7779" for the R8A7779 device
    - "renesas,vin-r8a7778" for the R8A7778 device
+
+   When compatible with the generic version, nodes must list the SoC-specific
+   version corresponding to the platform first followed by the generic version.
+
  - reg: the register base and size for the device registers
  - interrupts: the interrupt for the device
  - clocks: Reference to the parent clock
@@ -36,7 +42,7 @@ Device node example
 	};
 
         vin0: vin@0xe6ef0000 {
-                compatible = "renesas,vin-r8a7790";
+                compatible = "renesas,vin-r8a7790","renesas,rcar-gen2-vin";
                 clocks = <&mstp8_clks R8A7790_CLK_VIN0>;
                 reg = <0 0xe6ef0000 0 0x1000>;
                 interrupts = <0 188 IRQ_TYPE_LEVEL_HIGH>;
diff --git a/drivers/media/platform/soc_camera/rcar_vin.c b/drivers/media/platform/soc_camera/rcar_vin.c
index b7fd695..f72de0b 100644
--- a/drivers/media/platform/soc_camera/rcar_vin.c
+++ b/drivers/media/platform/soc_camera/rcar_vin.c
@@ -143,6 +143,7 @@
 #define RCAR_VIN_BT656			(1 << 3)
 
 enum chip_id {
+	RCAR_GEN3,
 	RCAR_GEN2,
 	RCAR_H1,
 	RCAR_M1,
@@ -1824,6 +1825,8 @@ static const struct of_device_id rcar_vin_of_table[] = {
 	{ .compatible = "renesas,vin-r8a7790", .data = (void *)RCAR_GEN2 },
 	{ .compatible = "renesas,vin-r8a7779", .data = (void *)RCAR_H1 },
 	{ .compatible = "renesas,vin-r8a7778", .data = (void *)RCAR_M1 },
+	{ .compatible = "renesas,rcar-gen2-vin", .data = (void *)RCAR_GEN2 },
+	{ .compatible = "renesas,rcar-gen3-vin", .data = (void *)RCAR_GEN3 },
 	{ },
 };
 MODULE_DEVICE_TABLE(of, rcar_vin_of_table);
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 2/3 v2] media: soc_camera: rcar_vin: Add R-Car Gen3 support
  2016-01-11 19:10 [PATCH 0/3 v2] media: soc_camera: rcar_vin: add rcar-gen3 support Yoshihiro Kaneko
  2016-01-11 19:10 ` [PATCH 1/3 v2] media: soc_camera: rcar_vin: Add rcar fallback compatibility string Yoshihiro Kaneko
@ 2016-01-11 19:10 ` Yoshihiro Kaneko
  2016-01-11 19:10 ` [PATCH 3/3 v2] media: soc_camera: rcar_vin: Add ARGB8888 caputre format support Yoshihiro Kaneko
  2 siblings, 0 replies; 6+ messages in thread
From: Yoshihiro Kaneko @ 2016-01-11 19:10 UTC (permalink / raw)
  To: linux-media; +Cc: Guennadi Liakhovetski, Simon Horman, Magnus Damm, linux-sh

From: Yoshihiko Mori <yoshihiko.mori.nx@renesas.com>

Simply documents new compatibility string.
As a previous patch adds a generic R-Car Gen3 compatibility string
there appears to be no need for a driver updates.

Signed-off-by: Yoshihiko Mori <yoshihiko.mori.nx@renesas.com>
Signed-off-by: Yoshihiro Kaneko <ykaneko0929@gmail.com>
---

v2 [Yoshihiro Kaneko]
* no change

 Documentation/devicetree/bindings/media/rcar_vin.txt | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/media/rcar_vin.txt b/Documentation/devicetree/bindings/media/rcar_vin.txt
index c13ec5a..e1a92c9 100644
--- a/Documentation/devicetree/bindings/media/rcar_vin.txt
+++ b/Documentation/devicetree/bindings/media/rcar_vin.txt
@@ -8,6 +8,7 @@ channel which can be either RGB, YUYV or BT656.
  - compatible: Must be one of the following
    - "renesas,rcar-gen2-vin" for R-Car Gen2 Series
    - "renesas,rcar-gen3-vin" for R-Car Gen3 Series
+   - "renesas,vin-r8a7795" for the R8A7795 device
    - "renesas,vin-r8a7794" for the R8A7794 device
    - "renesas,vin-r8a7793" for the R8A7793 device
    - "renesas,vin-r8a7791" for the R8A7791 device
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 3/3 v2] media: soc_camera: rcar_vin: Add ARGB8888 caputre format support
  2016-01-11 19:10 [PATCH 0/3 v2] media: soc_camera: rcar_vin: add rcar-gen3 support Yoshihiro Kaneko
  2016-01-11 19:10 ` [PATCH 1/3 v2] media: soc_camera: rcar_vin: Add rcar fallback compatibility string Yoshihiro Kaneko
  2016-01-11 19:10 ` [PATCH 2/3 v2] media: soc_camera: rcar_vin: Add R-Car Gen3 support Yoshihiro Kaneko
@ 2016-01-11 19:10 ` Yoshihiro Kaneko
  2 siblings, 0 replies; 6+ messages in thread
From: Yoshihiro Kaneko @ 2016-01-11 19:10 UTC (permalink / raw)
  To: linux-media; +Cc: Guennadi Liakhovetski, Simon Horman, Magnus Damm, linux-sh

From: Koji Matsuoka <koji.matsuoka.xm@renesas.com>

This patch adds ARGB8888 capture format support for R-Car Gen3.

Signed-off-by: Koji Matsuoka <koji.matsuoka.xm@renesas.com>
Signed-off-by: Yoshihiro Kaneko <ykaneko0929@gmail.com>
---

v2 [Yoshihiro Kaneko]
* As suggested by Sergei Shtylyov
  - fix the coding style of the braces.

 drivers/media/platform/soc_camera/rcar_vin.c | 21 +++++++++++++++++++--
 1 file changed, 19 insertions(+), 2 deletions(-)

diff --git a/drivers/media/platform/soc_camera/rcar_vin.c b/drivers/media/platform/soc_camera/rcar_vin.c
index f72de0b..9883629 100644
--- a/drivers/media/platform/soc_camera/rcar_vin.c
+++ b/drivers/media/platform/soc_camera/rcar_vin.c
@@ -124,7 +124,7 @@
 #define VNDMR_EXRGB		(1 << 8)
 #define VNDMR_BPSM		(1 << 4)
 #define VNDMR_DTMD_YCSEP	(1 << 1)
-#define VNDMR_DTMD_ARGB1555	(1 << 0)
+#define VNDMR_DTMD_ARGB		(1 << 0)
 
 /* Video n Data Mode Register 2 bits */
 #define VNDMR2_VPS		(1 << 30)
@@ -643,7 +643,7 @@ static int rcar_vin_setup(struct rcar_vin_priv *priv)
 		output_is_yuv = true;
 		break;
 	case V4L2_PIX_FMT_RGB555X:
-		dmr = VNDMR_DTMD_ARGB1555;
+		dmr = VNDMR_DTMD_ARGB;
 		break;
 	case V4L2_PIX_FMT_RGB565:
 		dmr = 0;
@@ -654,6 +654,14 @@ static int rcar_vin_setup(struct rcar_vin_priv *priv)
 			dmr = VNDMR_EXRGB;
 			break;
 		}
+	case V4L2_PIX_FMT_ARGB32:
+		if (priv->chip == RCAR_GEN3) {
+			dmr = VNDMR_EXRGB | VNDMR_DTMD_ARGB;
+		} else {
+			dev_err(icd->parent, "Not support format\n");
+			return -EINVAL;
+		}
+		break;
 	default:
 		dev_warn(icd->parent, "Invalid fourcc format (0x%x)\n",
 			 icd->current_fmt->host_fmt->fourcc);
@@ -1304,6 +1312,14 @@ static const struct soc_mbus_pixelfmt rcar_vin_formats[] = {
 		.order			= SOC_MBUS_ORDER_LE,
 		.layout			= SOC_MBUS_LAYOUT_PACKED,
 	},
+	{
+		.fourcc			= V4L2_PIX_FMT_ARGB32,
+		.name			= "ARGB8888",
+		.bits_per_sample	= 32,
+		.packing		= SOC_MBUS_PACKING_NONE,
+		.order			= SOC_MBUS_ORDER_LE,
+		.layout			= SOC_MBUS_LAYOUT_PACKED,
+	},
 };
 
 static int rcar_vin_get_formats(struct soc_camera_device *icd, unsigned int idx,
@@ -1611,6 +1627,7 @@ static int rcar_vin_set_fmt(struct soc_camera_device *icd,
 	case V4L2_PIX_FMT_RGB32:
 		can_scale = priv->chip != RCAR_E1;
 		break;
+	case V4L2_PIX_FMT_ARGB32:
 	case V4L2_PIX_FMT_UYVY:
 	case V4L2_PIX_FMT_YUYV:
 	case V4L2_PIX_FMT_RGB565:
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/3 v2] media: soc_camera: rcar_vin: Add rcar fallback compatibility string
  2016-01-11 19:10 ` [PATCH 1/3 v2] media: soc_camera: rcar_vin: Add rcar fallback compatibility string Yoshihiro Kaneko
@ 2016-01-11 21:13   ` Guennadi Liakhovetski
  2016-01-12  1:20     ` Simon Horman
  0 siblings, 1 reply; 6+ messages in thread
From: Guennadi Liakhovetski @ 2016-01-11 21:13 UTC (permalink / raw)
  To: Yoshihiro Kaneko; +Cc: linux-media, Simon Horman, Magnus Damm, linux-sh

Hello Kaneko-san,

On Tue, 12 Jan 2016, Yoshihiro Kaneko wrote:

> Add fallback compatibility string for R-Car Gen2 and Gen3, This is
> in keeping with the fallback scheme being adopted wherever appropriate
> for drivers for Renesas SoCs.
> 
> Signed-off-by: Yoshihiro Kaneko <ykaneko0929@gmail.com>
> ---

Have you seen this patch:

http://git.linuxtv.org/gliakhovetski/v4l-dvb.git/commit/?h=for-4.6-1&id=8e7825d38bbfcf8af8b0422c88f5e22701d89786

that I pushed yesterday? Is it wrong then? Do we have to cancel it, if 
Mauro hasn't pulled it yet? Or would you like to rebase and work on top of 
it?

Thanks
Guennadi

> 
> v2 [Yoshihiro Kaneko]
> * As suggested by Geert Uytterhoeven
>   drivers/media/platform/soc_camera/rcar_vin.c:
>     - The generic compatibility values are listed at the end of the
>       rcar_vin_of_table[].
> 
>  Documentation/devicetree/bindings/media/rcar_vin.txt | 8 +++++++-
>  drivers/media/platform/soc_camera/rcar_vin.c         | 3 +++
>  2 files changed, 10 insertions(+), 1 deletion(-)
> 
> diff --git a/Documentation/devicetree/bindings/media/rcar_vin.txt b/Documentation/devicetree/bindings/media/rcar_vin.txt
> index 9dafe6b..c13ec5a 100644
> --- a/Documentation/devicetree/bindings/media/rcar_vin.txt
> +++ b/Documentation/devicetree/bindings/media/rcar_vin.txt
> @@ -6,12 +6,18 @@ family of devices. The current blocks are always slaves and suppot one input
>  channel which can be either RGB, YUYV or BT656.
>  
>   - compatible: Must be one of the following
> +   - "renesas,rcar-gen2-vin" for R-Car Gen2 Series
> +   - "renesas,rcar-gen3-vin" for R-Car Gen3 Series
>     - "renesas,vin-r8a7794" for the R8A7794 device
>     - "renesas,vin-r8a7793" for the R8A7793 device
>     - "renesas,vin-r8a7791" for the R8A7791 device
>     - "renesas,vin-r8a7790" for the R8A7790 device
>     - "renesas,vin-r8a7779" for the R8A7779 device
>     - "renesas,vin-r8a7778" for the R8A7778 device
> +
> +   When compatible with the generic version, nodes must list the SoC-specific
> +   version corresponding to the platform first followed by the generic version.
> +
>   - reg: the register base and size for the device registers
>   - interrupts: the interrupt for the device
>   - clocks: Reference to the parent clock
> @@ -36,7 +42,7 @@ Device node example
>  	};
>  
>          vin0: vin@0xe6ef0000 {
> -                compatible = "renesas,vin-r8a7790";
> +                compatible = "renesas,vin-r8a7790","renesas,rcar-gen2-vin";
>                  clocks = <&mstp8_clks R8A7790_CLK_VIN0>;
>                  reg = <0 0xe6ef0000 0 0x1000>;
>                  interrupts = <0 188 IRQ_TYPE_LEVEL_HIGH>;
> diff --git a/drivers/media/platform/soc_camera/rcar_vin.c b/drivers/media/platform/soc_camera/rcar_vin.c
> index b7fd695..f72de0b 100644
> --- a/drivers/media/platform/soc_camera/rcar_vin.c
> +++ b/drivers/media/platform/soc_camera/rcar_vin.c
> @@ -143,6 +143,7 @@
>  #define RCAR_VIN_BT656			(1 << 3)
>  
>  enum chip_id {
> +	RCAR_GEN3,
>  	RCAR_GEN2,
>  	RCAR_H1,
>  	RCAR_M1,
> @@ -1824,6 +1825,8 @@ static const struct of_device_id rcar_vin_of_table[] = {
>  	{ .compatible = "renesas,vin-r8a7790", .data = (void *)RCAR_GEN2 },
>  	{ .compatible = "renesas,vin-r8a7779", .data = (void *)RCAR_H1 },
>  	{ .compatible = "renesas,vin-r8a7778", .data = (void *)RCAR_M1 },
> +	{ .compatible = "renesas,rcar-gen2-vin", .data = (void *)RCAR_GEN2 },
> +	{ .compatible = "renesas,rcar-gen3-vin", .data = (void *)RCAR_GEN3 },
>  	{ },
>  };
>  MODULE_DEVICE_TABLE(of, rcar_vin_of_table);
> -- 
> 1.9.1
> 

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/3 v2] media: soc_camera: rcar_vin: Add rcar fallback compatibility string
  2016-01-11 21:13   ` Guennadi Liakhovetski
@ 2016-01-12  1:20     ` Simon Horman
  0 siblings, 0 replies; 6+ messages in thread
From: Simon Horman @ 2016-01-12  1:20 UTC (permalink / raw)
  To: Guennadi Liakhovetski
  Cc: Yoshihiro Kaneko, linux-media, Magnus Damm, linux-sh

Hi Guennadi,

On Mon, Jan 11, 2016 at 10:13:30PM +0100, Guennadi Liakhovetski wrote:
> Hello Kaneko-san,
> 
> On Tue, 12 Jan 2016, Yoshihiro Kaneko wrote:
> 
> > Add fallback compatibility string for R-Car Gen2 and Gen3, This is
> > in keeping with the fallback scheme being adopted wherever appropriate
> > for drivers for Renesas SoCs.
> > 
> > Signed-off-by: Yoshihiro Kaneko <ykaneko0929@gmail.com>
> > ---
> 
> Have you seen this patch:
> 
> http://git.linuxtv.org/gliakhovetski/v4l-dvb.git/commit/?h=for-4.6-1&id=8e7825d38bbfcf8af8b0422c88f5e22701d89786
> 
> that I pushed yesterday? Is it wrong then? Do we have to cancel it, if
> Mauro hasn't pulled it yet? Or would you like to rebase and work on top of
> it?

Sorry about this. There are multiple threads of execution going on
regarding enhancing drivers used by Renesas SoCs and sometimes things
get a little mixed up: this is one of those times.

My opinion is that the patch at the URL above is fine and
that it would be best for Kaneko-san to rebase his work on top of it.

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2016-01-12  1:20 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-01-11 19:10 [PATCH 0/3 v2] media: soc_camera: rcar_vin: add rcar-gen3 support Yoshihiro Kaneko
2016-01-11 19:10 ` [PATCH 1/3 v2] media: soc_camera: rcar_vin: Add rcar fallback compatibility string Yoshihiro Kaneko
2016-01-11 21:13   ` Guennadi Liakhovetski
2016-01-12  1:20     ` Simon Horman
2016-01-11 19:10 ` [PATCH 2/3 v2] media: soc_camera: rcar_vin: Add R-Car Gen3 support Yoshihiro Kaneko
2016-01-11 19:10 ` [PATCH 3/3 v2] media: soc_camera: rcar_vin: Add ARGB8888 caputre format support Yoshihiro Kaneko

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).