diff mbox series

arm64: dts: renesas: r8a77961: Add VIN and CSI-2 device nodes

Message ID 20210312131020.1747344-1-niklas.soderlund+renesas@ragnatech.se (mailing list archive)
State Mainlined
Commit c7b22b504404c27c2496892161e5c6d43ddaab10
Delegated to: Geert Uytterhoeven
Headers show
Series arm64: dts: renesas: r8a77961: Add VIN and CSI-2 device nodes | expand

Commit Message

Niklas Söderlund March 12, 2021, 1:10 p.m. UTC
Add device nodes for VIN and CSI-2 to R-Car M3-W+ r8a77961 device tree.

Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
---
 arch/arm64/boot/dts/renesas/r8a77961.dtsi | 314 +++++++++++++++++++++-
 1 file changed, 304 insertions(+), 10 deletions(-)
---
Hello,

I have boot tested this and all looks good but the only board access I 
have is remote to a board without any video sources I can't test a real 
capture. If someone have a M3-W+ on their desk a test would be much 
appreciated.

Comments

Niklas Söderlund March 17, 2021, 9:18 a.m. UTC | #1
Hello,

On 2021-03-12 14:10:20 +0100, Niklas Söderlund wrote:
> Add device nodes for VIN and CSI-2 to R-Car M3-W+ r8a77961 device tree.
> 
> Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
> ---
>  arch/arm64/boot/dts/renesas/r8a77961.dtsi | 314 +++++++++++++++++++++-
>  1 file changed, 304 insertions(+), 10 deletions(-)
> ---
> Hello,
> 
> I have boot tested this and all looks good but the only board access I 
> have is remote to a board without any video sources I can't test a real 
> capture. If someone have a M3-W+ on their desk a test would be much 
> appreciated.

Luu Hoai have been kind and tested this with a video source and provided 
a tag off-band,

Tested-by: LUU HOAI <hoai.luu.ub@renesas.com>

> 
> diff --git a/arch/arm64/boot/dts/renesas/r8a77961.dtsi b/arch/arm64/boot/dts/renesas/r8a77961.dtsi
> index e8c31ebec09730c4..db7e5dc8e2b7c773 100644
> --- a/arch/arm64/boot/dts/renesas/r8a77961.dtsi
> +++ b/arch/arm64/boot/dts/renesas/r8a77961.dtsi
> @@ -1397,43 +1397,259 @@ msiof3: spi@e6c10000 {
>  		};
>  
>  		vin0: video@e6ef0000 {
> +			compatible = "renesas,vin-r8a77961";
>  			reg = <0 0xe6ef0000 0 0x1000>;
> -			/* placeholder */
> +			interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>;
> +			clocks = <&cpg CPG_MOD 811>;
> +			power-domains = <&sysc R8A77961_PD_ALWAYS_ON>;
> +			resets = <&cpg 811>;
> +			renesas,id = <0>;
> +			status = "disabled";
> +
> +			ports {
> +				#address-cells = <1>;
> +				#size-cells = <0>;
> +
> +				port@1 {
> +					#address-cells = <1>;
> +					#size-cells = <0>;
> +
> +					reg = <1>;
> +
> +					vin0csi20: endpoint@0 {
> +						reg = <0>;
> +						remote-endpoint = <&csi20vin0>;
> +					};
> +					vin0csi40: endpoint@2 {
> +						reg = <2>;
> +						remote-endpoint = <&csi40vin0>;
> +					};
> +				};
> +			};
>  		};
>  
>  		vin1: video@e6ef1000 {
> +			compatible = "renesas,vin-r8a77961";
>  			reg = <0 0xe6ef1000 0 0x1000>;
> -			/* placeholder */
> +			interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>;
> +			clocks = <&cpg CPG_MOD 810>;
> +			power-domains = <&sysc R8A77961_PD_ALWAYS_ON>;
> +			resets = <&cpg 810>;
> +			renesas,id = <1>;
> +			status = "disabled";
> +
> +			ports {
> +				#address-cells = <1>;
> +				#size-cells = <0>;
> +
> +				port@1 {
> +					#address-cells = <1>;
> +					#size-cells = <0>;
> +
> +					reg = <1>;
> +
> +					vin1csi20: endpoint@0 {
> +						reg = <0>;
> +						remote-endpoint = <&csi20vin1>;
> +					};
> +					vin1csi40: endpoint@2 {
> +						reg = <2>;
> +						remote-endpoint = <&csi40vin1>;
> +					};
> +				};
> +			};
>  		};
>  
>  		vin2: video@e6ef2000 {
> +			compatible = "renesas,vin-r8a77961";
>  			reg = <0 0xe6ef2000 0 0x1000>;
> -			/* placeholder */
> +			interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>;
> +			clocks = <&cpg CPG_MOD 809>;
> +			power-domains = <&sysc R8A77961_PD_ALWAYS_ON>;
> +			resets = <&cpg 809>;
> +			renesas,id = <2>;
> +			status = "disabled";
> +
> +			ports {
> +				#address-cells = <1>;
> +				#size-cells = <0>;
> +
> +				port@1 {
> +					#address-cells = <1>;
> +					#size-cells = <0>;
> +
> +					reg = <1>;
> +
> +					vin2csi20: endpoint@0 {
> +						reg = <0>;
> +						remote-endpoint = <&csi20vin2>;
> +					};
> +					vin2csi40: endpoint@2 {
> +						reg = <2>;
> +						remote-endpoint = <&csi40vin2>;
> +					};
> +				};
> +			};
>  		};
>  
>  		vin3: video@e6ef3000 {
> +			compatible = "renesas,vin-r8a77961";
>  			reg = <0 0xe6ef3000 0 0x1000>;
> -			/* placeholder */
> +			interrupts = <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>;
> +			clocks = <&cpg CPG_MOD 808>;
> +			power-domains = <&sysc R8A77961_PD_ALWAYS_ON>;
> +			resets = <&cpg 808>;
> +			renesas,id = <3>;
> +			status = "disabled";
> +
> +			ports {
> +				#address-cells = <1>;
> +				#size-cells = <0>;
> +
> +				port@1 {
> +					#address-cells = <1>;
> +					#size-cells = <0>;
> +
> +					reg = <1>;
> +
> +					vin3csi20: endpoint@0 {
> +						reg = <0>;
> +						remote-endpoint = <&csi20vin3>;
> +					};
> +					vin3csi40: endpoint@2 {
> +						reg = <2>;
> +						remote-endpoint = <&csi40vin3>;
> +					};
> +				};
> +			};
>  		};
>  
>  		vin4: video@e6ef4000 {
> +			compatible = "renesas,vin-r8a77961";
>  			reg = <0 0xe6ef4000 0 0x1000>;
> -			/* placeholder */
> +			interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;
> +			clocks = <&cpg CPG_MOD 807>;
> +			power-domains = <&sysc R8A77961_PD_ALWAYS_ON>;
> +			resets = <&cpg 807>;
> +			renesas,id = <4>;
> +			status = "disabled";
> +
> +			ports {
> +				#address-cells = <1>;
> +				#size-cells = <0>;
> +
> +				port@1 {
> +					#address-cells = <1>;
> +					#size-cells = <0>;
> +
> +					reg = <1>;
> +
> +					vin4csi20: endpoint@0 {
> +						reg = <0>;
> +						remote-endpoint = <&csi20vin4>;
> +					};
> +					vin4csi40: endpoint@2 {
> +						reg = <2>;
> +						remote-endpoint = <&csi40vin4>;
> +					};
> +				};
> +			};
>  		};
>  
>  		vin5: video@e6ef5000 {
> +			compatible = "renesas,vin-r8a77961";
>  			reg = <0 0xe6ef5000 0 0x1000>;
> -			/* placeholder */
> +			interrupts = <GIC_SPI 175 IRQ_TYPE_LEVEL_HIGH>;
> +			clocks = <&cpg CPG_MOD 806>;
> +			power-domains = <&sysc R8A77961_PD_ALWAYS_ON>;
> +			resets = <&cpg 806>;
> +			renesas,id = <5>;
> +			status = "disabled";
> +
> +			ports {
> +				#address-cells = <1>;
> +				#size-cells = <0>;
> +
> +				port@1 {
> +					#address-cells = <1>;
> +					#size-cells = <0>;
> +
> +					reg = <1>;
> +
> +					vin5csi20: endpoint@0 {
> +						reg = <0>;
> +						remote-endpoint = <&csi20vin5>;
> +					};
> +					vin5csi40: endpoint@2 {
> +						reg = <2>;
> +						remote-endpoint = <&csi40vin5>;
> +					};
> +				};
> +			};
>  		};
>  
>  		vin6: video@e6ef6000 {
> +			compatible = "renesas,vin-r8a77961";
>  			reg = <0 0xe6ef6000 0 0x1000>;
> -			/* placeholder */
> +			interrupts = <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH>;
> +			clocks = <&cpg CPG_MOD 805>;
> +			power-domains = <&sysc R8A77961_PD_ALWAYS_ON>;
> +			resets = <&cpg 805>;
> +			renesas,id = <6>;
> +			status = "disabled";
> +
> +			ports {
> +				#address-cells = <1>;
> +				#size-cells = <0>;
> +
> +				port@1 {
> +					#address-cells = <1>;
> +					#size-cells = <0>;
> +
> +					reg = <1>;
> +
> +					vin6csi20: endpoint@0 {
> +						reg = <0>;
> +						remote-endpoint = <&csi20vin6>;
> +					};
> +					vin6csi40: endpoint@2 {
> +						reg = <2>;
> +						remote-endpoint = <&csi40vin6>;
> +					};
> +				};
> +			};
>  		};
>  
>  		vin7: video@e6ef7000 {
> +			compatible = "renesas,vin-r8a77961";
>  			reg = <0 0xe6ef7000 0 0x1000>;
> -			/* placeholder */
> +			interrupts = <GIC_SPI 171 IRQ_TYPE_LEVEL_HIGH>;
> +			clocks = <&cpg CPG_MOD 804>;
> +			power-domains = <&sysc R8A77961_PD_ALWAYS_ON>;
> +			resets = <&cpg 804>;
> +			renesas,id = <7>;
> +			status = "disabled";
> +
> +			ports {
> +				#address-cells = <1>;
> +				#size-cells = <0>;
> +
> +				port@1 {
> +					#address-cells = <1>;
> +					#size-cells = <0>;
> +
> +					reg = <1>;
> +
> +					vin7csi20: endpoint@0 {
> +						reg = <0>;
> +						remote-endpoint = <&csi20vin7>;
> +					};
> +					vin7csi40: endpoint@2 {
> +						reg = <2>;
> +						remote-endpoint = <&csi40vin7>;
> +					};
> +				};
> +			};
>  		};
>  
>  		rcar_sound: sound@ec500000 {
> @@ -2249,8 +2465,13 @@ vspi0: vsp@fe9a0000 {
>  		};
>  
>  		csi20: csi2@fea80000 {
> +			compatible = "renesas,r8a77961-csi2";
>  			reg = <0 0xfea80000 0 0x10000>;
> -			/* placeholder */
> +			interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>;
> +			clocks = <&cpg CPG_MOD 714>;
> +			power-domains = <&sysc R8A77961_PD_ALWAYS_ON>;
> +			resets = <&cpg 714>;
> +			status = "disabled";
>  
>  			ports {
>  				#address-cells = <1>;
> @@ -2259,14 +2480,53 @@ ports {
>  				port@1 {
>  					#address-cells = <1>;
>  					#size-cells = <0>;
> +
>  					reg = <1>;
> +
> +					csi20vin0: endpoint@0 {
> +						reg = <0>;
> +						remote-endpoint = <&vin0csi20>;
> +					};
> +					csi20vin1: endpoint@1 {
> +						reg = <1>;
> +						remote-endpoint = <&vin1csi20>;
> +					};
> +					csi20vin2: endpoint@2 {
> +						reg = <2>;
> +						remote-endpoint = <&vin2csi20>;
> +					};
> +					csi20vin3: endpoint@3 {
> +						reg = <3>;
> +						remote-endpoint = <&vin3csi20>;
> +					};
> +					csi20vin4: endpoint@4 {
> +						reg = <4>;
> +						remote-endpoint = <&vin4csi20>;
> +					};
> +					csi20vin5: endpoint@5 {
> +						reg = <5>;
> +						remote-endpoint = <&vin5csi20>;
> +					};
> +					csi20vin6: endpoint@6 {
> +						reg = <6>;
> +						remote-endpoint = <&vin6csi20>;
> +					};
> +					csi20vin7: endpoint@7 {
> +						reg = <7>;
> +						remote-endpoint = <&vin7csi20>;
> +					};
>  				};
>  			};
>  		};
>  
>  		csi40: csi2@feaa0000 {
> +			compatible = "renesas,r8a77961-csi2";
>  			reg = <0 0xfeaa0000 0 0x10000>;
> -			/* placeholder */
> +			interrupts = <GIC_SPI 246 IRQ_TYPE_LEVEL_HIGH>;
> +			clocks = <&cpg CPG_MOD 716>;
> +			power-domains = <&sysc R8A77961_PD_ALWAYS_ON>;
> +			resets = <&cpg 716>;
> +			status = "disabled";
>  
>  			ports {
>  				#address-cells = <1>;
> @@ -2277,7 +2537,41 @@ port@1 {
>  					#size-cells = <0>;
>  
>  					reg = <1>;
> +
> +					csi40vin0: endpoint@0 {
> +						reg = <0>;
> +						remote-endpoint = <&vin0csi40>;
> +					};
> +					csi40vin1: endpoint@1 {
> +						reg = <1>;
> +						remote-endpoint = <&vin1csi40>;
> +					};
> +					csi40vin2: endpoint@2 {
> +						reg = <2>;
> +						remote-endpoint = <&vin2csi40>;
> +					};
> +					csi40vin3: endpoint@3 {
> +						reg = <3>;
> +						remote-endpoint = <&vin3csi40>;
> +					};
> +					csi40vin4: endpoint@4 {
> +						reg = <4>;
> +						remote-endpoint = <&vin4csi40>;
> +					};
> +					csi40vin5: endpoint@5 {
> +						reg = <5>;
> +						remote-endpoint = <&vin5csi40>;
> +					};
> +					csi40vin6: endpoint@6 {
> +						reg = <6>;
> +						remote-endpoint = <&vin6csi40>;
> +					};
> +					csi40vin7: endpoint@7 {
> +						reg = <7>;
> +						remote-endpoint = <&vin7csi40>;
> +					};
>  				};
> +
>  			};
>  		};
>  
> -- 
> 2.30.1
>
Geert Uytterhoeven March 23, 2021, 3:13 p.m. UTC | #2
On Fri, Mar 12, 2021 at 2:10 PM Niklas Söderlund
<niklas.soderlund+renesas@ragnatech.se> wrote:
> Add device nodes for VIN and CSI-2 to R-Car M3-W+ r8a77961 device tree.
>
> Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>

Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
i.e. will queue in renesas-devel for v5.13.

Gr{oetje,eeting}s,

                        Geert
diff mbox series

Patch

diff --git a/arch/arm64/boot/dts/renesas/r8a77961.dtsi b/arch/arm64/boot/dts/renesas/r8a77961.dtsi
index e8c31ebec09730c4..db7e5dc8e2b7c773 100644
--- a/arch/arm64/boot/dts/renesas/r8a77961.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a77961.dtsi
@@ -1397,43 +1397,259 @@  msiof3: spi@e6c10000 {
 		};
 
 		vin0: video@e6ef0000 {
+			compatible = "renesas,vin-r8a77961";
 			reg = <0 0xe6ef0000 0 0x1000>;
-			/* placeholder */
+			interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&cpg CPG_MOD 811>;
+			power-domains = <&sysc R8A77961_PD_ALWAYS_ON>;
+			resets = <&cpg 811>;
+			renesas,id = <0>;
+			status = "disabled";
+
+			ports {
+				#address-cells = <1>;
+				#size-cells = <0>;
+
+				port@1 {
+					#address-cells = <1>;
+					#size-cells = <0>;
+
+					reg = <1>;
+
+					vin0csi20: endpoint@0 {
+						reg = <0>;
+						remote-endpoint = <&csi20vin0>;
+					};
+					vin0csi40: endpoint@2 {
+						reg = <2>;
+						remote-endpoint = <&csi40vin0>;
+					};
+				};
+			};
 		};
 
 		vin1: video@e6ef1000 {
+			compatible = "renesas,vin-r8a77961";
 			reg = <0 0xe6ef1000 0 0x1000>;
-			/* placeholder */
+			interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&cpg CPG_MOD 810>;
+			power-domains = <&sysc R8A77961_PD_ALWAYS_ON>;
+			resets = <&cpg 810>;
+			renesas,id = <1>;
+			status = "disabled";
+
+			ports {
+				#address-cells = <1>;
+				#size-cells = <0>;
+
+				port@1 {
+					#address-cells = <1>;
+					#size-cells = <0>;
+
+					reg = <1>;
+
+					vin1csi20: endpoint@0 {
+						reg = <0>;
+						remote-endpoint = <&csi20vin1>;
+					};
+					vin1csi40: endpoint@2 {
+						reg = <2>;
+						remote-endpoint = <&csi40vin1>;
+					};
+				};
+			};
 		};
 
 		vin2: video@e6ef2000 {
+			compatible = "renesas,vin-r8a77961";
 			reg = <0 0xe6ef2000 0 0x1000>;
-			/* placeholder */
+			interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&cpg CPG_MOD 809>;
+			power-domains = <&sysc R8A77961_PD_ALWAYS_ON>;
+			resets = <&cpg 809>;
+			renesas,id = <2>;
+			status = "disabled";
+
+			ports {
+				#address-cells = <1>;
+				#size-cells = <0>;
+
+				port@1 {
+					#address-cells = <1>;
+					#size-cells = <0>;
+
+					reg = <1>;
+
+					vin2csi20: endpoint@0 {
+						reg = <0>;
+						remote-endpoint = <&csi20vin2>;
+					};
+					vin2csi40: endpoint@2 {
+						reg = <2>;
+						remote-endpoint = <&csi40vin2>;
+					};
+				};
+			};
 		};
 
 		vin3: video@e6ef3000 {
+			compatible = "renesas,vin-r8a77961";
 			reg = <0 0xe6ef3000 0 0x1000>;
-			/* placeholder */
+			interrupts = <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&cpg CPG_MOD 808>;
+			power-domains = <&sysc R8A77961_PD_ALWAYS_ON>;
+			resets = <&cpg 808>;
+			renesas,id = <3>;
+			status = "disabled";
+
+			ports {
+				#address-cells = <1>;
+				#size-cells = <0>;
+
+				port@1 {
+					#address-cells = <1>;
+					#size-cells = <0>;
+
+					reg = <1>;
+
+					vin3csi20: endpoint@0 {
+						reg = <0>;
+						remote-endpoint = <&csi20vin3>;
+					};
+					vin3csi40: endpoint@2 {
+						reg = <2>;
+						remote-endpoint = <&csi40vin3>;
+					};
+				};
+			};
 		};
 
 		vin4: video@e6ef4000 {
+			compatible = "renesas,vin-r8a77961";
 			reg = <0 0xe6ef4000 0 0x1000>;
-			/* placeholder */
+			interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&cpg CPG_MOD 807>;
+			power-domains = <&sysc R8A77961_PD_ALWAYS_ON>;
+			resets = <&cpg 807>;
+			renesas,id = <4>;
+			status = "disabled";
+
+			ports {
+				#address-cells = <1>;
+				#size-cells = <0>;
+
+				port@1 {
+					#address-cells = <1>;
+					#size-cells = <0>;
+
+					reg = <1>;
+
+					vin4csi20: endpoint@0 {
+						reg = <0>;
+						remote-endpoint = <&csi20vin4>;
+					};
+					vin4csi40: endpoint@2 {
+						reg = <2>;
+						remote-endpoint = <&csi40vin4>;
+					};
+				};
+			};
 		};
 
 		vin5: video@e6ef5000 {
+			compatible = "renesas,vin-r8a77961";
 			reg = <0 0xe6ef5000 0 0x1000>;
-			/* placeholder */
+			interrupts = <GIC_SPI 175 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&cpg CPG_MOD 806>;
+			power-domains = <&sysc R8A77961_PD_ALWAYS_ON>;
+			resets = <&cpg 806>;
+			renesas,id = <5>;
+			status = "disabled";
+
+			ports {
+				#address-cells = <1>;
+				#size-cells = <0>;
+
+				port@1 {
+					#address-cells = <1>;
+					#size-cells = <0>;
+
+					reg = <1>;
+
+					vin5csi20: endpoint@0 {
+						reg = <0>;
+						remote-endpoint = <&csi20vin5>;
+					};
+					vin5csi40: endpoint@2 {
+						reg = <2>;
+						remote-endpoint = <&csi40vin5>;
+					};
+				};
+			};
 		};
 
 		vin6: video@e6ef6000 {
+			compatible = "renesas,vin-r8a77961";
 			reg = <0 0xe6ef6000 0 0x1000>;
-			/* placeholder */
+			interrupts = <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&cpg CPG_MOD 805>;
+			power-domains = <&sysc R8A77961_PD_ALWAYS_ON>;
+			resets = <&cpg 805>;
+			renesas,id = <6>;
+			status = "disabled";
+
+			ports {
+				#address-cells = <1>;
+				#size-cells = <0>;
+
+				port@1 {
+					#address-cells = <1>;
+					#size-cells = <0>;
+
+					reg = <1>;
+
+					vin6csi20: endpoint@0 {
+						reg = <0>;
+						remote-endpoint = <&csi20vin6>;
+					};
+					vin6csi40: endpoint@2 {
+						reg = <2>;
+						remote-endpoint = <&csi40vin6>;
+					};
+				};
+			};
 		};
 
 		vin7: video@e6ef7000 {
+			compatible = "renesas,vin-r8a77961";
 			reg = <0 0xe6ef7000 0 0x1000>;
-			/* placeholder */
+			interrupts = <GIC_SPI 171 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&cpg CPG_MOD 804>;
+			power-domains = <&sysc R8A77961_PD_ALWAYS_ON>;
+			resets = <&cpg 804>;
+			renesas,id = <7>;
+			status = "disabled";
+
+			ports {
+				#address-cells = <1>;
+				#size-cells = <0>;
+
+				port@1 {
+					#address-cells = <1>;
+					#size-cells = <0>;
+
+					reg = <1>;
+
+					vin7csi20: endpoint@0 {
+						reg = <0>;
+						remote-endpoint = <&csi20vin7>;
+					};
+					vin7csi40: endpoint@2 {
+						reg = <2>;
+						remote-endpoint = <&csi40vin7>;
+					};
+				};
+			};
 		};
 
 		rcar_sound: sound@ec500000 {
@@ -2249,8 +2465,13 @@  vspi0: vsp@fe9a0000 {
 		};
 
 		csi20: csi2@fea80000 {
+			compatible = "renesas,r8a77961-csi2";
 			reg = <0 0xfea80000 0 0x10000>;
-			/* placeholder */
+			interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&cpg CPG_MOD 714>;
+			power-domains = <&sysc R8A77961_PD_ALWAYS_ON>;
+			resets = <&cpg 714>;
+			status = "disabled";
 
 			ports {
 				#address-cells = <1>;
@@ -2259,14 +2480,53 @@  ports {
 				port@1 {
 					#address-cells = <1>;
 					#size-cells = <0>;
+
 					reg = <1>;
+
+					csi20vin0: endpoint@0 {
+						reg = <0>;
+						remote-endpoint = <&vin0csi20>;
+					};
+					csi20vin1: endpoint@1 {
+						reg = <1>;
+						remote-endpoint = <&vin1csi20>;
+					};
+					csi20vin2: endpoint@2 {
+						reg = <2>;
+						remote-endpoint = <&vin2csi20>;
+					};
+					csi20vin3: endpoint@3 {
+						reg = <3>;
+						remote-endpoint = <&vin3csi20>;
+					};
+					csi20vin4: endpoint@4 {
+						reg = <4>;
+						remote-endpoint = <&vin4csi20>;
+					};
+					csi20vin5: endpoint@5 {
+						reg = <5>;
+						remote-endpoint = <&vin5csi20>;
+					};
+					csi20vin6: endpoint@6 {
+						reg = <6>;
+						remote-endpoint = <&vin6csi20>;
+					};
+					csi20vin7: endpoint@7 {
+						reg = <7>;
+						remote-endpoint = <&vin7csi20>;
+					};
 				};
 			};
 		};
 
 		csi40: csi2@feaa0000 {
+			compatible = "renesas,r8a77961-csi2";
 			reg = <0 0xfeaa0000 0 0x10000>;
-			/* placeholder */
+			interrupts = <GIC_SPI 246 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&cpg CPG_MOD 716>;
+			power-domains = <&sysc R8A77961_PD_ALWAYS_ON>;
+			resets = <&cpg 716>;
+			status = "disabled";
 
 			ports {
 				#address-cells = <1>;
@@ -2277,7 +2537,41 @@  port@1 {
 					#size-cells = <0>;
 
 					reg = <1>;
+
+					csi40vin0: endpoint@0 {
+						reg = <0>;
+						remote-endpoint = <&vin0csi40>;
+					};
+					csi40vin1: endpoint@1 {
+						reg = <1>;
+						remote-endpoint = <&vin1csi40>;
+					};
+					csi40vin2: endpoint@2 {
+						reg = <2>;
+						remote-endpoint = <&vin2csi40>;
+					};
+					csi40vin3: endpoint@3 {
+						reg = <3>;
+						remote-endpoint = <&vin3csi40>;
+					};
+					csi40vin4: endpoint@4 {
+						reg = <4>;
+						remote-endpoint = <&vin4csi40>;
+					};
+					csi40vin5: endpoint@5 {
+						reg = <5>;
+						remote-endpoint = <&vin5csi40>;
+					};
+					csi40vin6: endpoint@6 {
+						reg = <6>;
+						remote-endpoint = <&vin6csi40>;
+					};
+					csi40vin7: endpoint@7 {
+						reg = <7>;
+						remote-endpoint = <&vin7csi40>;
+					};
 				};
+
 			};
 		};