Add the SoC specific information for Renesas r8a7795.
Signed-off-by: Niklas Söderlund <[email protected]>
---
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