Add support for R-Car V4M. The V4M is similar to the other Gen4 SoC supported V4H, and uses the ISP Channel Selector as its only possible video input source. The datasheet for the two SoCs have small nuances around the Pre-Clip registers ELPrC and EPPrC in three use-cases, interlaced images, embedded data and RAW8 input. On V4H the values written to the registers are based on odd numbers while on V4M they are even numbers, based on the input image size. No board that uses these SoCs which also have the external peripherals to test these nuances exists. Most likely this is an issue in the datasheet, but to make this easy to address in the future do not add a common Gen4 fallback compatible. Instead uses SoC specific compatibles for both SoCs. This is what was done for Gen3 SoCs, which also had similar nuances in the register documentation. Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@xxxxxxxxxxxx> Reviewed-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> --- * Changes since v2 - Extend commit message to explain why SoC specific compatibles are use in the driver instead of adding a new Gen4 fallback to cover both V4H and V4M. - Add review tags. * Changes since v1 - Create a shared Gen4 info strucutre. --- drivers/media/platform/renesas/rcar-vin/rcar-core.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/media/platform/renesas/rcar-vin/rcar-core.c b/drivers/media/platform/renesas/rcar-vin/rcar-core.c index 809c3a38cc4a..6992b61f0d48 100644 --- a/drivers/media/platform/renesas/rcar-vin/rcar-core.c +++ b/drivers/media/platform/renesas/rcar-vin/rcar-core.c @@ -1283,7 +1283,7 @@ static const struct rvin_info rcar_info_r8a779a0 = { .max_height = 4096, }; -static const struct rvin_info rcar_info_r8a779g0 = { +static const struct rvin_info rcar_info_gen4 = { .model = RCAR_GEN3, .use_mc = true, .use_isp = true, @@ -1359,7 +1359,11 @@ static const struct of_device_id rvin_of_id_table[] = { }, { .compatible = "renesas,vin-r8a779g0", - .data = &rcar_info_r8a779g0, + .data = &rcar_info_gen4, + }, + { + .compatible = "renesas,vin-r8a779h0", + .data = &rcar_info_gen4, }, { /* Sentinel */ }, }; -- 2.45.2