Re: [PATCH v6 24/25] rcar-vin: enable support for r8a7795

2017-09-25 Thread Hans Verkuil
On 23/08/17 01:26, Niklas Söderlund wrote:
> Add the SoC specific information for Renesas r8a7795.
> 
> Signed-off-by: Niklas Söderlund 

Reviewed-by: Hans Verkuil 

Regards,

Hans

> ---
>  drivers/media/platform/rcar-vin/Kconfig |   2 +-
>  drivers/media/platform/rcar-vin/rcar-core.c | 145 
> 
>  2 files changed, 146 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/media/platform/rcar-vin/Kconfig 
> b/drivers/media/platform/rcar-vin/Kconfig
> index af4c98b44d2e22cb..8fa7ee468c63afb9 100644
> --- a/drivers/media/platform/rcar-vin/Kconfig
> +++ b/drivers/media/platform/rcar-vin/Kconfig
> @@ -6,7 +6,7 @@ config VIDEO_RCAR_VIN
>   select V4L2_FWNODE
>   ---help---
> Support for Renesas R-Car Video Input (VIN) driver.
> -   Supports R-Car Gen2 SoCs.
> +   Supports R-Car Gen2 and Gen3 SoCs.
>  
> To compile this driver as a module, choose M here: the
> module will be called rcar-vin.
> diff --git a/drivers/media/platform/rcar-vin/rcar-core.c 
> b/drivers/media/platform/rcar-vin/rcar-core.c
> index dec91e2f3ccdbd93..58d903ab9fb83faf 100644
> --- a/drivers/media/platform/rcar-vin/rcar-core.c
> +++ b/drivers/media/platform/rcar-vin/rcar-core.c
> @@ -21,6 +21,7 @@
>  #include 
>  #include 
>  #include 
> +#include 
>  
>  #include 
>  
> @@ -987,7 +988,139 @@ static const struct rvin_info rcar_info_gen2 = {
>   .max_height = 2048,
>  };
>  
> +static const struct rvin_info rcar_info_r8a7795 = {
> + .chip = RCAR_GEN3,
> + .use_mc = true,
> + .max_width = 4096,
> + .max_height = 4096,
> +
> + .num_chsels = 5,
> + .chsels = {
> + {
> + { .csi = RVIN_CSI40, .chan = 0 },
> + { .csi = RVIN_CSI20, .chan = 0 },
> + { .csi = RVIN_CSI40, .chan = 1 },
> + { .csi = RVIN_CSI40, .chan = 0 },
> + { .csi = RVIN_CSI20, .chan = 0 },
> + }, {
> + { .csi = RVIN_CSI20, .chan = 0 },
> + { .csi = RVIN_CSI40, .chan = 1 },
> + { .csi = RVIN_CSI40, .chan = 0 },
> + { .csi = RVIN_CSI40, .chan = 1 },
> + { .csi = RVIN_CSI20, .chan = 1 },
> + }, {
> + { .csi = RVIN_CSI20, .chan = 1 },
> + { .csi = RVIN_CSI40, .chan = 0 },
> + { .csi = RVIN_CSI20, .chan = 0 },
> + { .csi = RVIN_CSI40, .chan = 2 },
> + { .csi = RVIN_CSI20, .chan = 2 },
> + }, {
> + { .csi = RVIN_CSI40, .chan = 1 },
> + { .csi = RVIN_CSI20, .chan = 1 },
> + { .csi = RVIN_CSI20, .chan = 1 },
> + { .csi = RVIN_CSI40, .chan = 3 },
> + { .csi = RVIN_CSI20, .chan = 3 },
> + }, {
> + { .csi = RVIN_CSI41, .chan = 0 },
> + { .csi = RVIN_CSI20, .chan = 0 },
> + { .csi = RVIN_CSI41, .chan = 1 },
> + { .csi = RVIN_CSI41, .chan = 0 },
> + { .csi = RVIN_CSI20, .chan = 0 },
> + }, {
> + { .csi = RVIN_CSI20, .chan = 0 },
> + { .csi = RVIN_CSI41, .chan = 1 },
> + { .csi = RVIN_CSI41, .chan = 0 },
> + { .csi = RVIN_CSI41, .chan = 1 },
> + { .csi = RVIN_CSI20, .chan = 1 },
> + }, {
> + { .csi = RVIN_CSI20, .chan = 1 },
> + { .csi = RVIN_CSI41, .chan = 0 },
> + { .csi = RVIN_CSI20, .chan = 0 },
> + { .csi = RVIN_CSI41, .chan = 2 },
> + { .csi = RVIN_CSI20, .chan = 2 },
> + }, {
> + { .csi = RVIN_CSI41, .chan = 1 },
> + { .csi = RVIN_CSI20, .chan = 1 },
> + { .csi = RVIN_CSI20, .chan = 1 },
> + { .csi = RVIN_CSI41, .chan = 3 },
> + { .csi = RVIN_CSI20, .chan = 3 },
> + },
> + },
> +};
> +
> +static const struct rvin_info rcar_info_r8a7795es1 = {
> + .chip = RCAR_GEN3,
> + .use_mc = true,
> + .max_width = 4096,
> + .max_height = 4096,
> +
> + .num_chsels = 6,
> + .chsels = {
> + {
> + { .csi = RVIN_CSI40, .chan = 0 },
> + { .csi = RVIN_CSI20, .chan = 0 },
> + { .csi = RVIN_CSI21, .chan = 0 },
> + { .csi = RVIN_CSI40, .chan = 0 },
> + { .csi = RVIN_CSI20, .chan = 0 },
> + { .csi = RVIN_CSI21, .chan = 0 },
> + }, {
> + { .csi = RVIN_CSI20, .chan = 0 },
> + { .csi = RVIN_CSI21, .chan = 0 },
> + { .csi = RVIN_CSI40, .chan = 0 },
> + { .csi = RVIN_CSI40, 

Re: [PATCH v6 24/25] rcar-vin: enable support for r8a7795

2017-10-03 Thread Geert Uytterhoeven
On Wed, Aug 23, 2017 at 1:26 AM, Niklas Söderlund
 wrote:
> Add the SoC specific information for Renesas r8a7795.
>
> Signed-off-by: Niklas Söderlund 

> --- a/drivers/media/platform/rcar-vin/rcar-core.c
> +++ b/drivers/media/platform/rcar-vin/rcar-core.c

> @@ -1038,6 +1176,13 @@ static int rcar_vin_probe(struct platform_device *pdev)
> vin->dev = &pdev->dev;
> vin->info = match->data;
>
> +   /*
> +* Special care is needed on r8a7795 ES1.x since it
> +* uses different routing then r8a7795 ES2.0.

than

> +*/
> +   if (vin->info == &rcar_info_r8a7795 && soc_device_match(r8a7795es1))
> +   vin->info = &rcar_info_r8a7795es1;
> +
> mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> if (mem == NULL)
> return -EINVAL;

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ge...@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