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,