* [PATCH v4 0/5] rcar-vin: Add support for R-Car V4M
@ 2024-06-24 14:41 Niklas Söderlund
2024-06-24 14:41 ` [PATCH v4 1/5] dt-bindings: media: renesas,vin: Add Gen4 family fallback Niklas Söderlund
` (4 more replies)
0 siblings, 5 replies; 14+ messages in thread
From: Niklas Söderlund @ 2024-06-24 14:41 UTC (permalink / raw)
To: Mauro Carvalho Chehab, Laurent Pinchart, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Geert Uytterhoeven,
linux-media, devicetree
Cc: linux-renesas-soc, Niklas Söderlund
Hello,
This series adds bindings and support to rcar-vin for R-Car V4M by the
means of adding a Gen4 family fallback compatible.
Previous versions of this series added V4M support like done for VIN
since the first Gen3 device, by the use of only a single SoC specific
compatible value. This was done as in Gen3 almost every new device
differed from the others and a family fallback was not very useful.
For the two Gen4 devices with a video capture pipeline currently
documented the VIN instances are very similar and a family fallback can
be used. This however requires updating existing DTS files for V4H to
add this new family fallback. This is done in a backward compatible way
and the driver retains the compatible value for V4H.
See individual patches for changes since previous version.
Niklas Söderlund (5):
dt-bindings: media: renesas,vin: Add Gen4 family fallback
arm64: dts: renesas: r8a779g0: Add family fallback for VIN IP
media: rcar-vin: Add family compatible for R-Car Gen4 family
dt-bindings: media: renesas,vin: Add binding for V4M
arm64: dts: renesas: r8a779h0: Add family fallback for VIN IP
.../bindings/media/renesas,vin.yaml | 4 ++
arch/arm64/boot/dts/renesas/r8a779g0.dtsi | 48 ++++++++++++-------
arch/arm64/boot/dts/renesas/r8a779h0.dtsi | 48 ++++++++++++-------
.../platform/renesas/rcar-vin/rcar-core.c | 23 +++++----
4 files changed, 79 insertions(+), 44 deletions(-)
--
2.45.2
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH v4 1/5] dt-bindings: media: renesas,vin: Add Gen4 family fallback
2024-06-24 14:41 [PATCH v4 0/5] rcar-vin: Add support for R-Car V4M Niklas Söderlund
@ 2024-06-24 14:41 ` Niklas Söderlund
2024-06-26 11:44 ` Conor Dooley
2024-07-02 7:52 ` Geert Uytterhoeven
2024-06-24 14:41 ` [PATCH v4 2/5] arm64: dts: renesas: r8a779g0: Add family fallback for VIN IP Niklas Söderlund
` (3 subsequent siblings)
4 siblings, 2 replies; 14+ messages in thread
From: Niklas Söderlund @ 2024-06-24 14:41 UTC (permalink / raw)
To: Mauro Carvalho Chehab, Laurent Pinchart, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Geert Uytterhoeven,
linux-media, devicetree
Cc: linux-renesas-soc, Niklas Söderlund
The two Gen4 SoCs released (V4H and V4M) that have a video capture
pipeline the VIN IP are very similar.
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, values are
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.
Before adding bindings for V4M add a family compatible fallback for
Gen4. That way the driver only needs to be updated once for Gen4, and we
still have the option to fix any problems in the driver if any testable
differences between the two SoCs is found.
There are already DTS files using the renesas,vin-r8a779g0 compatible
which needs to be updated to not produce a warning for DTS checks. And
the driver will need to kept compatible with renesas,vin-r8a779g0, but
for new Gen4 SoCs such as V4M we can avoid this.
Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
---
* Changes since v3
- New in v4.
---
Documentation/devicetree/bindings/media/renesas,vin.yaml | 3 +++
1 file changed, 3 insertions(+)
diff --git a/Documentation/devicetree/bindings/media/renesas,vin.yaml b/Documentation/devicetree/bindings/media/renesas,vin.yaml
index 5539d0f8e74d..c3ef4fde7baf 100644
--- a/Documentation/devicetree/bindings/media/renesas,vin.yaml
+++ b/Documentation/devicetree/bindings/media/renesas,vin.yaml
@@ -53,7 +53,10 @@ properties:
- renesas,vin-r8a77990 # R-Car E3
- renesas,vin-r8a77995 # R-Car D3
- renesas,vin-r8a779a0 # R-Car V3U
+ - items:
+ - enum:
- renesas,vin-r8a779g0 # R-Car V4H
+ - const: renesas,rcar-gen4-vin # Generic R-Car Gen4
reg:
maxItems: 1
--
2.45.2
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH v4 2/5] arm64: dts: renesas: r8a779g0: Add family fallback for VIN IP
2024-06-24 14:41 [PATCH v4 0/5] rcar-vin: Add support for R-Car V4M Niklas Söderlund
2024-06-24 14:41 ` [PATCH v4 1/5] dt-bindings: media: renesas,vin: Add Gen4 family fallback Niklas Söderlund
@ 2024-06-24 14:41 ` Niklas Söderlund
2024-07-02 7:52 ` Geert Uytterhoeven
2024-06-24 14:41 ` [PATCH v4 3/5] media: rcar-vin: Add family compatible for R-Car Gen4 family Niklas Söderlund
` (2 subsequent siblings)
4 siblings, 1 reply; 14+ messages in thread
From: Niklas Söderlund @ 2024-06-24 14:41 UTC (permalink / raw)
To: Mauro Carvalho Chehab, Laurent Pinchart, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Geert Uytterhoeven,
linux-media, devicetree
Cc: linux-renesas-soc, Niklas Söderlund
To make it easier to support new Gen4 SoCs a family fallback compatible
similar to what is used for Gen2 have been added to the VIN bindings.
Add this fallback to the V4H DTSI.
There is no functional change, but the addition of the family fallback
in the bindings produces warnings for V4H for DTS checks if they are not
added.
Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
---
* Changes since v3
- New in v4.
---
arch/arm64/boot/dts/renesas/r8a779g0.dtsi | 48 +++++++++++++++--------
1 file changed, 32 insertions(+), 16 deletions(-)
diff --git a/arch/arm64/boot/dts/renesas/r8a779g0.dtsi b/arch/arm64/boot/dts/renesas/r8a779g0.dtsi
index aaeebf736f3f..850eb2869e9f 100644
--- a/arch/arm64/boot/dts/renesas/r8a779g0.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a779g0.dtsi
@@ -1189,7 +1189,8 @@ msiof5: spi@e6c28000 {
};
vin00: video@e6ef0000 {
- compatible = "renesas,vin-r8a779g0";
+ compatible = "renesas,vin-r8a779g0",
+ "renesas,rcar-gen4-vin";
reg = <0 0xe6ef0000 0 0x1000>;
interrupts = <GIC_SPI 529 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 730>;
@@ -1217,7 +1218,8 @@ vin00isp0: endpoint@0 {
};
vin01: video@e6ef1000 {
- compatible = "renesas,vin-r8a779g0";
+ compatible = "renesas,vin-r8a779g0",
+ "renesas,rcar-gen4-vin";
reg = <0 0xe6ef1000 0 0x1000>;
interrupts = <GIC_SPI 530 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 731>;
@@ -1245,7 +1247,8 @@ vin01isp0: endpoint@0 {
};
vin02: video@e6ef2000 {
- compatible = "renesas,vin-r8a779g0";
+ compatible = "renesas,vin-r8a779g0",
+ "renesas,rcar-gen4-vin";
reg = <0 0xe6ef2000 0 0x1000>;
interrupts = <GIC_SPI 531 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 800>;
@@ -1273,7 +1276,8 @@ vin02isp0: endpoint@0 {
};
vin03: video@e6ef3000 {
- compatible = "renesas,vin-r8a779g0";
+ compatible = "renesas,vin-r8a779g0",
+ "renesas,rcar-gen4-vin";
reg = <0 0xe6ef3000 0 0x1000>;
interrupts = <GIC_SPI 532 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 801>;
@@ -1301,7 +1305,8 @@ vin03isp0: endpoint@0 {
};
vin04: video@e6ef4000 {
- compatible = "renesas,vin-r8a779g0";
+ compatible = "renesas,vin-r8a779g0",
+ "renesas,rcar-gen4-vin";
reg = <0 0xe6ef4000 0 0x1000>;
interrupts = <GIC_SPI 533 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 802>;
@@ -1329,7 +1334,8 @@ vin04isp0: endpoint@0 {
};
vin05: video@e6ef5000 {
- compatible = "renesas,vin-r8a779g0";
+ compatible = "renesas,vin-r8a779g0",
+ "renesas,rcar-gen4-vin";
reg = <0 0xe6ef5000 0 0x1000>;
interrupts = <GIC_SPI 534 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 803>;
@@ -1357,7 +1363,8 @@ vin05isp0: endpoint@0 {
};
vin06: video@e6ef6000 {
- compatible = "renesas,vin-r8a779g0";
+ compatible = "renesas,vin-r8a779g0",
+ "renesas,rcar-gen4-vin";
reg = <0 0xe6ef6000 0 0x1000>;
interrupts = <GIC_SPI 535 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 804>;
@@ -1385,7 +1392,8 @@ vin06isp0: endpoint@0 {
};
vin07: video@e6ef7000 {
- compatible = "renesas,vin-r8a779g0";
+ compatible = "renesas,vin-r8a779g0",
+ "renesas,rcar-gen4-vin";
reg = <0 0xe6ef7000 0 0x1000>;
interrupts = <GIC_SPI 536 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 805>;
@@ -1413,7 +1421,8 @@ vin07isp0: endpoint@0 {
};
vin08: video@e6ef8000 {
- compatible = "renesas,vin-r8a779g0";
+ compatible = "renesas,vin-r8a779g0",
+ "renesas,rcar-gen4-vin";
reg = <0 0xe6ef8000 0 0x1000>;
interrupts = <GIC_SPI 537 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 806>;
@@ -1441,7 +1450,8 @@ vin08isp1: endpoint@1 {
};
vin09: video@e6ef9000 {
- compatible = "renesas,vin-r8a779g0";
+ compatible = "renesas,vin-r8a779g0",
+ "renesas,rcar-gen4-vin";
reg = <0 0xe6ef9000 0 0x1000>;
interrupts = <GIC_SPI 538 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 807>;
@@ -1469,7 +1479,8 @@ vin09isp1: endpoint@1 {
};
vin10: video@e6efa000 {
- compatible = "renesas,vin-r8a779g0";
+ compatible = "renesas,vin-r8a779g0",
+ "renesas,rcar-gen4-vin";
reg = <0 0xe6efa000 0 0x1000>;
interrupts = <GIC_SPI 539 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 808>;
@@ -1497,7 +1508,8 @@ vin10isp1: endpoint@1 {
};
vin11: video@e6efb000 {
- compatible = "renesas,vin-r8a779g0";
+ compatible = "renesas,vin-r8a779g0",
+ "renesas,rcar-gen4-vin";
reg = <0 0xe6efb000 0 0x1000>;
interrupts = <GIC_SPI 540 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 809>;
@@ -1525,7 +1537,8 @@ vin11isp1: endpoint@1 {
};
vin12: video@e6efc000 {
- compatible = "renesas,vin-r8a779g0";
+ compatible = "renesas,vin-r8a779g0",
+ "renesas,rcar-gen4-vin";
reg = <0 0xe6efc000 0 0x1000>;
interrupts = <GIC_SPI 541 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 810>;
@@ -1553,7 +1566,8 @@ vin12isp1: endpoint@1 {
};
vin13: video@e6efd000 {
- compatible = "renesas,vin-r8a779g0";
+ compatible = "renesas,vin-r8a779g0",
+ "renesas,rcar-gen4-vin";
reg = <0 0xe6efd000 0 0x1000>;
interrupts = <GIC_SPI 542 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 811>;
@@ -1581,7 +1595,8 @@ vin13isp1: endpoint@1 {
};
vin14: video@e6efe000 {
- compatible = "renesas,vin-r8a779g0";
+ compatible = "renesas,vin-r8a779g0",
+ "renesas,rcar-gen4-vin";
reg = <0 0xe6efe000 0 0x1000>;
interrupts = <GIC_SPI 543 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 812>;
@@ -1609,7 +1624,8 @@ vin14isp1: endpoint@1 {
};
vin15: video@e6eff000 {
- compatible = "renesas,vin-r8a779g0";
+ compatible = "renesas,vin-r8a779g0",
+ "renesas,rcar-gen4-vin";
reg = <0 0xe6eff000 0 0x1000>;
interrupts = <GIC_SPI 544 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 813>;
--
2.45.2
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH v4 3/5] media: rcar-vin: Add family compatible for R-Car Gen4 family
2024-06-24 14:41 [PATCH v4 0/5] rcar-vin: Add support for R-Car V4M Niklas Söderlund
2024-06-24 14:41 ` [PATCH v4 1/5] dt-bindings: media: renesas,vin: Add Gen4 family fallback Niklas Söderlund
2024-06-24 14:41 ` [PATCH v4 2/5] arm64: dts: renesas: r8a779g0: Add family fallback for VIN IP Niklas Söderlund
@ 2024-06-24 14:41 ` Niklas Söderlund
2024-07-02 7:57 ` Geert Uytterhoeven
2024-06-24 14:41 ` [PATCH v4 4/5] dt-bindings: media: renesas,vin: Add binding for V4M Niklas Söderlund
2024-06-24 14:41 ` [PATCH v4 5/5] arm64: dts: renesas: r8a779h0: Add family fallback for VIN IP Niklas Söderlund
4 siblings, 1 reply; 14+ messages in thread
From: Niklas Söderlund @ 2024-06-24 14:41 UTC (permalink / raw)
To: Mauro Carvalho Chehab, Laurent Pinchart, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Geert Uytterhoeven,
linux-media, devicetree
Cc: linux-renesas-soc, Niklas Söderlund
Add the Gen4 family compatible. This will be used instead of a SoC
specific compatible for the new Gen4 SoC V4M being added. As the first
Gen4 board V4H had already been added prior to the Gen4 family fallback
was added this need to be keep for backward compatibility.
While at it reduce the info structure bloat and reuse the Gen4 info
structure for V3U (R8A779A0), which is the last Gen3 board but that had
a completely new video capture design that is compatible with Gen4 VIN.
Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
---
* Changes since v3
- Reworked to deal with a Gen4 family compatible instead of a V4M SoC
specific one.
- Dropped review tags.
* 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.
---
.../platform/renesas/rcar-vin/rcar-core.c | 23 +++++++++----------
1 file changed, 11 insertions(+), 12 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..a8b6895de66d 100644
--- a/drivers/media/platform/renesas/rcar-vin/rcar-core.c
+++ b/drivers/media/platform/renesas/rcar-vin/rcar-core.c
@@ -1274,16 +1274,7 @@ static const struct rvin_info rcar_info_r8a77995 = {
.scaler = rvin_scaler_gen3,
};
-static const struct rvin_info rcar_info_r8a779a0 = {
- .model = RCAR_GEN3,
- .use_mc = true,
- .use_isp = true,
- .nv12 = true,
- .max_width = 4096,
- .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,
@@ -1355,11 +1346,19 @@ static const struct of_device_id rvin_of_id_table[] = {
},
{
.compatible = "renesas,vin-r8a779a0",
- .data = &rcar_info_r8a779a0,
+ .data = &rcar_info_gen4,
},
{
+ /*
+ * Needed for compatibility with old DTS files as it was added
+ * before the Gen4 family compatible.
+ */
.compatible = "renesas,vin-r8a779g0",
- .data = &rcar_info_r8a779g0,
+ .data = &rcar_info_gen4,
+ },
+ {
+ .compatible = "renesas,rcar-gen4-vin",
+ .data = &rcar_info_gen4,
},
{ /* Sentinel */ },
};
--
2.45.2
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH v4 4/5] dt-bindings: media: renesas,vin: Add binding for V4M
2024-06-24 14:41 [PATCH v4 0/5] rcar-vin: Add support for R-Car V4M Niklas Söderlund
` (2 preceding siblings ...)
2024-06-24 14:41 ` [PATCH v4 3/5] media: rcar-vin: Add family compatible for R-Car Gen4 family Niklas Söderlund
@ 2024-06-24 14:41 ` Niklas Söderlund
2024-06-26 11:39 ` Conor Dooley
2024-07-02 7:58 ` Geert Uytterhoeven
2024-06-24 14:41 ` [PATCH v4 5/5] arm64: dts: renesas: r8a779h0: Add family fallback for VIN IP Niklas Söderlund
4 siblings, 2 replies; 14+ messages in thread
From: Niklas Söderlund @ 2024-06-24 14:41 UTC (permalink / raw)
To: Mauro Carvalho Chehab, Laurent Pinchart, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Geert Uytterhoeven,
linux-media, devicetree
Cc: linux-renesas-soc, Niklas Söderlund
Document support for the VIN module in the Renesas V4M (r8a779h0) SoC.
This device is compatible with the VIN module on the other Gen4 SoC,
V4H.
Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
---
* Changes since v3
- State in commit message that device is compatible with the other Gen4
device.
---
Documentation/devicetree/bindings/media/renesas,vin.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/media/renesas,vin.yaml b/Documentation/devicetree/bindings/media/renesas,vin.yaml
index c3ef4fde7baf..ec8a8d87dc24 100644
--- a/Documentation/devicetree/bindings/media/renesas,vin.yaml
+++ b/Documentation/devicetree/bindings/media/renesas,vin.yaml
@@ -56,6 +56,7 @@ properties:
- items:
- enum:
- renesas,vin-r8a779g0 # R-Car V4H
+ - renesas,vin-r8a779h0 # R-Car V4M
- const: renesas,rcar-gen4-vin # Generic R-Car Gen4
reg:
--
2.45.2
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH v4 5/5] arm64: dts: renesas: r8a779h0: Add family fallback for VIN IP
2024-06-24 14:41 [PATCH v4 0/5] rcar-vin: Add support for R-Car V4M Niklas Söderlund
` (3 preceding siblings ...)
2024-06-24 14:41 ` [PATCH v4 4/5] dt-bindings: media: renesas,vin: Add binding for V4M Niklas Söderlund
@ 2024-06-24 14:41 ` Niklas Söderlund
2024-07-02 7:58 ` Geert Uytterhoeven
4 siblings, 1 reply; 14+ messages in thread
From: Niklas Söderlund @ 2024-06-24 14:41 UTC (permalink / raw)
To: Mauro Carvalho Chehab, Laurent Pinchart, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Geert Uytterhoeven,
linux-media, devicetree
Cc: linux-renesas-soc, Niklas Söderlund
The usage of the V4M VIN bindings where merged before the bindings where
approved. At that time the family fallback compatible where not part of
the bindings, add them.
Fixes: 2bb78d9fb7c9 ("arm64: dts: renesas: r8a779h0: Add video capture nodes")
Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
---
* Changes since v3
- New in v4.
---
arch/arm64/boot/dts/renesas/r8a779h0.dtsi | 48 +++++++++++++++--------
1 file changed, 32 insertions(+), 16 deletions(-)
diff --git a/arch/arm64/boot/dts/renesas/r8a779h0.dtsi b/arch/arm64/boot/dts/renesas/r8a779h0.dtsi
index 400169fe4a1a..989f567a8ba1 100644
--- a/arch/arm64/boot/dts/renesas/r8a779h0.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a779h0.dtsi
@@ -945,7 +945,8 @@ msiof5: spi@e6c28000 {
};
vin00: video@e6ef0000 {
- compatible = "renesas,vin-r8a779h0";
+ compatible = "renesas,vin-r8a779h0",
+ "renesas,rcar-gen4-vin";
reg = <0 0xe6ef0000 0 0x1000>;
interrupts = <GIC_SPI 529 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 730>;
@@ -973,7 +974,8 @@ vin00isp0: endpoint@0 {
};
vin01: video@e6ef1000 {
- compatible = "renesas,vin-r8a779h0";
+ compatible = "renesas,vin-r8a779h0",
+ "renesas,rcar-gen4-vin";
reg = <0 0xe6ef1000 0 0x1000>;
interrupts = <GIC_SPI 530 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 731>;
@@ -1001,7 +1003,8 @@ vin01isp0: endpoint@0 {
};
vin02: video@e6ef2000 {
- compatible = "renesas,vin-r8a779h0";
+ compatible = "renesas,vin-r8a779h0",
+ "renesas,rcar-gen4-vin";
reg = <0 0xe6ef2000 0 0x1000>;
interrupts = <GIC_SPI 531 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 800>;
@@ -1029,7 +1032,8 @@ vin02isp0: endpoint@0 {
};
vin03: video@e6ef3000 {
- compatible = "renesas,vin-r8a779h0";
+ compatible = "renesas,vin-r8a779h0",
+ "renesas,rcar-gen4-vin";
reg = <0 0xe6ef3000 0 0x1000>;
interrupts = <GIC_SPI 532 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 801>;
@@ -1057,7 +1061,8 @@ vin03isp0: endpoint@0 {
};
vin04: video@e6ef4000 {
- compatible = "renesas,vin-r8a779h0";
+ compatible = "renesas,vin-r8a779h0",
+ "renesas,rcar-gen4-vin";
reg = <0 0xe6ef4000 0 0x1000>;
interrupts = <GIC_SPI 533 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 802>;
@@ -1085,7 +1090,8 @@ vin04isp0: endpoint@0 {
};
vin05: video@e6ef5000 {
- compatible = "renesas,vin-r8a779h0";
+ compatible = "renesas,vin-r8a779h0",
+ "renesas,rcar-gen4-vin";
reg = <0 0xe6ef5000 0 0x1000>;
interrupts = <GIC_SPI 534 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 803>;
@@ -1113,7 +1119,8 @@ vin05isp0: endpoint@0 {
};
vin06: video@e6ef6000 {
- compatible = "renesas,vin-r8a779h0";
+ compatible = "renesas,vin-r8a779h0",
+ "renesas,rcar-gen4-vin";
reg = <0 0xe6ef6000 0 0x1000>;
interrupts = <GIC_SPI 535 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 804>;
@@ -1141,7 +1148,8 @@ vin06isp0: endpoint@0 {
};
vin07: video@e6ef7000 {
- compatible = "renesas,vin-r8a779h0";
+ compatible = "renesas,vin-r8a779h0",
+ "renesas,rcar-gen4-vin";
reg = <0 0xe6ef7000 0 0x1000>;
interrupts = <GIC_SPI 536 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 805>;
@@ -1169,7 +1177,8 @@ vin07isp0: endpoint@0 {
};
vin08: video@e6ef8000 {
- compatible = "renesas,vin-r8a779h0";
+ compatible = "renesas,vin-r8a779h0",
+ "renesas,rcar-gen4-vin";
reg = <0 0xe6ef8000 0 0x1000>;
interrupts = <GIC_SPI 537 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 806>;
@@ -1197,7 +1206,8 @@ vin08isp1: endpoint@1 {
};
vin09: video@e6ef9000 {
- compatible = "renesas,vin-r8a779h0";
+ compatible = "renesas,vin-r8a779h0",
+ "renesas,rcar-gen4-vin";
reg = <0 0xe6ef9000 0 0x1000>;
interrupts = <GIC_SPI 538 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 807>;
@@ -1225,7 +1235,8 @@ vin09isp1: endpoint@1 {
};
vin10: video@e6efa000 {
- compatible = "renesas,vin-r8a779h0";
+ compatible = "renesas,vin-r8a779h0",
+ "renesas,rcar-gen4-vin";
reg = <0 0xe6efa000 0 0x1000>;
interrupts = <GIC_SPI 539 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 808>;
@@ -1253,7 +1264,8 @@ vin10isp1: endpoint@1 {
};
vin11: video@e6efb000 {
- compatible = "renesas,vin-r8a779h0";
+ compatible = "renesas,vin-r8a779h0",
+ "renesas,rcar-gen4-vin";
reg = <0 0xe6efb000 0 0x1000>;
interrupts = <GIC_SPI 540 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 809>;
@@ -1281,7 +1293,8 @@ vin11isp1: endpoint@1 {
};
vin12: video@e6efc000 {
- compatible = "renesas,vin-r8a779h0";
+ compatible = "renesas,vin-r8a779h0",
+ "renesas,rcar-gen4-vin";
reg = <0 0xe6efc000 0 0x1000>;
interrupts = <GIC_SPI 541 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 810>;
@@ -1309,7 +1322,8 @@ vin12isp1: endpoint@1 {
};
vin13: video@e6efd000 {
- compatible = "renesas,vin-r8a779h0";
+ compatible = "renesas,vin-r8a779h0",
+ "renesas,rcar-gen4-vin";
reg = <0 0xe6efd000 0 0x1000>;
interrupts = <GIC_SPI 542 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 811>;
@@ -1337,7 +1351,8 @@ vin13isp1: endpoint@1 {
};
vin14: video@e6efe000 {
- compatible = "renesas,vin-r8a779h0";
+ compatible = "renesas,vin-r8a779h0",
+ "renesas,rcar-gen4-vin";
reg = <0 0xe6efe000 0 0x1000>;
interrupts = <GIC_SPI 543 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 812>;
@@ -1365,7 +1380,8 @@ vin14isp1: endpoint@1 {
};
vin15: video@e6eff000 {
- compatible = "renesas,vin-r8a779h0";
+ compatible = "renesas,vin-r8a779h0",
+ "renesas,rcar-gen4-vin";
reg = <0 0xe6eff000 0 0x1000>;
interrupts = <GIC_SPI 544 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 813>;
--
2.45.2
^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH v4 4/5] dt-bindings: media: renesas,vin: Add binding for V4M
2024-06-24 14:41 ` [PATCH v4 4/5] dt-bindings: media: renesas,vin: Add binding for V4M Niklas Söderlund
@ 2024-06-26 11:39 ` Conor Dooley
2024-07-02 7:58 ` Geert Uytterhoeven
1 sibling, 0 replies; 14+ messages in thread
From: Conor Dooley @ 2024-06-26 11:39 UTC (permalink / raw)
To: Niklas Söderlund
Cc: Mauro Carvalho Chehab, Laurent Pinchart, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Geert Uytterhoeven,
linux-media, devicetree, linux-renesas-soc
[-- Attachment #1: Type: text/plain, Size: 1301 bytes --]
On Mon, Jun 24, 2024 at 04:41:07PM +0200, Niklas Söderlund wrote:
> Document support for the VIN module in the Renesas V4M (r8a779h0) SoC.
> This device is compatible with the VIN module on the other Gen4 SoC,
> V4H.
Provided a family compatible like this actually makes sense, and is not
just being done to appease my want of a fallback:
Acked-by: Conor Dooley <conor.dooley@microchip.com>
>
> Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
> ---
> * Changes since v3
> - State in commit message that device is compatible with the other Gen4
> device.
> ---
> Documentation/devicetree/bindings/media/renesas,vin.yaml | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/Documentation/devicetree/bindings/media/renesas,vin.yaml b/Documentation/devicetree/bindings/media/renesas,vin.yaml
> index c3ef4fde7baf..ec8a8d87dc24 100644
> --- a/Documentation/devicetree/bindings/media/renesas,vin.yaml
> +++ b/Documentation/devicetree/bindings/media/renesas,vin.yaml
> @@ -56,6 +56,7 @@ properties:
> - items:
> - enum:
> - renesas,vin-r8a779g0 # R-Car V4H
> + - renesas,vin-r8a779h0 # R-Car V4M
> - const: renesas,rcar-gen4-vin # Generic R-Car Gen4
>
> reg:
> --
> 2.45.2
>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v4 1/5] dt-bindings: media: renesas,vin: Add Gen4 family fallback
2024-06-24 14:41 ` [PATCH v4 1/5] dt-bindings: media: renesas,vin: Add Gen4 family fallback Niklas Söderlund
@ 2024-06-26 11:44 ` Conor Dooley
2024-07-02 7:52 ` Geert Uytterhoeven
1 sibling, 0 replies; 14+ messages in thread
From: Conor Dooley @ 2024-06-26 11:44 UTC (permalink / raw)
To: Niklas Söderlund
Cc: Mauro Carvalho Chehab, Laurent Pinchart, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Geert Uytterhoeven,
linux-media, devicetree, linux-renesas-soc
[-- Attachment #1: Type: text/plain, Size: 2348 bytes --]
On Mon, Jun 24, 2024 at 04:41:04PM +0200, Niklas Söderlund wrote:
> The two Gen4 SoCs released (V4H and V4M) that have a video capture
> pipeline the VIN IP are very similar.
>
> 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, values are
> 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.
>
> Before adding bindings for V4M add a family compatible fallback for
> Gen4. That way the driver only needs to be updated once for Gen4, and we
> still have the option to fix any problems in the driver if any testable
> differences between the two SoCs is found.
>
> There are already DTS files using the renesas,vin-r8a779g0 compatible
> which needs to be updated to not produce a warning for DTS checks. And
> the driver will need to kept compatible with renesas,vin-r8a779g0, but
> for new Gen4 SoCs such as V4M we can avoid this.
>
> Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Same caveat here. Using the g model as a fallback is, as we already
discussed, an option too and would be less disruptive.
Acked-by: Conor Dooley <conor.dooley@microchip.com>
> ---
> * Changes since v3
> - New in v4.
> ---
> Documentation/devicetree/bindings/media/renesas,vin.yaml | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/media/renesas,vin.yaml b/Documentation/devicetree/bindings/media/renesas,vin.yaml
> index 5539d0f8e74d..c3ef4fde7baf 100644
> --- a/Documentation/devicetree/bindings/media/renesas,vin.yaml
> +++ b/Documentation/devicetree/bindings/media/renesas,vin.yaml
> @@ -53,7 +53,10 @@ properties:
> - renesas,vin-r8a77990 # R-Car E3
> - renesas,vin-r8a77995 # R-Car D3
> - renesas,vin-r8a779a0 # R-Car V3U
> + - items:
> + - enum:
> - renesas,vin-r8a779g0 # R-Car V4H
> + - const: renesas,rcar-gen4-vin # Generic R-Car Gen4
>
> reg:
> maxItems: 1
> --
> 2.45.2
>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v4 1/5] dt-bindings: media: renesas,vin: Add Gen4 family fallback
2024-06-24 14:41 ` [PATCH v4 1/5] dt-bindings: media: renesas,vin: Add Gen4 family fallback Niklas Söderlund
2024-06-26 11:44 ` Conor Dooley
@ 2024-07-02 7:52 ` Geert Uytterhoeven
2024-07-02 9:06 ` Niklas Söderlund
1 sibling, 1 reply; 14+ messages in thread
From: Geert Uytterhoeven @ 2024-07-02 7:52 UTC (permalink / raw)
To: Niklas Söderlund
Cc: Mauro Carvalho Chehab, Laurent Pinchart, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Geert Uytterhoeven,
linux-media, devicetree, linux-renesas-soc
Hi Niklas,
On Mon, Jun 24, 2024 at 4:43 PM Niklas Söderlund
<niklas.soderlund+renesas@ragnatech.se> wrote:
> The two Gen4 SoCs released (V4H and V4M) that have a video capture
> pipeline the VIN IP are very similar.
>
> 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, values are
> 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.
>
> Before adding bindings for V4M add a family compatible fallback for
> Gen4. That way the driver only needs to be updated once for Gen4, and we
> still have the option to fix any problems in the driver if any testable
> differences between the two SoCs is found.
>
> There are already DTS files using the renesas,vin-r8a779g0 compatible
> which needs to be updated to not produce a warning for DTS checks. And
> the driver will need to kept compatible with renesas,vin-r8a779g0, but
> for new Gen4 SoCs such as V4M we can avoid this.
>
> Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
> ---
> * Changes since v3
> - New in v4.
Thanks for your patch!
> --- a/Documentation/devicetree/bindings/media/renesas,vin.yaml
> +++ b/Documentation/devicetree/bindings/media/renesas,vin.yaml
> @@ -53,7 +53,10 @@ properties:
> - renesas,vin-r8a77990 # R-Car E3
> - renesas,vin-r8a77995 # R-Car D3
> - renesas,vin-r8a779a0 # R-Car V3U
I think R-Car V3U should be moved below, too, as it's the first
member of the R-Car Gen4 family, despite the name.
> + - items:
> + - enum:
> - renesas,vin-r8a779g0 # R-Car V4H
> + - const: renesas,rcar-gen4-vin # Generic R-Car Gen4
If all differences in the pipeline can be devised from the topology
in DT:
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
>
> reg:
> maxItems: 1
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v4 2/5] arm64: dts: renesas: r8a779g0: Add family fallback for VIN IP
2024-06-24 14:41 ` [PATCH v4 2/5] arm64: dts: renesas: r8a779g0: Add family fallback for VIN IP Niklas Söderlund
@ 2024-07-02 7:52 ` Geert Uytterhoeven
0 siblings, 0 replies; 14+ messages in thread
From: Geert Uytterhoeven @ 2024-07-02 7:52 UTC (permalink / raw)
To: Niklas Söderlund
Cc: Mauro Carvalho Chehab, Laurent Pinchart, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, linux-media, devicetree,
linux-renesas-soc
On Mon, Jun 24, 2024 at 4:43 PM Niklas Söderlund
<niklas.soderlund+renesas@ragnatech.se> wrote:
> To make it easier to support new Gen4 SoCs a family fallback compatible
> similar to what is used for Gen2 have been added to the VIN bindings.
> Add this fallback to the V4H DTSI.
>
> There is no functional change, but the addition of the family fallback
> in the bindings produces warnings for V4H for DTS checks if they are not
> added.
>
> Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
> ---
> * Changes since v3
> - New in v4.
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v4 3/5] media: rcar-vin: Add family compatible for R-Car Gen4 family
2024-06-24 14:41 ` [PATCH v4 3/5] media: rcar-vin: Add family compatible for R-Car Gen4 family Niklas Söderlund
@ 2024-07-02 7:57 ` Geert Uytterhoeven
0 siblings, 0 replies; 14+ messages in thread
From: Geert Uytterhoeven @ 2024-07-02 7:57 UTC (permalink / raw)
To: Niklas Söderlund
Cc: Mauro Carvalho Chehab, Laurent Pinchart, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Geert Uytterhoeven,
linux-media, devicetree, linux-renesas-soc
Hi Niklas,
Thanks for your patch!
On Mon, Jun 24, 2024 at 4:43 PM Niklas Söderlund
<niklas.soderlund+renesas@ragnatech.se> wrote:
> Add the Gen4 family compatible. This will be used instead of a SoC
> specific compatible for the new Gen4 SoC V4M being added. As the first
> Gen4 board V4H had already been added prior to the Gen4 family fallback
> was added this need to be keep for backward compatibility.
>
> While at it reduce the info structure bloat and reuse the Gen4 info
> structure for V3U (R8A779A0), which is the last Gen3 board but that had
> a completely new video capture design that is compatible with Gen4 VIN.
Despite the name, R-Car V3U was the first member of the R-Car Gen4 family, .
> Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
> --- a/drivers/media/platform/renesas/rcar-vin/rcar-core.c
> +++ b/drivers/media/platform/renesas/rcar-vin/rcar-core.c
> @@ -1274,16 +1274,7 @@ static const struct rvin_info rcar_info_r8a77995 = {
> .scaler = rvin_scaler_gen3,
> };
>
> -static const struct rvin_info rcar_info_r8a779a0 = {
> - .model = RCAR_GEN3,
> - .use_mc = true,
> - .use_isp = true,
> - .nv12 = true,
> - .max_width = 4096,
> - .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,
> @@ -1355,11 +1346,19 @@ static const struct of_device_id rvin_of_id_table[] = {
> },
> {
> .compatible = "renesas,vin-r8a779a0",
> - .data = &rcar_info_r8a779a0,
> + .data = &rcar_info_gen4,
> },
> {
> + /*
> + * Needed for compatibility with old DTS files as it was added
> + * before the Gen4 family compatible.
> + */
Iff this comment is retained, it should be moved up to cover both
the r8a779a0 and r8a779g0 entries.
> .compatible = "renesas,vin-r8a779g0",
> - .data = &rcar_info_r8a779g0,
> + .data = &rcar_info_gen4,
> + },
> + {
> + .compatible = "renesas,rcar-gen4-vin",
> + .data = &rcar_info_gen4,
> },
> { /* Sentinel */ },
> };
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v4 4/5] dt-bindings: media: renesas,vin: Add binding for V4M
2024-06-24 14:41 ` [PATCH v4 4/5] dt-bindings: media: renesas,vin: Add binding for V4M Niklas Söderlund
2024-06-26 11:39 ` Conor Dooley
@ 2024-07-02 7:58 ` Geert Uytterhoeven
1 sibling, 0 replies; 14+ messages in thread
From: Geert Uytterhoeven @ 2024-07-02 7:58 UTC (permalink / raw)
To: Niklas Söderlund
Cc: Mauro Carvalho Chehab, Laurent Pinchart, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Geert Uytterhoeven,
linux-media, devicetree, linux-renesas-soc
On Mon, Jun 24, 2024 at 4:43 PM Niklas Söderlund
<niklas.soderlund+renesas@ragnatech.se> wrote:
> Document support for the VIN module in the Renesas V4M (r8a779h0) SoC.
> This device is compatible with the VIN module on the other Gen4 SoC,
> V4H.
>
> Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
> ---
> * Changes since v3
> - State in commit message that device is compatible with the other Gen4
> device.
If all differences in the pipeline can be devised from the topology
in DT:
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v4 5/5] arm64: dts: renesas: r8a779h0: Add family fallback for VIN IP
2024-06-24 14:41 ` [PATCH v4 5/5] arm64: dts: renesas: r8a779h0: Add family fallback for VIN IP Niklas Söderlund
@ 2024-07-02 7:58 ` Geert Uytterhoeven
0 siblings, 0 replies; 14+ messages in thread
From: Geert Uytterhoeven @ 2024-07-02 7:58 UTC (permalink / raw)
To: Niklas Söderlund
Cc: Mauro Carvalho Chehab, Laurent Pinchart, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, linux-media, devicetree,
linux-renesas-soc
On Mon, Jun 24, 2024 at 4:43 PM Niklas Söderlund
<niklas.soderlund+renesas@ragnatech.se> wrote:
> The usage of the V4M VIN bindings where merged before the bindings where
> approved. At that time the family fallback compatible where not part of
> the bindings, add them.
>
> Fixes: 2bb78d9fb7c9 ("arm64: dts: renesas: r8a779h0: Add video capture nodes")
> Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
> ---
> * Changes since v3
> - New in v4.
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v4 1/5] dt-bindings: media: renesas,vin: Add Gen4 family fallback
2024-07-02 7:52 ` Geert Uytterhoeven
@ 2024-07-02 9:06 ` Niklas Söderlund
0 siblings, 0 replies; 14+ messages in thread
From: Niklas Söderlund @ 2024-07-02 9:06 UTC (permalink / raw)
To: Geert Uytterhoeven
Cc: Mauro Carvalho Chehab, Laurent Pinchart, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Geert Uytterhoeven,
linux-media, devicetree, linux-renesas-soc
Hi Geert,
Thanks for your review.
On 2024-07-02 09:52:08 +0200, Geert Uytterhoeven wrote:
> Hi Niklas,
>
> On Mon, Jun 24, 2024 at 4:43 PM Niklas Söderlund
> <niklas.soderlund+renesas@ragnatech.se> wrote:
> > The two Gen4 SoCs released (V4H and V4M) that have a video capture
> > pipeline the VIN IP are very similar.
> >
> > 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, values are
> > 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.
> >
> > Before adding bindings for V4M add a family compatible fallback for
> > Gen4. That way the driver only needs to be updated once for Gen4, and we
> > still have the option to fix any problems in the driver if any testable
> > differences between the two SoCs is found.
> >
> > There are already DTS files using the renesas,vin-r8a779g0 compatible
> > which needs to be updated to not produce a warning for DTS checks. And
> > the driver will need to kept compatible with renesas,vin-r8a779g0, but
> > for new Gen4 SoCs such as V4M we can avoid this.
> >
> > Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
> > ---
> > * Changes since v3
> > - New in v4.
>
> Thanks for your patch!
>
> > --- a/Documentation/devicetree/bindings/media/renesas,vin.yaml
> > +++ b/Documentation/devicetree/bindings/media/renesas,vin.yaml
> > @@ -53,7 +53,10 @@ properties:
> > - renesas,vin-r8a77990 # R-Car E3
> > - renesas,vin-r8a77995 # R-Car D3
> > - renesas,vin-r8a779a0 # R-Car V3U
>
> I think R-Car V3U should be moved below, too, as it's the first
> member of the R-Car Gen4 family, despite the name.
I was a bit conflicted about if I should do this and opted to for the
least intrusive change. But the change seems to have landed on a good
note, I will do a new version that covers V3U as well.
>
> > + - items:
> > + - enum:
> > - renesas,vin-r8a779g0 # R-Car V4H
> > + - const: renesas,rcar-gen4-vin # Generic R-Car Gen4
>
> If all differences in the pipeline can be devised from the topology
> in DT:
It can.
> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Thanks!
>
> >
> > reg:
> > maxItems: 1
>
> Gr{oetje,eeting}s,
>
> Geert
>
> --
> Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
>
> In personal conversations with technical people, I call myself a hacker. But
> when I'm talking to journalists I just say "programmer" or something like that.
> -- Linus Torvalds
--
Kind Regards,
Niklas Söderlund
^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2024-07-02 9:06 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-06-24 14:41 [PATCH v4 0/5] rcar-vin: Add support for R-Car V4M Niklas Söderlund
2024-06-24 14:41 ` [PATCH v4 1/5] dt-bindings: media: renesas,vin: Add Gen4 family fallback Niklas Söderlund
2024-06-26 11:44 ` Conor Dooley
2024-07-02 7:52 ` Geert Uytterhoeven
2024-07-02 9:06 ` Niklas Söderlund
2024-06-24 14:41 ` [PATCH v4 2/5] arm64: dts: renesas: r8a779g0: Add family fallback for VIN IP Niklas Söderlund
2024-07-02 7:52 ` Geert Uytterhoeven
2024-06-24 14:41 ` [PATCH v4 3/5] media: rcar-vin: Add family compatible for R-Car Gen4 family Niklas Söderlund
2024-07-02 7:57 ` Geert Uytterhoeven
2024-06-24 14:41 ` [PATCH v4 4/5] dt-bindings: media: renesas,vin: Add binding for V4M Niklas Söderlund
2024-06-26 11:39 ` Conor Dooley
2024-07-02 7:58 ` Geert Uytterhoeven
2024-06-24 14:41 ` [PATCH v4 5/5] arm64: dts: renesas: r8a779h0: Add family fallback for VIN IP Niklas Söderlund
2024-07-02 7:58 ` Geert Uytterhoeven
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).