Add the SoC specific information for Renesas r8a7796. Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@xxxxxxxxxxxx> Reviewed-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> --- .../devicetree/bindings/media/rcar_vin.txt | 1 + drivers/media/platform/rcar-vin/rcar-core.c | 64 ++++++++++++++++++++++ 2 files changed, 65 insertions(+) diff --git a/Documentation/devicetree/bindings/media/rcar_vin.txt b/Documentation/devicetree/bindings/media/rcar_vin.txt index 5a95d9668d2c7dfd..314743532bbb4523 100644 --- a/Documentation/devicetree/bindings/media/rcar_vin.txt +++ b/Documentation/devicetree/bindings/media/rcar_vin.txt @@ -20,6 +20,7 @@ on Gen3 to a CSI-2 receiver. - "renesas,vin-r8a7793" for the R8A7793 device - "renesas,vin-r8a7794" for the R8A7794 device - "renesas,vin-r8a7795" for the R8A7795 device + - "renesas,vin-r8a7796" for the R8A7796 device - "renesas,rcar-gen2-vin" for a generic R-Car Gen2 or RZ/G1 compatible device. - "renesas,rcar-gen3-vin" for a generic R-Car Gen3 compatible device. diff --git a/drivers/media/platform/rcar-vin/rcar-core.c b/drivers/media/platform/rcar-vin/rcar-core.c index 9da5aff33fd224f2..62eb89b36fbb2ee1 100644 --- a/drivers/media/platform/rcar-vin/rcar-core.c +++ b/drivers/media/platform/rcar-vin/rcar-core.c @@ -1085,6 +1085,66 @@ static const struct rvin_info rcar_info_r8a7795es1 = { }, }; +static const struct rvin_info rcar_info_r8a7796 = { + .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_NC, .chan = 0 }, + { .csi = RVIN_CSI40, .chan = 0 }, + { .csi = RVIN_CSI20, .chan = 0 }, + }, { + { .csi = RVIN_CSI20, .chan = 0 }, + { .csi = RVIN_NC, .chan = 0 }, + { .csi = RVIN_CSI40, .chan = 0 }, + { .csi = RVIN_CSI40, .chan = 1 }, + { .csi = RVIN_CSI20, .chan = 1 }, + }, { + { .csi = RVIN_NC, .chan = 0 }, + { .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_NC, .chan = 1 }, + { .csi = RVIN_CSI40, .chan = 3 }, + { .csi = RVIN_CSI20, .chan = 3 }, + }, { + { .csi = RVIN_CSI40, .chan = 0 }, + { .csi = RVIN_CSI20, .chan = 0 }, + { .csi = RVIN_NC, .chan = 0 }, + { .csi = RVIN_CSI40, .chan = 0 }, + { .csi = RVIN_CSI20, .chan = 0 }, + }, { + { .csi = RVIN_CSI20, .chan = 0 }, + { .csi = RVIN_NC, .chan = 0 }, + { .csi = RVIN_CSI40, .chan = 0 }, + { .csi = RVIN_CSI40, .chan = 1 }, + { .csi = RVIN_CSI20, .chan = 1 }, + }, { + { .csi = RVIN_NC, .chan = 0 }, + { .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_NC, .chan = 1 }, + { .csi = RVIN_CSI40, .chan = 3 }, + { .csi = RVIN_CSI20, .chan = 3 }, + }, + }, +}; + static const struct of_device_id rvin_of_id_table[] = { { .compatible = "renesas,vin-r8a7778", @@ -1118,6 +1178,10 @@ static const struct of_device_id rvin_of_id_table[] = { .compatible = "renesas,vin-r8a7795", .data = &rcar_info_r8a7795, }, + { + .compatible = "renesas,vin-r8a7796", + .data = &rcar_info_r8a7796, + }, { }, }; MODULE_DEVICE_TABLE(of, rvin_of_id_table); -- 2.15.0