Add the SoC specific information for Renesas r8a7795.

Signed-off-by: Niklas Söderlund <niklas.soderlund+rene...@ragnatech.se>
---
 drivers/media/platform/rcar-vin/Kconfig     |  2 +-
 drivers/media/platform/rcar-vin/rcar-core.c | 72 +++++++++++++++++++++++++++++
 2 files changed, 73 insertions(+), 1 deletion(-)

diff --git a/drivers/media/platform/rcar-vin/Kconfig 
b/drivers/media/platform/rcar-vin/Kconfig
index 111d2a151f6a4d44..e0e981c14b081bc6 100644
--- a/drivers/media/platform/rcar-vin/Kconfig
+++ b/drivers/media/platform/rcar-vin/Kconfig
@@ -5,7 +5,7 @@ config VIDEO_RCAR_VIN
        select VIDEOBUF2_DMA_CONTIG
        ---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 7b9ff5e8f771c87e..2f46cdbb7ad9ed80 100644
--- a/drivers/media/platform/rcar-vin/rcar-core.c
+++ b/drivers/media/platform/rcar-vin/rcar-core.c
@@ -926,8 +926,80 @@ 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 = 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, .chan = 1 },
+                       { .csi = RVIN_CSI20, .chan = 1 },
+                       { .csi = RVIN_CSI21, .chan = 1 },
+               }, {
+                       { .csi = RVIN_CSI21, .chan = 0 },
+                       { .csi = RVIN_CSI40, .chan = 0 },
+                       { .csi = RVIN_CSI20, .chan = 0 },
+                       { .csi = RVIN_CSI40, .chan = 2 },
+                       { .csi = RVIN_CSI20, .chan = 2 },
+                       { .csi = RVIN_CSI21, .chan = 2 },
+               }, {
+                       { .csi = RVIN_CSI40, .chan = 1 },
+                       { .csi = RVIN_CSI20, .chan = 1 },
+                       { .csi = RVIN_CSI21, .chan = 1 },
+                       { .csi = RVIN_CSI40, .chan = 3 },
+                       { .csi = RVIN_CSI20, .chan = 3 },
+                       { .csi = RVIN_CSI21, .chan = 3 },
+               }, {
+                       { .csi = RVIN_CSI41, .chan = 0 },
+                       { .csi = RVIN_CSI20, .chan = 0 },
+                       { .csi = RVIN_CSI21, .chan = 0 },
+                       { .csi = RVIN_CSI41, .chan = 0 },
+                       { .csi = RVIN_CSI20, .chan = 0 },
+                       { .csi = RVIN_CSI21, .chan = 0 },
+               }, {
+                       { .csi = RVIN_CSI20, .chan = 0 },
+                       { .csi = RVIN_CSI21, .chan = 0 },
+                       { .csi = RVIN_CSI41, .chan = 0 },
+                       { .csi = RVIN_CSI41, .chan = 1 },
+                       { .csi = RVIN_CSI20, .chan = 1 },
+                       { .csi = RVIN_CSI21, .chan = 1 },
+               }, {
+                       { .csi = RVIN_CSI21, .chan = 0 },
+                       { .csi = RVIN_CSI41, .chan = 0 },
+                       { .csi = RVIN_CSI20, .chan = 0 },
+                       { .csi = RVIN_CSI41, .chan = 2 },
+                       { .csi = RVIN_CSI20, .chan = 2 },
+                       { .csi = RVIN_CSI21, .chan = 2 },
+               }, {
+                       { .csi = RVIN_CSI41, .chan = 1 },
+                       { .csi = RVIN_CSI20, .chan = 1 },
+                       { .csi = RVIN_CSI21, .chan = 1 },
+                       { .csi = RVIN_CSI41, .chan = 3 },
+                       { .csi = RVIN_CSI20, .chan = 3 },
+                       { .csi = RVIN_CSI21, .chan = 3 },
+               },
+       },
+};
+
 static const struct of_device_id rvin_of_id_table[] = {
        {
+               .compatible = "renesas,vin-r8a7795",
+               .data = &rcar_info_r8a7795,
+       },
+       {
                .compatible = "renesas,vin-r8a7794",
                .data = &rcar_info_gen2,
        },
-- 
2.12.2

Reply via email to