]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
arm64: dts: renesas: r8a779h0: Add video capture nodes
authorNiklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Mon, 27 May 2024 13:41:27 +0000 (15:41 +0200)
committerGeert Uytterhoeven <geert+renesas@glider.be>
Fri, 7 Jun 2024 12:19:29 +0000 (14:19 +0200)
Add the VIN, CSI-2 and CSISP related nodes found on R-Car V4M.

One thing to note is that both CSISP0 and CSISP1 are in the same power
domain, this is different from other Gen4 SoCs (R-Car V4H).  The reason
for this is that R-Car V4M only has one ISP core which is connected to
CSISP0 while R-Car V4H has two ISP cores, one connected to each CSISP.

Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Link: https://lore.kernel.org/r/20240527134129.1695450-2-niklas.soderlund+renesas@ragnatech.se
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
arch/arm64/boot/dts/renesas/r8a779h0.dtsi

index 6d791024cabe1b94f01ad0514214a17ec613c075..6af0d59e275f85be914123dc325bdaf003869086 100644 (file)
                        status = "disabled";
                };
 
+               vin00: video@e6ef0000 {
+                       compatible = "renesas,vin-r8a779h0";
+                       reg = <0 0xe6ef0000 0 0x1000>;
+                       interrupts = <GIC_SPI 529 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&cpg CPG_MOD 730>;
+                       power-domains = <&sysc R8A779H0_PD_C4>;
+                       resets = <&cpg 730>;
+                       renesas,id = <0>;
+                       status = "disabled";
+
+                       ports {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               port@2 {
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+
+                                       reg = <2>;
+
+                                       vin00isp0: endpoint@0 {
+                                               reg = <0>;
+                                               remote-endpoint = <&isp0vin00>;
+                                       };
+                               };
+                       };
+               };
+
+               vin01: video@e6ef1000 {
+                       compatible = "renesas,vin-r8a779h0";
+                       reg = <0 0xe6ef1000 0 0x1000>;
+                       interrupts = <GIC_SPI 530 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&cpg CPG_MOD 731>;
+                       power-domains = <&sysc R8A779H0_PD_C4>;
+                       resets = <&cpg 731>;
+                       renesas,id = <1>;
+                       status = "disabled";
+
+                       ports {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               port@2 {
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+
+                                       reg = <2>;
+
+                                       vin01isp0: endpoint@0 {
+                                               reg = <0>;
+                                               remote-endpoint = <&isp0vin01>;
+                                       };
+                               };
+                       };
+               };
+
+               vin02: video@e6ef2000 {
+                       compatible = "renesas,vin-r8a779h0";
+                       reg = <0 0xe6ef2000 0 0x1000>;
+                       interrupts = <GIC_SPI 531 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&cpg CPG_MOD 800>;
+                       power-domains = <&sysc R8A779H0_PD_C4>;
+                       resets = <&cpg 800>;
+                       renesas,id = <2>;
+                       status = "disabled";
+
+                       ports {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               port@2 {
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+
+                                       reg = <2>;
+
+                                       vin02isp0: endpoint@0 {
+                                               reg = <0>;
+                                               remote-endpoint = <&isp0vin02>;
+                                       };
+                               };
+                       };
+               };
+
+               vin03: video@e6ef3000 {
+                       compatible = "renesas,vin-r8a779h0";
+                       reg = <0 0xe6ef3000 0 0x1000>;
+                       interrupts = <GIC_SPI 532 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&cpg CPG_MOD 801>;
+                       power-domains = <&sysc R8A779H0_PD_C4>;
+                       resets = <&cpg 801>;
+                       renesas,id = <3>;
+                       status = "disabled";
+
+                       ports {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               port@2 {
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+
+                                       reg = <2>;
+
+                                       vin03isp0: endpoint@0 {
+                                               reg = <0>;
+                                               remote-endpoint = <&isp0vin03>;
+                                       };
+                               };
+                       };
+               };
+
+               vin04: video@e6ef4000 {
+                       compatible = "renesas,vin-r8a779h0";
+                       reg = <0 0xe6ef4000 0 0x1000>;
+                       interrupts = <GIC_SPI 533 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&cpg CPG_MOD 802>;
+                       power-domains = <&sysc R8A779H0_PD_C4>;
+                       resets = <&cpg 802>;
+                       renesas,id = <4>;
+                       status = "disabled";
+
+                       ports {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               port@2 {
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+
+                                       reg = <2>;
+
+                                       vin04isp0: endpoint@0 {
+                                               reg = <0>;
+                                               remote-endpoint = <&isp0vin04>;
+                                       };
+                               };
+                       };
+               };
+
+               vin05: video@e6ef5000 {
+                       compatible = "renesas,vin-r8a779h0";
+                       reg = <0 0xe6ef5000 0 0x1000>;
+                       interrupts = <GIC_SPI 534 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&cpg CPG_MOD 803>;
+                       power-domains = <&sysc R8A779H0_PD_C4>;
+                       resets = <&cpg 803>;
+                       renesas,id = <5>;
+                       status = "disabled";
+
+                       ports {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               port@2 {
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+
+                                       reg = <2>;
+
+                                       vin05isp0: endpoint@0 {
+                                               reg = <0>;
+                                               remote-endpoint = <&isp0vin05>;
+                                       };
+                               };
+                       };
+               };
+
+               vin06: video@e6ef6000 {
+                       compatible = "renesas,vin-r8a779h0";
+                       reg = <0 0xe6ef6000 0 0x1000>;
+                       interrupts = <GIC_SPI 535 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&cpg CPG_MOD 804>;
+                       power-domains = <&sysc R8A779H0_PD_C4>;
+                       resets = <&cpg 804>;
+                       renesas,id = <6>;
+                       status = "disabled";
+
+                       ports {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               port@2 {
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+
+                                       reg = <2>;
+
+                                       vin06isp0: endpoint@0 {
+                                               reg = <0>;
+                                               remote-endpoint = <&isp0vin06>;
+                                       };
+                               };
+                       };
+               };
+
+               vin07: video@e6ef7000 {
+                       compatible = "renesas,vin-r8a779h0";
+                       reg = <0 0xe6ef7000 0 0x1000>;
+                       interrupts = <GIC_SPI 536 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&cpg CPG_MOD 805>;
+                       power-domains = <&sysc R8A779H0_PD_C4>;
+                       resets = <&cpg 805>;
+                       renesas,id = <7>;
+                       status = "disabled";
+
+                       ports {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               port@2 {
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+
+                                       reg = <2>;
+
+                                       vin07isp0: endpoint@0 {
+                                               reg = <0>;
+                                               remote-endpoint = <&isp0vin07>;
+                                       };
+                               };
+                       };
+               };
+
+               vin08: video@e6ef8000 {
+                       compatible = "renesas,vin-r8a779h0";
+                       reg = <0 0xe6ef8000 0 0x1000>;
+                       interrupts = <GIC_SPI 537 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&cpg CPG_MOD 806>;
+                       power-domains = <&sysc R8A779H0_PD_C4>;
+                       resets = <&cpg 806>;
+                       renesas,id = <8>;
+                       status = "disabled";
+
+                       ports {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               port@2 {
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+
+                                       reg = <2>;
+
+                                       vin08isp1: endpoint@1 {
+                                               reg = <1>;
+                                               remote-endpoint = <&isp1vin08>;
+                                       };
+                               };
+                       };
+               };
+
+               vin09: video@e6ef9000 {
+                       compatible = "renesas,vin-r8a779h0";
+                       reg = <0 0xe6ef9000 0 0x1000>;
+                       interrupts = <GIC_SPI 538 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&cpg CPG_MOD 807>;
+                       power-domains = <&sysc R8A779H0_PD_C4>;
+                       resets = <&cpg 807>;
+                       renesas,id = <9>;
+                       status = "disabled";
+
+                       ports {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               port@2 {
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+
+                                       reg = <2>;
+
+                                       vin09isp1: endpoint@1 {
+                                               reg = <1>;
+                                               remote-endpoint = <&isp1vin09>;
+                                       };
+                               };
+                       };
+               };
+
+               vin10: video@e6efa000 {
+                       compatible = "renesas,vin-r8a779h0";
+                       reg = <0 0xe6efa000 0 0x1000>;
+                       interrupts = <GIC_SPI 539 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&cpg CPG_MOD 808>;
+                       power-domains = <&sysc R8A779H0_PD_C4>;
+                       resets = <&cpg 808>;
+                       renesas,id = <10>;
+                       status = "disabled";
+
+                       ports {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               port@2 {
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+
+                                       reg = <2>;
+
+                                       vin10isp1: endpoint@1 {
+                                               reg = <1>;
+                                               remote-endpoint = <&isp1vin10>;
+                                       };
+                               };
+                       };
+               };
+
+               vin11: video@e6efb000 {
+                       compatible = "renesas,vin-r8a779h0";
+                       reg = <0 0xe6efb000 0 0x1000>;
+                       interrupts = <GIC_SPI 540 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&cpg CPG_MOD 809>;
+                       power-domains = <&sysc R8A779H0_PD_C4>;
+                       resets = <&cpg 809>;
+                       renesas,id = <11>;
+                       status = "disabled";
+
+                       ports {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               port@2 {
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+
+                                       reg = <2>;
+
+                                       vin11isp1: endpoint@1 {
+                                               reg = <1>;
+                                               remote-endpoint = <&isp1vin11>;
+                                       };
+                               };
+                       };
+               };
+
+               vin12: video@e6efc000 {
+                       compatible = "renesas,vin-r8a779h0";
+                       reg = <0 0xe6efc000 0 0x1000>;
+                       interrupts = <GIC_SPI 541 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&cpg CPG_MOD 810>;
+                       power-domains = <&sysc R8A779H0_PD_C4>;
+                       resets = <&cpg 810>;
+                       renesas,id = <12>;
+                       status = "disabled";
+
+                       ports {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               port@2 {
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+
+                                       reg = <2>;
+
+                                       vin12isp1: endpoint@1 {
+                                               reg = <1>;
+                                               remote-endpoint = <&isp1vin12>;
+                                       };
+                               };
+                       };
+               };
+
+               vin13: video@e6efd000 {
+                       compatible = "renesas,vin-r8a779h0";
+                       reg = <0 0xe6efd000 0 0x1000>;
+                       interrupts = <GIC_SPI 542 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&cpg CPG_MOD 811>;
+                       power-domains = <&sysc R8A779H0_PD_C4>;
+                       resets = <&cpg 811>;
+                       renesas,id = <13>;
+                       status = "disabled";
+
+                       ports {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               port@2 {
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+
+                                       reg = <2>;
+
+                                       vin13isp1: endpoint@1 {
+                                               reg = <1>;
+                                               remote-endpoint = <&isp1vin13>;
+                                       };
+                               };
+                       };
+               };
+
+               vin14: video@e6efe000 {
+                       compatible = "renesas,vin-r8a779h0";
+                       reg = <0 0xe6efe000 0 0x1000>;
+                       interrupts = <GIC_SPI 543 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&cpg CPG_MOD 812>;
+                       power-domains = <&sysc R8A779H0_PD_C4>;
+                       resets = <&cpg 812>;
+                       renesas,id = <14>;
+                       status = "disabled";
+
+                       ports {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               port@2 {
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+
+                                       reg = <2>;
+
+                                       vin14isp1: endpoint@1 {
+                                               reg = <1>;
+                                               remote-endpoint = <&isp1vin14>;
+                                       };
+                               };
+                       };
+               };
+
+               vin15: video@e6eff000 {
+                       compatible = "renesas,vin-r8a779h0";
+                       reg = <0 0xe6eff000 0 0x1000>;
+                       interrupts = <GIC_SPI 544 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&cpg CPG_MOD 813>;
+                       power-domains = <&sysc R8A779H0_PD_C4>;
+                       resets = <&cpg 813>;
+                       renesas,id = <15>;
+                       status = "disabled";
+
+                       ports {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               port@2 {
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+
+                                       reg = <2>;
+
+                                       vin15isp1: endpoint@1 {
+                                               reg = <1>;
+                                               remote-endpoint = <&isp1vin15>;
+                                       };
+                               };
+                       };
+               };
+
                dmac1: dma-controller@e7350000 {
                        compatible = "renesas,dmac-r8a779h0",
                                     "renesas,rcar-gen4-dmac";
                        interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
                };
 
+               csi40: csi2@fe500000 {
+                       compatible = "renesas,r8a779h0-csi2";
+                       reg = <0 0xfe500000 0 0x40000>;
+                       interrupts = <GIC_SPI 499 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&cpg CPG_MOD 331>;
+                       power-domains = <&sysc R8A779H0_PD_C4>;
+                       resets = <&cpg 331>;
+                       status = "disabled";
+
+                       ports {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               port@0 {
+                                       reg = <0>;
+                               };
+
+                               port@1 {
+                                       reg = <1>;
+                                       csi40isp0: endpoint {
+                                               remote-endpoint = <&isp0csi40>;
+                                       };
+                               };
+                       };
+               };
+
+               csi41: csi2@fe540000 {
+                       compatible = "renesas,r8a779h0-csi2";
+                       reg = <0 0xfe540000 0 0x40000>;
+                       interrupts = <GIC_SPI 500 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&cpg CPG_MOD 400>;
+                       power-domains = <&sysc R8A779H0_PD_C4>;
+                       resets = <&cpg 400>;
+                       status = "disabled";
+
+                       ports {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               port@0 {
+                                       reg = <0>;
+                               };
+
+                               port@1 {
+                                       reg = <1>;
+                                       csi41isp1: endpoint {
+                                               remote-endpoint = <&isp1csi41>;
+                                       };
+                               };
+                       };
+               };
+
+               isp0: isp@fed00000 {
+                       compatible = "renesas,r8a779h0-isp";
+                       reg = <0 0xfed00000 0 0x10000>;
+                       interrupts = <GIC_SPI 473 IRQ_TYPE_LEVEL_LOW>;
+                       clocks = <&cpg CPG_MOD 612>;
+                       power-domains = <&sysc R8A779H0_PD_A3ISP0>;
+                       resets = <&cpg 612>;
+                       status = "disabled";
+
+                       ports {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               port@0 {
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+
+                                       reg = <0>;
+
+                                       isp0csi40: endpoint@0 {
+                                               reg = <0>;
+                                               remote-endpoint = <&csi40isp0>;
+                                       };
+                               };
+
+                               port@1 {
+                                       reg = <1>;
+                                       isp0vin00: endpoint {
+                                               remote-endpoint = <&vin00isp0>;
+                                       };
+                               };
+
+                               port@2 {
+                                       reg = <2>;
+                                       isp0vin01: endpoint {
+                                               remote-endpoint = <&vin01isp0>;
+                                       };
+                               };
+
+                               port@3 {
+                                       reg = <3>;
+                                       isp0vin02: endpoint {
+                                               remote-endpoint = <&vin02isp0>;
+                                       };
+                               };
+
+                               port@4 {
+                                       reg = <4>;
+                                       isp0vin03: endpoint {
+                                               remote-endpoint = <&vin03isp0>;
+                                       };
+                               };
+
+                               port@5 {
+                                       reg = <5>;
+                                       isp0vin04: endpoint {
+                                               remote-endpoint = <&vin04isp0>;
+                                       };
+                               };
+
+                               port@6 {
+                                       reg = <6>;
+                                       isp0vin05: endpoint {
+                                               remote-endpoint = <&vin05isp0>;
+                                       };
+                               };
+
+                               port@7 {
+                                       reg = <7>;
+                                       isp0vin06: endpoint {
+                                               remote-endpoint = <&vin06isp0>;
+                                       };
+                               };
+
+                               port@8 {
+                                       reg = <8>;
+                                       isp0vin07: endpoint {
+                                               remote-endpoint = <&vin07isp0>;
+                                       };
+                               };
+                       };
+               };
+
+               isp1: isp@fed20000 {
+                       compatible = "renesas,r8a779h0-isp";
+                       reg = <0 0xfed20000 0 0x10000>;
+                       interrupts = <GIC_SPI 474 IRQ_TYPE_LEVEL_LOW>;
+                       clocks = <&cpg CPG_MOD 613>;
+                       power-domains = <&sysc R8A779H0_PD_A3ISP0>;
+                       resets = <&cpg 613>;
+                       status = "disabled";
+
+                       ports {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               port@0 {
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+
+                                       reg = <0>;
+
+                                       isp1csi41: endpoint@1 {
+                                               reg = <1>;
+                                               remote-endpoint = <&csi41isp1>;
+                                       };
+                               };
+
+                               port@1 {
+                                       reg = <1>;
+                                       isp1vin08: endpoint {
+                                               remote-endpoint = <&vin08isp1>;
+                                       };
+                               };
+
+                               port@2 {
+                                       reg = <2>;
+                                       isp1vin09: endpoint {
+                                               remote-endpoint = <&vin09isp1>;
+                                       };
+                               };
+
+                               port@3 {
+                                       reg = <3>;
+                                       isp1vin10: endpoint {
+                                               remote-endpoint = <&vin10isp1>;
+                                       };
+                               };
+
+                               port@4 {
+                                       reg = <4>;
+                                       isp1vin11: endpoint {
+                                               remote-endpoint = <&vin11isp1>;
+                                       };
+                               };
+
+                               port@5 {
+                                       reg = <5>;
+                                       isp1vin12: endpoint {
+                                               remote-endpoint = <&vin12isp1>;
+                                       };
+                               };
+
+                               port@6 {
+                                       reg = <6>;
+                                       isp1vin13: endpoint {
+                                               remote-endpoint = <&vin13isp1>;
+                                       };
+                               };
+
+                               port@7 {
+                                       reg = <7>;
+                                       isp1vin14: endpoint {
+                                               remote-endpoint = <&vin14isp1>;
+                                       };
+                               };
+
+                               port@8 {
+                                       reg = <8>;
+                                       isp1vin15: endpoint {
+                                               remote-endpoint = <&vin15isp1>;
+                                       };
+                               };
+                       };
+               };
+
                prr: chipid@fff00044 {
                        compatible = "renesas,prr";
                        reg = <0 0xfff00044 0 4>;