linux-media.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/3] media: soc_camera: rcar_vin: add rcar-gen3 support
@ 2016-01-11 18:00 Yoshihiro Kaneko
  2016-01-11 18:00 ` [PATCH 1/3] media: soc_camera: rcar_vin: Add rcar fallback compatibility string Yoshihiro Kaneko
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Yoshihiro Kaneko @ 2016-01-11 18:00 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] 8+ messages in thread

* [PATCH 1/3] media: soc_camera: rcar_vin: Add rcar fallback compatibility string
  2016-01-11 18:00 [PATCH 0/3] media: soc_camera: rcar_vin: add rcar-gen3 support Yoshihiro Kaneko
@ 2016-01-11 18:00 ` Yoshihiro Kaneko
  2016-01-11 18:19   ` Geert Uytterhoeven
  2016-01-11 18:00 ` [PATCH 2/3] media: soc_camera: rcar_vin: Add R-Car Gen3 support Yoshihiro Kaneko
  2016-01-11 18:00 ` [PATCH 3/3] media: soc_camera: rcar_vin: Add ARGB8888 caputre format support Yoshihiro Kaneko
  2 siblings, 1 reply; 8+ messages in thread
From: Yoshihiro Kaneko @ 2016-01-11 18:00 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>
---
 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..cccd859 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,
@@ -1818,6 +1819,8 @@ static struct soc_camera_host_ops rcar_vin_host_ops = {
 
 #ifdef CONFIG_OF
 static const struct of_device_id rcar_vin_of_table[] = {
+	{ .compatible = "renesas,rcar-gen2-vin", .data = (void *)RCAR_GEN2 },
+	{ .compatible = "renesas,rcar-gen3-vin", .data = (void *)RCAR_GEN3 },
 	{ .compatible = "renesas,vin-r8a7794", .data = (void *)RCAR_GEN2 },
 	{ .compatible = "renesas,vin-r8a7793", .data = (void *)RCAR_GEN2 },
 	{ .compatible = "renesas,vin-r8a7791", .data = (void *)RCAR_GEN2 },
-- 
1.9.1


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

* [PATCH 2/3] media: soc_camera: rcar_vin: Add R-Car Gen3 support
  2016-01-11 18:00 [PATCH 0/3] media: soc_camera: rcar_vin: add rcar-gen3 support Yoshihiro Kaneko
  2016-01-11 18:00 ` [PATCH 1/3] media: soc_camera: rcar_vin: Add rcar fallback compatibility string Yoshihiro Kaneko
@ 2016-01-11 18:00 ` Yoshihiro Kaneko
  2016-01-11 18:00 ` [PATCH 3/3] media: soc_camera: rcar_vin: Add ARGB8888 caputre format support Yoshihiro Kaneko
  2 siblings, 0 replies; 8+ messages in thread
From: Yoshihiro Kaneko @ 2016-01-11 18:00 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>
---
 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] 8+ messages in thread

* [PATCH 3/3] media: soc_camera: rcar_vin: Add ARGB8888 caputre format support
  2016-01-11 18:00 [PATCH 0/3] media: soc_camera: rcar_vin: add rcar-gen3 support Yoshihiro Kaneko
  2016-01-11 18:00 ` [PATCH 1/3] media: soc_camera: rcar_vin: Add rcar fallback compatibility string Yoshihiro Kaneko
  2016-01-11 18:00 ` [PATCH 2/3] media: soc_camera: rcar_vin: Add R-Car Gen3 support Yoshihiro Kaneko
@ 2016-01-11 18:00 ` Yoshihiro Kaneko
  2016-01-11 18:35   ` Sergei Shtylyov
  2 siblings, 1 reply; 8+ messages in thread
From: Yoshihiro Kaneko @ 2016-01-11 18:00 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>
---
 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 cccd859..afe27bb 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] 8+ messages in thread

* Re: [PATCH 1/3] media: soc_camera: rcar_vin: Add rcar fallback compatibility string
  2016-01-11 18:00 ` [PATCH 1/3] media: soc_camera: rcar_vin: Add rcar fallback compatibility string Yoshihiro Kaneko
@ 2016-01-11 18:19   ` Geert Uytterhoeven
  2016-01-11 18:27     ` Yoshihiro Kaneko
  0 siblings, 1 reply; 8+ messages in thread
From: Geert Uytterhoeven @ 2016-01-11 18:19 UTC (permalink / raw)
  To: Yoshihiro Kaneko
  Cc: Linux Media Mailing List, Guennadi Liakhovetski, Simon Horman,
	Magnus Damm, Linux-sh list

Hi Kaneko-san,

On Mon, Jan 11, 2016 at 7:00 PM, Yoshihiro Kaneko <ykaneko0929@gmail.com> wrote:
> --- 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,
> @@ -1818,6 +1819,8 @@ static struct soc_camera_host_ops rcar_vin_host_ops = {
>
>  #ifdef CONFIG_OF
>  static const struct of_device_id rcar_vin_of_table[] = {
> +       { .compatible = "renesas,rcar-gen2-vin", .data = (void *)RCAR_GEN2 },
> +       { .compatible = "renesas,rcar-gen3-vin", .data = (void *)RCAR_GEN3 },

Please add the generic compatible values at the end of the list, so SoC-specific
ones take precedence.

>         { .compatible = "renesas,vin-r8a7794", .data = (void *)RCAR_GEN2 },
>         { .compatible = "renesas,vin-r8a7793", .data = (void *)RCAR_GEN2 },
>         { .compatible = "renesas,vin-r8a7791", .data = (void *)RCAR_GEN2 },

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

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

* Re: [PATCH 1/3] media: soc_camera: rcar_vin: Add rcar fallback compatibility string
  2016-01-11 18:19   ` Geert Uytterhoeven
@ 2016-01-11 18:27     ` Yoshihiro Kaneko
  0 siblings, 0 replies; 8+ messages in thread
From: Yoshihiro Kaneko @ 2016-01-11 18:27 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: Linux Media Mailing List, Guennadi Liakhovetski, Simon Horman,
	Magnus Damm, Linux-sh list

Hi Geert-san,

2016-01-12 3:19 GMT+09:00 Geert Uytterhoeven <geert@linux-m68k.org>:
> Hi Kaneko-san,
>
> On Mon, Jan 11, 2016 at 7:00 PM, Yoshihiro Kaneko <ykaneko0929@gmail.com> wrote:
>> --- 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,
>> @@ -1818,6 +1819,8 @@ static struct soc_camera_host_ops rcar_vin_host_ops = {
>>
>>  #ifdef CONFIG_OF
>>  static const struct of_device_id rcar_vin_of_table[] = {
>> +       { .compatible = "renesas,rcar-gen2-vin", .data = (void *)RCAR_GEN2 },
>> +       { .compatible = "renesas,rcar-gen3-vin", .data = (void *)RCAR_GEN3 },
>
> Please add the generic compatible values at the end of the list, so SoC-specific
> ones take precedence.

Oh, that makes sense.
I will fix it soon.

Thanks,
kaneko

>
>>         { .compatible = "renesas,vin-r8a7794", .data = (void *)RCAR_GEN2 },
>>         { .compatible = "renesas,vin-r8a7793", .data = (void *)RCAR_GEN2 },
>>         { .compatible = "renesas,vin-r8a7791", .data = (void *)RCAR_GEN2 },
>
> Gr{oetje,eeting}s,
>
>                         Geert
>
> --
> Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
>
> In personal conversations with technical people, I call myself a hacker. But
> when I'm talking to journalists I just say "programmer" or something like that.
>                                 -- Linus Torvalds

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

* Re: [PATCH 3/3] media: soc_camera: rcar_vin: Add ARGB8888 caputre format support
  2016-01-11 18:00 ` [PATCH 3/3] media: soc_camera: rcar_vin: Add ARGB8888 caputre format support Yoshihiro Kaneko
@ 2016-01-11 18:35   ` Sergei Shtylyov
  2016-01-11 18:46     ` Yoshihiro Kaneko
  0 siblings, 1 reply; 8+ messages in thread
From: Sergei Shtylyov @ 2016-01-11 18:35 UTC (permalink / raw)
  To: Yoshihiro Kaneko, linux-media
  Cc: Guennadi Liakhovetski, Simon Horman, Magnus Damm, linux-sh

Hello.

On 01/11/2016 09:00 PM, Yoshihiro Kaneko wrote:

> 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>
> ---
>   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 cccd859..afe27bb 100644
> --- a/drivers/media/platform/soc_camera/rcar_vin.c
> +++ b/drivers/media/platform/soc_camera/rcar_vin.c
[...]
> @@ -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 {

    Kernel coding style dictates using {} in all *if* branches if at least one 
branch has them.

> +			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);
[...]

MBR, Sergei


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

* Re: [PATCH 3/3] media: soc_camera: rcar_vin: Add ARGB8888 caputre format support
  2016-01-11 18:35   ` Sergei Shtylyov
@ 2016-01-11 18:46     ` Yoshihiro Kaneko
  0 siblings, 0 replies; 8+ messages in thread
From: Yoshihiro Kaneko @ 2016-01-11 18:46 UTC (permalink / raw)
  To: Sergei Shtylyov
  Cc: Linux Media Mailing List, Guennadi Liakhovetski, Simon Horman,
	Magnus Damm, Linux-sh list

Hi Sergei,

2016-01-12 3:35 GMT+09:00 Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>:
> Hello.
>
> On 01/11/2016 09:00 PM, Yoshihiro Kaneko wrote:
>
>> 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>
>> ---
>>   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 cccd859..afe27bb 100644
>> --- a/drivers/media/platform/soc_camera/rcar_vin.c
>> +++ b/drivers/media/platform/soc_camera/rcar_vin.c
>
> [...]
>>
>> @@ -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 {
>
>
>    Kernel coding style dictates using {} in all *if* branches if at least
> one branch has them.

Got it.
Thanks!

>
>> +                       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);
>
> [...]
>
> MBR, Sergei
>

Thanks,
kaneko

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

end of thread, other threads:[~2016-01-11 18:46 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-01-11 18:00 [PATCH 0/3] media: soc_camera: rcar_vin: add rcar-gen3 support Yoshihiro Kaneko
2016-01-11 18:00 ` [PATCH 1/3] media: soc_camera: rcar_vin: Add rcar fallback compatibility string Yoshihiro Kaneko
2016-01-11 18:19   ` Geert Uytterhoeven
2016-01-11 18:27     ` Yoshihiro Kaneko
2016-01-11 18:00 ` [PATCH 2/3] media: soc_camera: rcar_vin: Add R-Car Gen3 support Yoshihiro Kaneko
2016-01-11 18:00 ` [PATCH 3/3] media: soc_camera: rcar_vin: Add ARGB8888 caputre format support Yoshihiro Kaneko
2016-01-11 18:35   ` Sergei Shtylyov
2016-01-11 18:46     ` 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).