* [PATCH v5 0/6] rcar-vin: Add support for R-Car V4M
@ 2024-07-04 16:16 Niklas Söderlund
2024-07-04 16:16 ` [PATCH v5 1/6] dt-bindings: media: renesas,vin: Add Gen4 family fallback Niklas Söderlund
` (6 more replies)
0 siblings, 7 replies; 18+ messages in thread
From: Niklas Söderlund @ 2024-07-04 16:16 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 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 to add this new family
fallback. This is done in a backward compatible way and the driver
retains the compatible values.
See individual patches for changes since previous versions.
Niklas Söderlund (6):
dt-bindings: media: renesas,vin: Add Gen4 family fallback
arm64: dts: renesas: r8a779g0: Add family fallback for VIN IP
arm64: dts: renesas: r8a779a0: 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/r8a779a0.dtsi | 96 ++++++++++++-------
arch/arm64/boot/dts/renesas/r8a779g0.dtsi | 48 ++++++----
arch/arm64/boot/dts/renesas/r8a779h0.dtsi | 48 ++++++----
.../platform/renesas/rcar-vin/rcar-core.c | 21 ++--
5 files changed, 141 insertions(+), 76 deletions(-)
--
2.45.2
^ permalink raw reply [flat|nested] 18+ messages in thread
* [PATCH v5 1/6] dt-bindings: media: renesas,vin: Add Gen4 family fallback
2024-07-04 16:16 [PATCH v5 0/6] rcar-vin: Add support for R-Car V4M Niklas Söderlund
@ 2024-07-04 16:16 ` Niklas Söderlund
2024-08-23 13:37 ` Laurent Pinchart
2024-08-28 11:26 ` Krzysztof Kozlowski
2024-07-04 16:16 ` [PATCH v5 2/6] arm64: dts: renesas: r8a779g0: Add family fallback for VIN IP Niklas Söderlund
` (5 subsequent siblings)
6 siblings, 2 replies; 18+ messages in thread
From: Niklas Söderlund @ 2024-07-04 16:16 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, Conor Dooley
The Gen4 SoCs V3U, V4H and V4M have a similar video capture pipelines.
The datasheets for the 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 SoCs are found.
There are already DTS files using the V3U and V4H compatibles which
needs to be updated to not produce a warning for DTS checks. The driver
also needs to kept the compatible values to be backward compatible , but
for new Gen4 SoCs such as V4M we can avoid this.
Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
---
* Changes since v4
- Added V3U to the list of Gen4 devices.
* 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..aa16f1528f2d 100644
--- a/Documentation/devicetree/bindings/media/renesas,vin.yaml
+++ b/Documentation/devicetree/bindings/media/renesas,vin.yaml
@@ -52,8 +52,11 @@ properties:
- renesas,vin-r8a77980 # R-Car V3H
- renesas,vin-r8a77990 # R-Car E3
- renesas,vin-r8a77995 # R-Car D3
+ - items:
+ - enum:
- renesas,vin-r8a779a0 # R-Car V3U
- 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] 18+ messages in thread
* [PATCH v5 2/6] arm64: dts: renesas: r8a779g0: Add family fallback for VIN IP
2024-07-04 16:16 [PATCH v5 0/6] rcar-vin: Add support for R-Car V4M Niklas Söderlund
2024-07-04 16:16 ` [PATCH v5 1/6] dt-bindings: media: renesas,vin: Add Gen4 family fallback Niklas Söderlund
@ 2024-07-04 16:16 ` Niklas Söderlund
2024-08-23 13:39 ` Laurent Pinchart
2024-07-04 16:16 ` [PATCH v5 3/6] arm64: dts: renesas: r8a779a0: " Niklas Söderlund
` (4 subsequent siblings)
6 siblings, 1 reply; 18+ messages in thread
From: Niklas Söderlund @ 2024-07-04 16:16 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>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
---
* 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 c5fc414928c9..9e75b3f4d317 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] 18+ messages in thread
* [PATCH v5 3/6] arm64: dts: renesas: r8a779a0: Add family fallback for VIN IP
2024-07-04 16:16 [PATCH v5 0/6] rcar-vin: Add support for R-Car V4M Niklas Söderlund
2024-07-04 16:16 ` [PATCH v5 1/6] dt-bindings: media: renesas,vin: Add Gen4 family fallback Niklas Söderlund
2024-07-04 16:16 ` [PATCH v5 2/6] arm64: dts: renesas: r8a779g0: Add family fallback for VIN IP Niklas Söderlund
@ 2024-07-04 16:16 ` Niklas Söderlund
2024-08-20 7:30 ` Geert Uytterhoeven
2024-08-23 13:40 ` Laurent Pinchart
2024-07-04 16:16 ` [PATCH v5 4/6] media: rcar-vin: Add family compatible for R-Car Gen4 family Niklas Söderlund
` (3 subsequent siblings)
6 siblings, 2 replies; 18+ messages in thread
From: Niklas Söderlund @ 2024-07-04 16:16 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 V3U DTSI.
There is no functional change, but the addition of the family fallback
in the bindings produces warnings for V3U for DTS checks if they are not
added.
Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
---
* Changes since v4
- New in v5.
---
arch/arm64/boot/dts/renesas/r8a779a0.dtsi | 96 +++++++++++++++--------
1 file changed, 64 insertions(+), 32 deletions(-)
diff --git a/arch/arm64/boot/dts/renesas/r8a779a0.dtsi b/arch/arm64/boot/dts/renesas/r8a779a0.dtsi
index 395f8d43ce2d..9870455714da 100644
--- a/arch/arm64/boot/dts/renesas/r8a779a0.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a779a0.dtsi
@@ -1176,7 +1176,8 @@ msiof5: spi@e6c28000 {
};
vin00: video@e6ef0000 {
- compatible = "renesas,vin-r8a779a0";
+ compatible = "renesas,vin-r8a779a0",
+ "renesas,rcar-gen4-vin";
reg = <0 0xe6ef0000 0 0x1000>;
interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 730>;
@@ -1204,7 +1205,8 @@ vin00isp0: endpoint@0 {
};
vin01: video@e6ef1000 {
- compatible = "renesas,vin-r8a779a0";
+ compatible = "renesas,vin-r8a779a0",
+ "renesas,rcar-gen4-vin";
reg = <0 0xe6ef1000 0 0x1000>;
interrupts = <GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 731>;
@@ -1232,7 +1234,8 @@ vin01isp0: endpoint@0 {
};
vin02: video@e6ef2000 {
- compatible = "renesas,vin-r8a779a0";
+ compatible = "renesas,vin-r8a779a0",
+ "renesas,rcar-gen4-vin";
reg = <0 0xe6ef2000 0 0x1000>;
interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 800>;
@@ -1260,7 +1263,8 @@ vin02isp0: endpoint@0 {
};
vin03: video@e6ef3000 {
- compatible = "renesas,vin-r8a779a0";
+ compatible = "renesas,vin-r8a779a0",
+ "renesas,rcar-gen4-vin";
reg = <0 0xe6ef3000 0 0x1000>;
interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 801>;
@@ -1288,7 +1292,8 @@ vin03isp0: endpoint@0 {
};
vin04: video@e6ef4000 {
- compatible = "renesas,vin-r8a779a0";
+ compatible = "renesas,vin-r8a779a0",
+ "renesas,rcar-gen4-vin";
reg = <0 0xe6ef4000 0 0x1000>;
interrupts = <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 802>;
@@ -1316,7 +1321,8 @@ vin04isp0: endpoint@0 {
};
vin05: video@e6ef5000 {
- compatible = "renesas,vin-r8a779a0";
+ compatible = "renesas,vin-r8a779a0",
+ "renesas,rcar-gen4-vin";
reg = <0 0xe6ef5000 0 0x1000>;
interrupts = <GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 803>;
@@ -1344,7 +1350,8 @@ vin05isp0: endpoint@0 {
};
vin06: video@e6ef6000 {
- compatible = "renesas,vin-r8a779a0";
+ compatible = "renesas,vin-r8a779a0",
+ "renesas,rcar-gen4-vin";
reg = <0 0xe6ef6000 0 0x1000>;
interrupts = <GIC_SPI 166 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 804>;
@@ -1372,7 +1379,8 @@ vin06isp0: endpoint@0 {
};
vin07: video@e6ef7000 {
- compatible = "renesas,vin-r8a779a0";
+ compatible = "renesas,vin-r8a779a0",
+ "renesas,rcar-gen4-vin";
reg = <0 0xe6ef7000 0 0x1000>;
interrupts = <GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 805>;
@@ -1400,7 +1408,8 @@ vin07isp0: endpoint@0 {
};
vin08: video@e6ef8000 {
- compatible = "renesas,vin-r8a779a0";
+ compatible = "renesas,vin-r8a779a0",
+ "renesas,rcar-gen4-vin";
reg = <0 0xe6ef8000 0 0x1000>;
interrupts = <GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 806>;
@@ -1428,7 +1437,8 @@ vin08isp1: endpoint@1 {
};
vin09: video@e6ef9000 {
- compatible = "renesas,vin-r8a779a0";
+ compatible = "renesas,vin-r8a779a0",
+ "renesas,rcar-gen4-vin";
reg = <0 0xe6ef9000 0 0x1000>;
interrupts = <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 807>;
@@ -1456,7 +1466,8 @@ vin09isp1: endpoint@1 {
};
vin10: video@e6efa000 {
- compatible = "renesas,vin-r8a779a0";
+ compatible = "renesas,vin-r8a779a0",
+ "renesas,rcar-gen4-vin";
reg = <0 0xe6efa000 0 0x1000>;
interrupts = <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 808>;
@@ -1484,7 +1495,8 @@ vin10isp1: endpoint@1 {
};
vin11: video@e6efb000 {
- compatible = "renesas,vin-r8a779a0";
+ compatible = "renesas,vin-r8a779a0",
+ "renesas,rcar-gen4-vin";
reg = <0 0xe6efb000 0 0x1000>;
interrupts = <GIC_SPI 171 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 809>;
@@ -1512,7 +1524,8 @@ vin11isp1: endpoint@1 {
};
vin12: video@e6efc000 {
- compatible = "renesas,vin-r8a779a0";
+ compatible = "renesas,vin-r8a779a0",
+ "renesas,rcar-gen4-vin";
reg = <0 0xe6efc000 0 0x1000>;
interrupts = <GIC_SPI 172 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 810>;
@@ -1540,7 +1553,8 @@ vin12isp1: endpoint@1 {
};
vin13: video@e6efd000 {
- compatible = "renesas,vin-r8a779a0";
+ compatible = "renesas,vin-r8a779a0",
+ "renesas,rcar-gen4-vin";
reg = <0 0xe6efd000 0 0x1000>;
interrupts = <GIC_SPI 173 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 811>;
@@ -1568,7 +1582,8 @@ vin13isp1: endpoint@1 {
};
vin14: video@e6efe000 {
- compatible = "renesas,vin-r8a779a0";
+ compatible = "renesas,vin-r8a779a0",
+ "renesas,rcar-gen4-vin";
reg = <0 0xe6efe000 0 0x1000>;
interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 812>;
@@ -1596,7 +1611,8 @@ vin14isp1: endpoint@1 {
};
vin15: video@e6eff000 {
- compatible = "renesas,vin-r8a779a0";
+ compatible = "renesas,vin-r8a779a0",
+ "renesas,rcar-gen4-vin";
reg = <0 0xe6eff000 0 0x1000>;
interrupts = <GIC_SPI 175 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 813>;
@@ -1624,7 +1640,8 @@ vin15isp1: endpoint@1 {
};
vin16: video@e6ed0000 {
- compatible = "renesas,vin-r8a779a0";
+ compatible = "renesas,vin-r8a779a0",
+ "renesas,rcar-gen4-vin";
reg = <0 0xe6ed0000 0 0x1000>;
interrupts = <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 814>;
@@ -1652,7 +1669,8 @@ vin16isp2: endpoint@2 {
};
vin17: video@e6ed1000 {
- compatible = "renesas,vin-r8a779a0";
+ compatible = "renesas,vin-r8a779a0",
+ "renesas,rcar-gen4-vin";
reg = <0 0xe6ed1000 0 0x1000>;
interrupts = <GIC_SPI 177 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 815>;
@@ -1680,7 +1698,8 @@ vin17isp2: endpoint@2 {
};
vin18: video@e6ed2000 {
- compatible = "renesas,vin-r8a779a0";
+ compatible = "renesas,vin-r8a779a0",
+ "renesas,rcar-gen4-vin";
reg = <0 0xe6ed2000 0 0x1000>;
interrupts = <GIC_SPI 178 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 816>;
@@ -1708,7 +1727,8 @@ vin18isp2: endpoint@2 {
};
vin19: video@e6ed3000 {
- compatible = "renesas,vin-r8a779a0";
+ compatible = "renesas,vin-r8a779a0",
+ "renesas,rcar-gen4-vin";
reg = <0 0xe6ed3000 0 0x1000>;
interrupts = <GIC_SPI 179 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 817>;
@@ -1736,7 +1756,8 @@ vin19isp2: endpoint@2 {
};
vin20: video@e6ed4000 {
- compatible = "renesas,vin-r8a779a0";
+ compatible = "renesas,vin-r8a779a0",
+ "renesas,rcar-gen4-vin";
reg = <0 0xe6ed4000 0 0x1000>;
interrupts = <GIC_SPI 180 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 818>;
@@ -1764,7 +1785,8 @@ vin20isp2: endpoint@2 {
};
vin21: video@e6ed5000 {
- compatible = "renesas,vin-r8a779a0";
+ compatible = "renesas,vin-r8a779a0",
+ "renesas,rcar-gen4-vin";
reg = <0 0xe6ed5000 0 0x1000>;
interrupts = <GIC_SPI 181 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 819>;
@@ -1792,7 +1814,8 @@ vin21isp2: endpoint@2 {
};
vin22: video@e6ed6000 {
- compatible = "renesas,vin-r8a779a0";
+ compatible = "renesas,vin-r8a779a0",
+ "renesas,rcar-gen4-vin";
reg = <0 0xe6ed6000 0 0x1000>;
interrupts = <GIC_SPI 182 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 820>;
@@ -1820,7 +1843,8 @@ vin22isp2: endpoint@2 {
};
vin23: video@e6ed7000 {
- compatible = "renesas,vin-r8a779a0";
+ compatible = "renesas,vin-r8a779a0",
+ "renesas,rcar-gen4-vin";
reg = <0 0xe6ed7000 0 0x1000>;
interrupts = <GIC_SPI 183 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 821>;
@@ -1848,7 +1872,8 @@ vin23isp2: endpoint@2 {
};
vin24: video@e6ed8000 {
- compatible = "renesas,vin-r8a779a0";
+ compatible = "renesas,vin-r8a779a0",
+ "renesas,rcar-gen4-vin";
reg = <0 0xe6ed8000 0 0x1000>;
interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 822>;
@@ -1876,7 +1901,8 @@ vin24isp3: endpoint@3 {
};
vin25: video@e6ed9000 {
- compatible = "renesas,vin-r8a779a0";
+ compatible = "renesas,vin-r8a779a0",
+ "renesas,rcar-gen4-vin";
reg = <0 0xe6ed9000 0 0x1000>;
interrupts = <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 823>;
@@ -1904,7 +1930,8 @@ vin25isp3: endpoint@3 {
};
vin26: video@e6eda000 {
- compatible = "renesas,vin-r8a779a0";
+ compatible = "renesas,vin-r8a779a0",
+ "renesas,rcar-gen4-vin";
reg = <0 0xe6eda000 0 0x1000>;
interrupts = <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 824>;
@@ -1932,7 +1959,8 @@ vin26isp3: endpoint@3 {
};
vin27: video@e6edb000 {
- compatible = "renesas,vin-r8a779a0";
+ compatible = "renesas,vin-r8a779a0",
+ "renesas,rcar-gen4-vin";
reg = <0 0xe6edb000 0 0x1000>;
interrupts = <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 825>;
@@ -1960,7 +1988,8 @@ vin27isp3: endpoint@3 {
};
vin28: video@e6edc000 {
- compatible = "renesas,vin-r8a779a0";
+ compatible = "renesas,vin-r8a779a0",
+ "renesas,rcar-gen4-vin";
reg = <0 0xe6edc000 0 0x1000>;
interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 826>;
@@ -1988,7 +2017,8 @@ vin28isp3: endpoint@3 {
};
vin29: video@e6edd000 {
- compatible = "renesas,vin-r8a779a0";
+ compatible = "renesas,vin-r8a779a0",
+ "renesas,rcar-gen4-vin";
reg = <0 0xe6edd000 0 0x1000>;
interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 827>;
@@ -2016,7 +2046,8 @@ vin29isp3: endpoint@3 {
};
vin30: video@e6ede000 {
- compatible = "renesas,vin-r8a779a0";
+ compatible = "renesas,vin-r8a779a0",
+ "renesas,rcar-gen4-vin";
reg = <0 0xe6ede000 0 0x1000>;
interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 828>;
@@ -2044,7 +2075,8 @@ vin30isp3: endpoint@3 {
};
vin31: video@e6edf000 {
- compatible = "renesas,vin-r8a779a0";
+ compatible = "renesas,vin-r8a779a0",
+ "renesas,rcar-gen4-vin";
reg = <0 0xe6edf000 0 0x1000>;
interrupts = <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cpg CPG_MOD 829>;
--
2.45.2
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PATCH v5 4/6] media: rcar-vin: Add family compatible for R-Car Gen4 family
2024-07-04 16:16 [PATCH v5 0/6] rcar-vin: Add support for R-Car V4M Niklas Söderlund
` (2 preceding siblings ...)
2024-07-04 16:16 ` [PATCH v5 3/6] arm64: dts: renesas: r8a779a0: " Niklas Söderlund
@ 2024-07-04 16:16 ` Niklas Söderlund
2024-08-23 13:40 ` Laurent Pinchart
2024-07-04 16:16 ` [PATCH v5 5/6] dt-bindings: media: renesas,vin: Add binding for V4M Niklas Söderlund
` (2 subsequent siblings)
6 siblings, 1 reply; 18+ messages in thread
From: Niklas Söderlund @ 2024-07-04 16:16 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. Two Gen4 boards (V3U and
V4H) have already been added prior and their bindings need to be kept
for backward compatibility.
Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
---
* Changes since v4
- Extend to cover V3U as well, which despite the name is the first Gen4
board.
* 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 structure.
---
.../platform/renesas/rcar-vin/rcar-core.c | 21 ++++++++-----------
1 file changed, 9 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..695d884a22d1 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,
@@ -1354,12 +1345,18 @@ static const struct of_device_id rvin_of_id_table[] = {
.data = &rcar_info_r8a77995,
},
{
+ /* Keep to be compatible with old DTS files. */
.compatible = "renesas,vin-r8a779a0",
- .data = &rcar_info_r8a779a0,
+ .data = &rcar_info_gen4,
},
{
+ /* Keep to be compatible with old DTS files. */
.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] 18+ messages in thread
* [PATCH v5 5/6] dt-bindings: media: renesas,vin: Add binding for V4M
2024-07-04 16:16 [PATCH v5 0/6] rcar-vin: Add support for R-Car V4M Niklas Söderlund
` (3 preceding siblings ...)
2024-07-04 16:16 ` [PATCH v5 4/6] media: rcar-vin: Add family compatible for R-Car Gen4 family Niklas Söderlund
@ 2024-07-04 16:16 ` Niklas Söderlund
2024-08-23 13:41 ` Laurent Pinchart
2024-07-04 16:16 ` [PATCH v5 6/6] arm64: dts: renesas: r8a779h0: Add family fallback for VIN IP Niklas Söderlund
2024-08-20 7:34 ` [PATCH v5 0/6] rcar-vin: Add support for R-Car V4M Geert Uytterhoeven
6 siblings, 1 reply; 18+ messages in thread
From: Niklas Söderlund @ 2024-07-04 16:16 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, Conor Dooley
Document support for the VIN module in the Renesas V4M (r8a779h0) SoC.
This device is compatible with the VIN module on the other Gen4 SoCs.
Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
---
* 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 aa16f1528f2d..cf54176f4fbd 100644
--- a/Documentation/devicetree/bindings/media/renesas,vin.yaml
+++ b/Documentation/devicetree/bindings/media/renesas,vin.yaml
@@ -56,6 +56,7 @@ properties:
- enum:
- renesas,vin-r8a779a0 # R-Car V3U
- 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] 18+ messages in thread
* [PATCH v5 6/6] arm64: dts: renesas: r8a779h0: Add family fallback for VIN IP
2024-07-04 16:16 [PATCH v5 0/6] rcar-vin: Add support for R-Car V4M Niklas Söderlund
` (4 preceding siblings ...)
2024-07-04 16:16 ` [PATCH v5 5/6] dt-bindings: media: renesas,vin: Add binding for V4M Niklas Söderlund
@ 2024-07-04 16:16 ` Niklas Söderlund
2024-08-23 13:42 ` Laurent Pinchart
2024-08-20 7:34 ` [PATCH v5 0/6] rcar-vin: Add support for R-Car V4M Geert Uytterhoeven
6 siblings, 1 reply; 18+ messages in thread
From: Niklas Söderlund @ 2024-07-04 16:16 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>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
---
* 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 8f5763b5f267..b9f49288a115 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] 18+ messages in thread
* Re: [PATCH v5 3/6] arm64: dts: renesas: r8a779a0: Add family fallback for VIN IP
2024-07-04 16:16 ` [PATCH v5 3/6] arm64: dts: renesas: r8a779a0: " Niklas Söderlund
@ 2024-08-20 7:30 ` Geert Uytterhoeven
2024-08-23 13:40 ` Laurent Pinchart
1 sibling, 0 replies; 18+ messages in thread
From: Geert Uytterhoeven @ 2024-08-20 7:30 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 Thu, Jul 4, 2024 at 6:16 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 V3U DTSI.
>
> There is no functional change, but the addition of the family fallback
> in the bindings produces warnings for V3U for DTS checks if they are not
> added.
>
> Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
> ---
> * Changes since v4
> - New in v5.
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] 18+ messages in thread
* Re: [PATCH v5 0/6] rcar-vin: Add support for R-Car V4M
2024-07-04 16:16 [PATCH v5 0/6] rcar-vin: Add support for R-Car V4M Niklas Söderlund
` (5 preceding siblings ...)
2024-07-04 16:16 ` [PATCH v5 6/6] arm64: dts: renesas: r8a779h0: Add family fallback for VIN IP Niklas Söderlund
@ 2024-08-20 7:34 ` Geert Uytterhoeven
2024-08-21 11:51 ` Niklas Söderlund
6 siblings, 1 reply; 18+ messages in thread
From: Geert Uytterhoeven @ 2024-08-20 7:34 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, helpdesk
On Thu, Jul 4, 2024 at 6:16 PM Niklas Söderlund
<niklas.soderlund+renesas@ragnatech.se> wrote:
> 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 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 to add this new family
> fallback. This is done in a backward compatible way and the driver
> retains the compatible values.
>
> See individual patches for changes since previous versions.
>
> Niklas Söderlund (6):
> dt-bindings: media: renesas,vin: Add Gen4 family fallback
> arm64: dts: renesas: r8a779g0: Add family fallback for VIN IP
> arm64: dts: renesas: r8a779a0: 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
Any chance the media parts can be accepted, so I can take the DTS
patches through the Renesas tree?
BTW, running b4 seems to add two bogus Acked-by tags from Conor:
$ b4 am 20240704161620.1425409-3-niklas.soderlund+renesas@ragnatech.se
Analyzing 7 messages in the thread
Analyzing 14 code-review messages
Checking attestation on all messages, may take a moment...
---
✗ [PATCH v5 1/6] dt-bindings: media: renesas,vin: Add Gen4 family fallback
✗ [PATCH v5 2/6] arm64: dts: renesas: r8a779g0: Add family fallback for VIN IP
+ Acked-by: Conor Dooley <conor.dooley@microchip.com> (✓ DKIM/kernel.org)
✗ [PATCH v5 3/6] arm64: dts: renesas: r8a779a0: Add family fallback for VIN IP
✗ [PATCH v5 4/6] media: rcar-vin: Add family compatible for R-Car Gen4 family
✗ [PATCH v5 5/6] dt-bindings: media: renesas,vin: Add binding for V4M
✗ [PATCH v5 6/6] arm64: dts: renesas: r8a779h0: Add family fallback for VIN IP
+ Acked-by: Conor Dooley <conor.dooley@microchip.com> (✓ DKIM/kernel.org)
I cannot find these Acks in my inbox or on lore.
What's happening?
Thanks!
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] 18+ messages in thread
* Re: [PATCH v5 0/6] rcar-vin: Add support for R-Car V4M
2024-08-20 7:34 ` [PATCH v5 0/6] rcar-vin: Add support for R-Car V4M Geert Uytterhoeven
@ 2024-08-21 11:51 ` Niklas Söderlund
2024-08-23 13:51 ` Laurent Pinchart
0 siblings, 1 reply; 18+ messages in thread
From: Niklas Söderlund @ 2024-08-21 11:51 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, helpdesk
Hello,
On 2024-08-20 09:34:55 +0200, Geert Uytterhoeven wrote:
> On Thu, Jul 4, 2024 at 6:16 PM Niklas Söderlund
> <niklas.soderlund+renesas@ragnatech.se> wrote:
> > 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 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 to add this new family
> > fallback. This is done in a backward compatible way and the driver
> > retains the compatible values.
> >
> > See individual patches for changes since previous versions.
> >
> > Niklas Söderlund (6):
> > dt-bindings: media: renesas,vin: Add Gen4 family fallback
> > arm64: dts: renesas: r8a779g0: Add family fallback for VIN IP
> > arm64: dts: renesas: r8a779a0: 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
>
> Any chance the media parts can be accepted, so I can take the DTS
> patches through the Renesas tree?
I would be happy to have some feedback on the media parts as well as I
will need to send a very similar series for the rcar-isp driver to add a
family fallback for Gen4. But I have hold of on posting them until I
knew this is the correct path forward.
>
> BTW, running b4 seems to add two bogus Acked-by tags from Conor:
>
> $ b4 am 20240704161620.1425409-3-niklas.soderlund+renesas@ragnatech.se
> Analyzing 7 messages in the thread
> Analyzing 14 code-review messages
> Checking attestation on all messages, may take a moment...
> ---
> ✗ [PATCH v5 1/6] dt-bindings: media: renesas,vin: Add Gen4 family fallback
> ✗ [PATCH v5 2/6] arm64: dts: renesas: r8a779g0: Add family fallback for VIN IP
> + Acked-by: Conor Dooley <conor.dooley@microchip.com> (✓ DKIM/kernel.org)
> ✗ [PATCH v5 3/6] arm64: dts: renesas: r8a779a0: Add family fallback for VIN IP
> ✗ [PATCH v5 4/6] media: rcar-vin: Add family compatible for R-Car Gen4 family
> ✗ [PATCH v5 5/6] dt-bindings: media: renesas,vin: Add binding for V4M
> ✗ [PATCH v5 6/6] arm64: dts: renesas: r8a779h0: Add family fallback for VIN IP
> + Acked-by: Conor Dooley <conor.dooley@microchip.com> (✓ DKIM/kernel.org)
>
> I cannot find these Acks in my inbox or on lore.
> What's happening?
No idea, I can't find any Acks from Conner in my inbox neither. Both
patches in question where new in v4 of the series.
--
Kind Regards,
Niklas Söderlund
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v5 1/6] dt-bindings: media: renesas,vin: Add Gen4 family fallback
2024-07-04 16:16 ` [PATCH v5 1/6] dt-bindings: media: renesas,vin: Add Gen4 family fallback Niklas Söderlund
@ 2024-08-23 13:37 ` Laurent Pinchart
2024-08-28 11:26 ` Krzysztof Kozlowski
1 sibling, 0 replies; 18+ messages in thread
From: Laurent Pinchart @ 2024-08-23 13:37 UTC (permalink / raw)
To: Niklas Söderlund
Cc: Mauro Carvalho Chehab, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Geert Uytterhoeven, linux-media, devicetree,
linux-renesas-soc, Conor Dooley
Hi Niklas,
Thank you for the patch.
On Thu, Jul 04, 2024 at 06:16:15PM +0200, Niklas Söderlund wrote:
> The Gen4 SoCs V3U, V4H and V4M have a similar video capture pipelines.
>
> The datasheets for the 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 SoCs are found.
>
> There are already DTS files using the V3U and V4H compatibles which
> needs to be updated to not produce a warning for DTS checks. The driver
s/needs/need/
> also needs to kept the compatible values to be backward compatible , but
s/kept/keep/
> for new Gen4 SoCs such as V4M we can avoid this.
>
> Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
> Acked-by: Conor Dooley <conor.dooley@microchip.com>
> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
> ---
> * Changes since v4
> - Added V3U to the list of Gen4 devices.
>
> * 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..aa16f1528f2d 100644
> --- a/Documentation/devicetree/bindings/media/renesas,vin.yaml
> +++ b/Documentation/devicetree/bindings/media/renesas,vin.yaml
> @@ -52,8 +52,11 @@ properties:
> - renesas,vin-r8a77980 # R-Car V3H
> - renesas,vin-r8a77990 # R-Car E3
> - renesas,vin-r8a77995 # R-Car D3
> + - items:
> + - enum:
> - renesas,vin-r8a779a0 # R-Car V3U
> - renesas,vin-r8a779g0 # R-Car V4H
> + - const: renesas,rcar-gen4-vin # Generic R-Car Gen4
>
> reg:
> maxItems: 1
--
Regards,
Laurent Pinchart
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v5 2/6] arm64: dts: renesas: r8a779g0: Add family fallback for VIN IP
2024-07-04 16:16 ` [PATCH v5 2/6] arm64: dts: renesas: r8a779g0: Add family fallback for VIN IP Niklas Söderlund
@ 2024-08-23 13:39 ` Laurent Pinchart
0 siblings, 0 replies; 18+ messages in thread
From: Laurent Pinchart @ 2024-08-23 13:39 UTC (permalink / raw)
To: Niklas Söderlund
Cc: Mauro Carvalho Chehab, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Geert Uytterhoeven, linux-media, devicetree,
linux-renesas-soc
Hi Niklas,
Thank you for the patch.
On Thu, Jul 04, 2024 at 06:16:16PM +0200, Niklas Söderlund 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.
s/have been/has been/
> 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>
> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
> ---
> * 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 c5fc414928c9..9e75b3f4d317 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>;
--
Regards,
Laurent Pinchart
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v5 3/6] arm64: dts: renesas: r8a779a0: Add family fallback for VIN IP
2024-07-04 16:16 ` [PATCH v5 3/6] arm64: dts: renesas: r8a779a0: " Niklas Söderlund
2024-08-20 7:30 ` Geert Uytterhoeven
@ 2024-08-23 13:40 ` Laurent Pinchart
1 sibling, 0 replies; 18+ messages in thread
From: Laurent Pinchart @ 2024-08-23 13:40 UTC (permalink / raw)
To: Niklas Söderlund
Cc: Mauro Carvalho Chehab, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Geert Uytterhoeven, linux-media, devicetree,
linux-renesas-soc
Hi Niklas,
Thank you for the patch.
On Thu, Jul 04, 2024 at 06:16:17PM +0200, Niklas Söderlund 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.
s/have been/has been/
> Add this fallback to the V3U DTSI.
>
> There is no functional change, but the addition of the family fallback
> in the bindings produces warnings for V3U for DTS checks if they are not
> added.
>
> Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
> ---
> * Changes since v4
> - New in v5.
> ---
> arch/arm64/boot/dts/renesas/r8a779a0.dtsi | 96 +++++++++++++++--------
> 1 file changed, 64 insertions(+), 32 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/renesas/r8a779a0.dtsi b/arch/arm64/boot/dts/renesas/r8a779a0.dtsi
> index 395f8d43ce2d..9870455714da 100644
> --- a/arch/arm64/boot/dts/renesas/r8a779a0.dtsi
> +++ b/arch/arm64/boot/dts/renesas/r8a779a0.dtsi
> @@ -1176,7 +1176,8 @@ msiof5: spi@e6c28000 {
> };
>
> vin00: video@e6ef0000 {
> - compatible = "renesas,vin-r8a779a0";
> + compatible = "renesas,vin-r8a779a0",
> + "renesas,rcar-gen4-vin";
> reg = <0 0xe6ef0000 0 0x1000>;
> interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>;
> clocks = <&cpg CPG_MOD 730>;
> @@ -1204,7 +1205,8 @@ vin00isp0: endpoint@0 {
> };
>
> vin01: video@e6ef1000 {
> - compatible = "renesas,vin-r8a779a0";
> + compatible = "renesas,vin-r8a779a0",
> + "renesas,rcar-gen4-vin";
> reg = <0 0xe6ef1000 0 0x1000>;
> interrupts = <GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>;
> clocks = <&cpg CPG_MOD 731>;
> @@ -1232,7 +1234,8 @@ vin01isp0: endpoint@0 {
> };
>
> vin02: video@e6ef2000 {
> - compatible = "renesas,vin-r8a779a0";
> + compatible = "renesas,vin-r8a779a0",
> + "renesas,rcar-gen4-vin";
> reg = <0 0xe6ef2000 0 0x1000>;
> interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>;
> clocks = <&cpg CPG_MOD 800>;
> @@ -1260,7 +1263,8 @@ vin02isp0: endpoint@0 {
> };
>
> vin03: video@e6ef3000 {
> - compatible = "renesas,vin-r8a779a0";
> + compatible = "renesas,vin-r8a779a0",
> + "renesas,rcar-gen4-vin";
> reg = <0 0xe6ef3000 0 0x1000>;
> interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>;
> clocks = <&cpg CPG_MOD 801>;
> @@ -1288,7 +1292,8 @@ vin03isp0: endpoint@0 {
> };
>
> vin04: video@e6ef4000 {
> - compatible = "renesas,vin-r8a779a0";
> + compatible = "renesas,vin-r8a779a0",
> + "renesas,rcar-gen4-vin";
> reg = <0 0xe6ef4000 0 0x1000>;
> interrupts = <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>;
> clocks = <&cpg CPG_MOD 802>;
> @@ -1316,7 +1321,8 @@ vin04isp0: endpoint@0 {
> };
>
> vin05: video@e6ef5000 {
> - compatible = "renesas,vin-r8a779a0";
> + compatible = "renesas,vin-r8a779a0",
> + "renesas,rcar-gen4-vin";
> reg = <0 0xe6ef5000 0 0x1000>;
> interrupts = <GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>;
> clocks = <&cpg CPG_MOD 803>;
> @@ -1344,7 +1350,8 @@ vin05isp0: endpoint@0 {
> };
>
> vin06: video@e6ef6000 {
> - compatible = "renesas,vin-r8a779a0";
> + compatible = "renesas,vin-r8a779a0",
> + "renesas,rcar-gen4-vin";
> reg = <0 0xe6ef6000 0 0x1000>;
> interrupts = <GIC_SPI 166 IRQ_TYPE_LEVEL_HIGH>;
> clocks = <&cpg CPG_MOD 804>;
> @@ -1372,7 +1379,8 @@ vin06isp0: endpoint@0 {
> };
>
> vin07: video@e6ef7000 {
> - compatible = "renesas,vin-r8a779a0";
> + compatible = "renesas,vin-r8a779a0",
> + "renesas,rcar-gen4-vin";
> reg = <0 0xe6ef7000 0 0x1000>;
> interrupts = <GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>;
> clocks = <&cpg CPG_MOD 805>;
> @@ -1400,7 +1408,8 @@ vin07isp0: endpoint@0 {
> };
>
> vin08: video@e6ef8000 {
> - compatible = "renesas,vin-r8a779a0";
> + compatible = "renesas,vin-r8a779a0",
> + "renesas,rcar-gen4-vin";
> reg = <0 0xe6ef8000 0 0x1000>;
> interrupts = <GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>;
> clocks = <&cpg CPG_MOD 806>;
> @@ -1428,7 +1437,8 @@ vin08isp1: endpoint@1 {
> };
>
> vin09: video@e6ef9000 {
> - compatible = "renesas,vin-r8a779a0";
> + compatible = "renesas,vin-r8a779a0",
> + "renesas,rcar-gen4-vin";
> reg = <0 0xe6ef9000 0 0x1000>;
> interrupts = <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>;
> clocks = <&cpg CPG_MOD 807>;
> @@ -1456,7 +1466,8 @@ vin09isp1: endpoint@1 {
> };
>
> vin10: video@e6efa000 {
> - compatible = "renesas,vin-r8a779a0";
> + compatible = "renesas,vin-r8a779a0",
> + "renesas,rcar-gen4-vin";
> reg = <0 0xe6efa000 0 0x1000>;
> interrupts = <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>;
> clocks = <&cpg CPG_MOD 808>;
> @@ -1484,7 +1495,8 @@ vin10isp1: endpoint@1 {
> };
>
> vin11: video@e6efb000 {
> - compatible = "renesas,vin-r8a779a0";
> + compatible = "renesas,vin-r8a779a0",
> + "renesas,rcar-gen4-vin";
> reg = <0 0xe6efb000 0 0x1000>;
> interrupts = <GIC_SPI 171 IRQ_TYPE_LEVEL_HIGH>;
> clocks = <&cpg CPG_MOD 809>;
> @@ -1512,7 +1524,8 @@ vin11isp1: endpoint@1 {
> };
>
> vin12: video@e6efc000 {
> - compatible = "renesas,vin-r8a779a0";
> + compatible = "renesas,vin-r8a779a0",
> + "renesas,rcar-gen4-vin";
> reg = <0 0xe6efc000 0 0x1000>;
> interrupts = <GIC_SPI 172 IRQ_TYPE_LEVEL_HIGH>;
> clocks = <&cpg CPG_MOD 810>;
> @@ -1540,7 +1553,8 @@ vin12isp1: endpoint@1 {
> };
>
> vin13: video@e6efd000 {
> - compatible = "renesas,vin-r8a779a0";
> + compatible = "renesas,vin-r8a779a0",
> + "renesas,rcar-gen4-vin";
> reg = <0 0xe6efd000 0 0x1000>;
> interrupts = <GIC_SPI 173 IRQ_TYPE_LEVEL_HIGH>;
> clocks = <&cpg CPG_MOD 811>;
> @@ -1568,7 +1582,8 @@ vin13isp1: endpoint@1 {
> };
>
> vin14: video@e6efe000 {
> - compatible = "renesas,vin-r8a779a0";
> + compatible = "renesas,vin-r8a779a0",
> + "renesas,rcar-gen4-vin";
> reg = <0 0xe6efe000 0 0x1000>;
> interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;
> clocks = <&cpg CPG_MOD 812>;
> @@ -1596,7 +1611,8 @@ vin14isp1: endpoint@1 {
> };
>
> vin15: video@e6eff000 {
> - compatible = "renesas,vin-r8a779a0";
> + compatible = "renesas,vin-r8a779a0",
> + "renesas,rcar-gen4-vin";
> reg = <0 0xe6eff000 0 0x1000>;
> interrupts = <GIC_SPI 175 IRQ_TYPE_LEVEL_HIGH>;
> clocks = <&cpg CPG_MOD 813>;
> @@ -1624,7 +1640,8 @@ vin15isp1: endpoint@1 {
> };
>
> vin16: video@e6ed0000 {
> - compatible = "renesas,vin-r8a779a0";
> + compatible = "renesas,vin-r8a779a0",
> + "renesas,rcar-gen4-vin";
> reg = <0 0xe6ed0000 0 0x1000>;
> interrupts = <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH>;
> clocks = <&cpg CPG_MOD 814>;
> @@ -1652,7 +1669,8 @@ vin16isp2: endpoint@2 {
> };
>
> vin17: video@e6ed1000 {
> - compatible = "renesas,vin-r8a779a0";
> + compatible = "renesas,vin-r8a779a0",
> + "renesas,rcar-gen4-vin";
> reg = <0 0xe6ed1000 0 0x1000>;
> interrupts = <GIC_SPI 177 IRQ_TYPE_LEVEL_HIGH>;
> clocks = <&cpg CPG_MOD 815>;
> @@ -1680,7 +1698,8 @@ vin17isp2: endpoint@2 {
> };
>
> vin18: video@e6ed2000 {
> - compatible = "renesas,vin-r8a779a0";
> + compatible = "renesas,vin-r8a779a0",
> + "renesas,rcar-gen4-vin";
> reg = <0 0xe6ed2000 0 0x1000>;
> interrupts = <GIC_SPI 178 IRQ_TYPE_LEVEL_HIGH>;
> clocks = <&cpg CPG_MOD 816>;
> @@ -1708,7 +1727,8 @@ vin18isp2: endpoint@2 {
> };
>
> vin19: video@e6ed3000 {
> - compatible = "renesas,vin-r8a779a0";
> + compatible = "renesas,vin-r8a779a0",
> + "renesas,rcar-gen4-vin";
> reg = <0 0xe6ed3000 0 0x1000>;
> interrupts = <GIC_SPI 179 IRQ_TYPE_LEVEL_HIGH>;
> clocks = <&cpg CPG_MOD 817>;
> @@ -1736,7 +1756,8 @@ vin19isp2: endpoint@2 {
> };
>
> vin20: video@e6ed4000 {
> - compatible = "renesas,vin-r8a779a0";
> + compatible = "renesas,vin-r8a779a0",
> + "renesas,rcar-gen4-vin";
> reg = <0 0xe6ed4000 0 0x1000>;
> interrupts = <GIC_SPI 180 IRQ_TYPE_LEVEL_HIGH>;
> clocks = <&cpg CPG_MOD 818>;
> @@ -1764,7 +1785,8 @@ vin20isp2: endpoint@2 {
> };
>
> vin21: video@e6ed5000 {
> - compatible = "renesas,vin-r8a779a0";
> + compatible = "renesas,vin-r8a779a0",
> + "renesas,rcar-gen4-vin";
> reg = <0 0xe6ed5000 0 0x1000>;
> interrupts = <GIC_SPI 181 IRQ_TYPE_LEVEL_HIGH>;
> clocks = <&cpg CPG_MOD 819>;
> @@ -1792,7 +1814,8 @@ vin21isp2: endpoint@2 {
> };
>
> vin22: video@e6ed6000 {
> - compatible = "renesas,vin-r8a779a0";
> + compatible = "renesas,vin-r8a779a0",
> + "renesas,rcar-gen4-vin";
> reg = <0 0xe6ed6000 0 0x1000>;
> interrupts = <GIC_SPI 182 IRQ_TYPE_LEVEL_HIGH>;
> clocks = <&cpg CPG_MOD 820>;
> @@ -1820,7 +1843,8 @@ vin22isp2: endpoint@2 {
> };
>
> vin23: video@e6ed7000 {
> - compatible = "renesas,vin-r8a779a0";
> + compatible = "renesas,vin-r8a779a0",
> + "renesas,rcar-gen4-vin";
> reg = <0 0xe6ed7000 0 0x1000>;
> interrupts = <GIC_SPI 183 IRQ_TYPE_LEVEL_HIGH>;
G> clocks = <&cpg CPG_MOD 821>;
> @@ -1848,7 +1872,8 @@ vin23isp2: endpoint@2 {
> };
>
> vin24: video@e6ed8000 {
> - compatible = "renesas,vin-r8a779a0";
> + compatible = "renesas,vin-r8a779a0",
> + "renesas,rcar-gen4-vin";
> reg = <0 0xe6ed8000 0 0x1000>;
> interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>;
> clocks = <&cpg CPG_MOD 822>;
> @@ -1876,7 +1901,8 @@ vin24isp3: endpoint@3 {
> };
>
> vin25: video@e6ed9000 {
> - compatible = "renesas,vin-r8a779a0";
> + compatible = "renesas,vin-r8a779a0",
> + "renesas,rcar-gen4-vin";
> reg = <0 0xe6ed9000 0 0x1000>;
> interrupts = <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH>;
> clocks = <&cpg CPG_MOD 823>;
> @@ -1904,7 +1930,8 @@ vin25isp3: endpoint@3 {
> };
>
> vin26: video@e6eda000 {
> - compatible = "renesas,vin-r8a779a0";
> + compatible = "renesas,vin-r8a779a0",
> + "renesas,rcar-gen4-vin";
> reg = <0 0xe6eda000 0 0x1000>;
> interrupts = <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>;
> clocks = <&cpg CPG_MOD 824>;
> @@ -1932,7 +1959,8 @@ vin26isp3: endpoint@3 {
> };
>
> vin27: video@e6edb000 {
> - compatible = "renesas,vin-r8a779a0";
> + compatible = "renesas,vin-r8a779a0",
> + "renesas,rcar-gen4-vin";
> reg = <0 0xe6edb000 0 0x1000>;
> interrupts = <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>;
> clocks = <&cpg CPG_MOD 825>;
> @@ -1960,7 +1988,8 @@ vin27isp3: endpoint@3 {
> };
>
> vin28: video@e6edc000 {
> - compatible = "renesas,vin-r8a779a0";
> + compatible = "renesas,vin-r8a779a0",
> + "renesas,rcar-gen4-vin";
> reg = <0 0xe6edc000 0 0x1000>;
> interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>;
> clocks = <&cpg CPG_MOD 826>;
> @@ -1988,7 +2017,8 @@ vin28isp3: endpoint@3 {
> };
>
> vin29: video@e6edd000 {
> - compatible = "renesas,vin-r8a779a0";
> + compatible = "renesas,vin-r8a779a0",
> + "renesas,rcar-gen4-vin";
> reg = <0 0xe6edd000 0 0x1000>;
> interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>;
> clocks = <&cpg CPG_MOD 827>;
> @@ -2016,7 +2046,8 @@ vin29isp3: endpoint@3 {
> };
>
> vin30: video@e6ede000 {
> - compatible = "renesas,vin-r8a779a0";
> + compatible = "renesas,vin-r8a779a0",
> + "renesas,rcar-gen4-vin";
> reg = <0 0xe6ede000 0 0x1000>;
> interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>;
> clocks = <&cpg CPG_MOD 828>;
> @@ -2044,7 +2075,8 @@ vin30isp3: endpoint@3 {
> };
>
> vin31: video@e6edf000 {
> - compatible = "renesas,vin-r8a779a0";
> + compatible = "renesas,vin-r8a779a0",
> + "renesas,rcar-gen4-vin";
> reg = <0 0xe6edf000 0 0x1000>;
> interrupts = <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>;
> clocks = <&cpg CPG_MOD 829>;
--
Regards,
Laurent Pinchart
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v5 4/6] media: rcar-vin: Add family compatible for R-Car Gen4 family
2024-07-04 16:16 ` [PATCH v5 4/6] media: rcar-vin: Add family compatible for R-Car Gen4 family Niklas Söderlund
@ 2024-08-23 13:40 ` Laurent Pinchart
0 siblings, 0 replies; 18+ messages in thread
From: Laurent Pinchart @ 2024-08-23 13:40 UTC (permalink / raw)
To: Niklas Söderlund
Cc: Mauro Carvalho Chehab, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Geert Uytterhoeven, linux-media, devicetree,
linux-renesas-soc
Hi Niklas,
Thank you for the patch.
On Thu, Jul 04, 2024 at 06:16:18PM +0200, Niklas Söderlund wrote:
> Add the Gen4 family compatible. This will be used instead of a SoC
> specific compatible for the new Gen4 SoC V4M. Two Gen4 boards (V3U and
> V4H) have already been added prior and their bindings need to be kept
> for backward compatibility.
>
> Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
> ---
> * Changes since v4
> - Extend to cover V3U as well, which despite the name is the first Gen4
> board.
>
> * 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 structure.
> ---
> .../platform/renesas/rcar-vin/rcar-core.c | 21 ++++++++-----------
> 1 file changed, 9 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..695d884a22d1 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,
> @@ -1354,12 +1345,18 @@ static const struct of_device_id rvin_of_id_table[] = {
> .data = &rcar_info_r8a77995,
> },
> {
> + /* Keep to be compatible with old DTS files. */
> .compatible = "renesas,vin-r8a779a0",
> - .data = &rcar_info_r8a779a0,
> + .data = &rcar_info_gen4,
> },
> {
> + /* Keep to be compatible with old DTS files. */
> .compatible = "renesas,vin-r8a779g0",
> - .data = &rcar_info_r8a779g0,
> + .data = &rcar_info_gen4,
> + },
> + {
> + .compatible = "renesas,rcar-gen4-vin",
> + .data = &rcar_info_gen4,
> },
> { /* Sentinel */ },
> };
--
Regards,
Laurent Pinchart
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v5 5/6] dt-bindings: media: renesas,vin: Add binding for V4M
2024-07-04 16:16 ` [PATCH v5 5/6] dt-bindings: media: renesas,vin: Add binding for V4M Niklas Söderlund
@ 2024-08-23 13:41 ` Laurent Pinchart
0 siblings, 0 replies; 18+ messages in thread
From: Laurent Pinchart @ 2024-08-23 13:41 UTC (permalink / raw)
To: Niklas Söderlund
Cc: Mauro Carvalho Chehab, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Geert Uytterhoeven, linux-media, devicetree,
linux-renesas-soc, Conor Dooley
Hi Niklas,
Thank you for the patch.
On Thu, Jul 04, 2024 at 06:16:19PM +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 SoCs.
>
> Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
> Acked-by: Conor Dooley <conor.dooley@microchip.com>
> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
> ---
> * 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 aa16f1528f2d..cf54176f4fbd 100644
> --- a/Documentation/devicetree/bindings/media/renesas,vin.yaml
> +++ b/Documentation/devicetree/bindings/media/renesas,vin.yaml
> @@ -56,6 +56,7 @@ properties:
> - enum:
> - renesas,vin-r8a779a0 # R-Car V3U
> - renesas,vin-r8a779g0 # R-Car V4H
> + - renesas,vin-r8a779h0 # R-Car V4M
> - const: renesas,rcar-gen4-vin # Generic R-Car Gen4
>
> reg:
--
Regards,
Laurent Pinchart
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v5 6/6] arm64: dts: renesas: r8a779h0: Add family fallback for VIN IP
2024-07-04 16:16 ` [PATCH v5 6/6] arm64: dts: renesas: r8a779h0: Add family fallback for VIN IP Niklas Söderlund
@ 2024-08-23 13:42 ` Laurent Pinchart
0 siblings, 0 replies; 18+ messages in thread
From: Laurent Pinchart @ 2024-08-23 13:42 UTC (permalink / raw)
To: Niklas Söderlund
Cc: Mauro Carvalho Chehab, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Geert Uytterhoeven, linux-media, devicetree,
linux-renesas-soc
Hi Niklas,
Thank you for the patch.
On Thu, Jul 04, 2024 at 06:16:20PM +0200, Niklas Söderlund wrote:
> The usage of the V4M VIN bindings where merged before the bindings where
s/where/were/g
> 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>
> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
> ---
> * 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 8f5763b5f267..b9f49288a115 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>;
--
Regards,
Laurent Pinchart
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v5 0/6] rcar-vin: Add support for R-Car V4M
2024-08-21 11:51 ` Niklas Söderlund
@ 2024-08-23 13:51 ` Laurent Pinchart
0 siblings, 0 replies; 18+ messages in thread
From: Laurent Pinchart @ 2024-08-23 13:51 UTC (permalink / raw)
To: Niklas Söderlund
Cc: Geert Uytterhoeven, Mauro Carvalho Chehab, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Geert Uytterhoeven,
linux-media, devicetree, linux-renesas-soc, helpdesk
On Wed, Aug 21, 2024 at 01:51:32PM +0200, Niklas Söderlund wrote:
> On 2024-08-20 09:34:55 +0200, Geert Uytterhoeven wrote:
> > On Thu, Jul 4, 2024 at 6:16 PM Niklas Söderlund wrote:
> > > 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 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 to add this new family
> > > fallback. This is done in a backward compatible way and the driver
> > > retains the compatible values.
> > >
> > > See individual patches for changes since previous versions.
> > >
> > > Niklas Söderlund (6):
> > > dt-bindings: media: renesas,vin: Add Gen4 family fallback
> > > arm64: dts: renesas: r8a779g0: Add family fallback for VIN IP
> > > arm64: dts: renesas: r8a779a0: 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
> >
> > Any chance the media parts can be accepted, so I can take the DTS
> > patches through the Renesas tree?
>
> I would be happy to have some feedback on the media parts as well as I
> will need to send a very similar series for the rcar-isp driver to add a
> family fallback for Gen4. But I have hold of on posting them until I
> knew this is the correct path forward.
I've reviewed the DT and media patches (1/6, 4/6 and 5/6), and will
include them in a pull request later today with the minor typos reproted
in the reviews fixed.
> > BTW, running b4 seems to add two bogus Acked-by tags from Conor:
> >
> > $ b4 am 20240704161620.1425409-3-niklas.soderlund+renesas@ragnatech.se
> > Analyzing 7 messages in the thread
> > Analyzing 14 code-review messages
> > Checking attestation on all messages, may take a moment...
> > ---
> > ✗ [PATCH v5 1/6] dt-bindings: media: renesas,vin: Add Gen4 family fallback
> > ✗ [PATCH v5 2/6] arm64: dts: renesas: r8a779g0: Add family fallback for VIN IP
> > + Acked-by: Conor Dooley <conor.dooley@microchip.com> (✓ DKIM/kernel.org)
> > ✗ [PATCH v5 3/6] arm64: dts: renesas: r8a779a0: Add family fallback for VIN IP
> > ✗ [PATCH v5 4/6] media: rcar-vin: Add family compatible for R-Car Gen4 family
> > ✗ [PATCH v5 5/6] dt-bindings: media: renesas,vin: Add binding for V4M
> > ✗ [PATCH v5 6/6] arm64: dts: renesas: r8a779h0: Add family fallback for VIN IP
> > + Acked-by: Conor Dooley <conor.dooley@microchip.com> (✓ DKIM/kernel.org)
> >
> > I cannot find these Acks in my inbox or on lore.
> > What's happening?
>
> No idea, I can't find any Acks from Conner in my inbox neither. Both
> patches in question where new in v4 of the series.
--
Regards,
Laurent Pinchart
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PATCH v5 1/6] dt-bindings: media: renesas,vin: Add Gen4 family fallback
2024-07-04 16:16 ` [PATCH v5 1/6] dt-bindings: media: renesas,vin: Add Gen4 family fallback Niklas Söderlund
2024-08-23 13:37 ` Laurent Pinchart
@ 2024-08-28 11:26 ` Krzysztof Kozlowski
1 sibling, 0 replies; 18+ messages in thread
From: Krzysztof Kozlowski @ 2024-08-28 11:26 UTC (permalink / raw)
To: Niklas Söderlund, Mauro Carvalho Chehab, Laurent Pinchart,
Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Geert Uytterhoeven, linux-media, devicetree
Cc: linux-renesas-soc, Conor Dooley
On 04/07/2024 18:16, Niklas Söderlund wrote:
> The Gen4 SoCs V3U, V4H and V4M have a similar video capture pipelines.
>
> The datasheets for the 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 SoCs are found.
>
> There are already DTS files using the V3U and V4H compatibles which
> needs to be updated to not produce a warning for DTS checks. The driver
> also needs to kept the compatible values to be backward compatible , but
> for new Gen4 SoCs such as V4M we can avoid this.
>
> Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
> Acked-by: Conor Dooley <conor.dooley@microchip.com>
> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
> ---
> * Changes since v4
> - Added V3U to the list of Gen4 devices.
>
> * 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..aa16f1528f2d 100644
> --- a/Documentation/devicetree/bindings/media/renesas,vin.yaml
> +++ b/Documentation/devicetree/bindings/media/renesas,vin.yaml
> @@ -52,8 +52,11 @@ properties:
> - renesas,vin-r8a77980 # R-Car V3H
> - renesas,vin-r8a77990 # R-Car E3
> - renesas,vin-r8a77995 # R-Car D3
> + - items:
> + - enum:
> - renesas,vin-r8a779a0 # R-Car V3U
> - renesas,vin-r8a779g0 # R-Car V4H
> + - const: renesas,rcar-gen4-vin # Generic R-Car Gen4
I believe it was requested in earlier comments to use SoC specific
compatible as fallback.
See:
https://lore.kernel.org/all/20240624-rented-danger-300652ab8eeb@wendy/
https://lore.kernel.org/all/20240610-screen-wolverine-78370c66d40f@spud/
https://lore.kernel.org/all/20240620-gating-coherent-af984389b2d7@spud/
You ignored these suggestions and decided to go with other approach.
I don't agree with this.
Please carry:
Nacked-by: Krzysztof Kozlowski <krzk@kernel.org>
so my objection and your avoidance of earlier suggestions will be
clearly documented.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 18+ messages in thread
end of thread, other threads:[~2024-08-28 11:26 UTC | newest]
Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-04 16:16 [PATCH v5 0/6] rcar-vin: Add support for R-Car V4M Niklas Söderlund
2024-07-04 16:16 ` [PATCH v5 1/6] dt-bindings: media: renesas,vin: Add Gen4 family fallback Niklas Söderlund
2024-08-23 13:37 ` Laurent Pinchart
2024-08-28 11:26 ` Krzysztof Kozlowski
2024-07-04 16:16 ` [PATCH v5 2/6] arm64: dts: renesas: r8a779g0: Add family fallback for VIN IP Niklas Söderlund
2024-08-23 13:39 ` Laurent Pinchart
2024-07-04 16:16 ` [PATCH v5 3/6] arm64: dts: renesas: r8a779a0: " Niklas Söderlund
2024-08-20 7:30 ` Geert Uytterhoeven
2024-08-23 13:40 ` Laurent Pinchart
2024-07-04 16:16 ` [PATCH v5 4/6] media: rcar-vin: Add family compatible for R-Car Gen4 family Niklas Söderlund
2024-08-23 13:40 ` Laurent Pinchart
2024-07-04 16:16 ` [PATCH v5 5/6] dt-bindings: media: renesas,vin: Add binding for V4M Niklas Söderlund
2024-08-23 13:41 ` Laurent Pinchart
2024-07-04 16:16 ` [PATCH v5 6/6] arm64: dts: renesas: r8a779h0: Add family fallback for VIN IP Niklas Söderlund
2024-08-23 13:42 ` Laurent Pinchart
2024-08-20 7:34 ` [PATCH v5 0/6] rcar-vin: Add support for R-Car V4M Geert Uytterhoeven
2024-08-21 11:51 ` Niklas Söderlund
2024-08-23 13:51 ` Laurent Pinchart
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).