Commit 3182aa4e authored by Sergei Shtylyov's avatar Sergei Shtylyov Committed by Simon Horman
Browse files

arm64: dts: renesas: r8a77980: add CSI2/VIN support



Describe the CSI2 and VIN (and their interconnections) in the R8A77980
device tree.

Signed-off-by: default avatarSergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Signed-off-by: default avatarSimon Horman <horms+renesas@verge.net.au>
parent 3a0832d0
Loading
Loading
Loading
Loading
+374 −0
Original line number Diff line number Diff line
@@ -579,6 +579,302 @@
			status = "disabled";
		};

		vin0: video@e6ef0000 {
			compatible = "renesas,vin-r8a77980";
			reg = <0 0xe6ef0000 0 0x1000>;
			interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&cpg CPG_MOD 811>;
			power-domains = <&sysc R8A77980_PD_ALWAYS_ON>;
			resets = <&cpg 811>;
			status = "disabled";

			ports {
				#address-cells = <1>;
				#size-cells = <0>;

				port@1 {
					#address-cells = <1>;
					#size-cells = <0>;

					reg = <1>;

					vin0csi40: endpoint@2 {
						reg = <2>;
						remote-endpoint= <&csi40vin0>;
					};
				};
			};
		};

		vin1: video@e6ef1000 {
			compatible = "renesas,vin-r8a77980";
			reg = <0 0xe6ef1000 0 0x1000>;
			interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&cpg CPG_MOD 810>;
			power-domains = <&sysc R8A77980_PD_ALWAYS_ON>;
			status = "disabled";
			resets = <&cpg 810>;

			ports {
				#address-cells = <1>;
				#size-cells = <0>;

				port@1 {
					#address-cells = <1>;
					#size-cells = <0>;

					reg = <1>;

					vin1csi40: endpoint@2 {
						reg = <2>;
						remote-endpoint= <&csi40vin1>;
					};
				};
			};
		};

		vin2: video@e6ef2000 {
			compatible = "renesas,vin-r8a77980";
			reg = <0 0xe6ef2000 0 0x1000>;
			interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&cpg CPG_MOD 809>;
			power-domains = <&sysc R8A77980_PD_ALWAYS_ON>;
			resets = <&cpg 809>;
			status = "disabled";

			ports {
				#address-cells = <1>;
				#size-cells = <0>;

				port@1 {
					#address-cells = <1>;
					#size-cells = <0>;

					reg = <1>;

					vin2csi40: endpoint@2 {
						reg = <2>;
						remote-endpoint= <&csi40vin2>;
					};
				};
			};
		};

		vin3: video@e6ef3000 {
			compatible = "renesas,vin-r8a77980";
			reg = <0 0xe6ef3000 0 0x1000>;
			interrupts = <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&cpg CPG_MOD 808>;
			power-domains = <&sysc R8A77980_PD_ALWAYS_ON>;
			resets = <&cpg 808>;
			status = "disabled";

			ports {
				#address-cells = <1>;
				#size-cells = <0>;

				port@1 {
					#address-cells = <1>;
					#size-cells = <0>;

					reg = <1>;

					vin3csi40: endpoint@2 {
						reg = <2>;
						remote-endpoint= <&csi40vin3>;
					};
				};
			};
		};

		vin4: video@e6ef4000 {
			compatible = "renesas,vin-r8a77980";
			reg = <0 0xe6ef4000 0 0x1000>;
			interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&cpg CPG_MOD 807>;
			power-domains = <&sysc R8A77980_PD_ALWAYS_ON>;
			resets = <&cpg 807>;
			status = "disabled";

			ports {
				#address-cells = <1>;
				#size-cells = <0>;

				port@1 {
					#address-cells = <1>;
					#size-cells = <0>;

					reg = <1>;

					vin4csi41: endpoint@2 {
						reg = <2>;
						remote-endpoint= <&csi41vin4>;
					};
				};
			};
		};

		vin5: video@e6ef5000 {
			compatible = "renesas,vin-r8a77980";
			reg = <0 0xe6ef5000 0 0x1000>;
			interrupts = <GIC_SPI 175 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&cpg CPG_MOD 806>;
			power-domains = <&sysc R8A77980_PD_ALWAYS_ON>;
			resets = <&cpg 806>;
			status = "disabled";

			ports {
				#address-cells = <1>;
				#size-cells = <0>;

				port@1 {
					#address-cells = <1>;
					#size-cells = <0>;

					reg = <1>;

					vin5csi41: endpoint@2 {
						reg = <2>;
						remote-endpoint= <&csi41vin5>;
					};
				};
			};
		};

		vin6: video@e6ef6000 {
			compatible = "renesas,vin-r8a77980";
			reg = <0 0xe6ef6000 0 0x1000>;
			interrupts = <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&cpg CPG_MOD 805>;
			power-domains = <&sysc R8A77980_PD_ALWAYS_ON>;
			resets = <&cpg 805>;
			status = "disabled";

			ports {
				#address-cells = <1>;
				#size-cells = <0>;

				port@1 {
					#address-cells = <1>;
					#size-cells = <0>;

					reg = <1>;

					vin6csi41: endpoint@2 {
						reg = <2>;
						remote-endpoint= <&csi41vin6>;
					};
				};
			};
		};

		vin7: video@e6ef7000 {
			compatible = "renesas,vin-r8a77980";
			reg = <0 0xe6ef7000 0 0x1000>;
			interrupts = <GIC_SPI 171 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&cpg CPG_MOD 804>;
			power-domains = <&sysc R8A77980_PD_ALWAYS_ON>;
			resets = <&cpg 804>;
			status = "disabled";

			ports {
				#address-cells = <1>;
				#size-cells = <0>;

				port@1 {
					#address-cells = <1>;
					#size-cells = <0>;

					reg = <1>;

					vin7csi41: endpoint@2 {
						reg = <2>;
						remote-endpoint= <&csi41vin7>;
					};
				};
			};
		};

		vin8: video@e6ef8000 {
			compatible = "renesas,vin-r8a77980";
			reg = <0 0xe6ef8000 0 0x1000>;
			interrupts = <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&cpg CPG_MOD 628>;
			power-domains = <&sysc R8A77980_PD_ALWAYS_ON>;
			resets = <&cpg 628>;
			status = "disabled";
		};

		vin9: video@e6ef9000 {
			compatible = "renesas,vin-r8a77980";
			reg = <0 0xe6ef9000 0 0x1000>;
			interrupts = <GIC_SPI 269 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&cpg CPG_MOD 627>;
			power-domains = <&sysc R8A77980_PD_ALWAYS_ON>;
			resets = <&cpg 627>;
			status = "disabled";
		};

		vin10: video@e6efa000 {
			compatible = "renesas,vin-r8a77980";
			reg = <0 0xe6efa000 0 0x1000>;
			interrupts = <GIC_SPI 289 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&cpg CPG_MOD 625>;
			power-domains = <&sysc R8A77980_PD_ALWAYS_ON>;
			resets = <&cpg 625>;
			status = "disabled";
		};

		vin11: video@e6efb000 {
			compatible = "renesas,vin-r8a77980";
			reg = <0 0xe6efb000 0 0x1000>;
			interrupts = <GIC_SPI 296 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&cpg CPG_MOD 618>;
			power-domains = <&sysc R8A77980_PD_ALWAYS_ON>;
			resets = <&cpg 618>;
			status = "disabled";
		};

		vin12: video@e6efc000 {
			compatible = "renesas,vin-r8a77980";
			reg = <0 0xe6efc000 0 0x1000>;
			interrupts = <GIC_SPI 298 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&cpg CPG_MOD 612>;
			power-domains = <&sysc R8A77980_PD_ALWAYS_ON>;
			resets = <&cpg 612>;
			status = "disabled";
		};

		vin13: video@e6efd000 {
			compatible = "renesas,vin-r8a77980";
			reg = <0 0xe6efd000 0 0x1000>;
			interrupts = <GIC_SPI 299 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&cpg CPG_MOD 608>;
			power-domains = <&sysc R8A77980_PD_ALWAYS_ON>;
			resets = <&cpg 608>;
			status = "disabled";
		};

		vin14: video@e6efe000 {
			compatible = "renesas,vin-r8a77980";
			reg = <0 0xe6efe000 0 0x1000>;
			interrupts = <GIC_SPI 301 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&cpg CPG_MOD 605>;
			power-domains = <&sysc R8A77980_PD_ALWAYS_ON>;
			resets = <&cpg 605>;
			status = "disabled";
		};

		vin15: video@e6eff000 {
			compatible = "renesas,vin-r8a77980";
			reg = <0 0xe6eff000 0 0x1000>;
			interrupts = <GIC_SPI 302 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&cpg CPG_MOD 604>;
			power-domains = <&sysc R8A77980_PD_ALWAYS_ON>;
			resets = <&cpg 604>;
			status = "disabled";
		};

		dmac1: dma-controller@e7300000 {
			compatible = "renesas,dmac-r8a77980",
				     "renesas,rcar-dmac";
@@ -769,6 +1065,84 @@
			resets = <&cpg 603>;
		};

		csi40: csi2@feaa0000 {
			compatible = "renesas,r8a77980-csi2";
			reg = <0 0xfeaa0000 0 0x10000>;
			interrupts = <GIC_SPI 246 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&cpg CPG_MOD 716>;
			power-domains = <&sysc R8A77980_PD_ALWAYS_ON>;
			resets = <&cpg 716>;
			status = "disabled";

			ports {
				#address-cells = <1>;
				#size-cells = <0>;

				port@1 {
					#address-cells = <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>;
					};
				};
			};
		};

		csi41: csi2@feab0000 {
			compatible = "renesas,r8a77980-csi2";
			reg = <0 0xfeab0000 0 0x10000>;
			interrupts = <GIC_SPI 241 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&cpg CPG_MOD 715>;
			power-domains = <&sysc R8A77980_PD_ALWAYS_ON>;
			resets = <&cpg 715>;
			status = "disabled";

			ports {
				#address-cells = <1>;
				#size-cells = <0>;

				port@1 {
					#address-cells = <1>;
					#size-cells = <0>;

					reg = <1>;

					csi41vin4: endpoint@0 {
						reg = <0>;
						remote-endpoint = <&vin4csi41>;
					};
					csi41vin5: endpoint@1 {
						reg = <1>;
						remote-endpoint = <&vin5csi41>;
					};
					csi41vin6: endpoint@2 {
						reg = <2>;
						remote-endpoint = <&vin6csi41>;
					};
					csi41vin7: endpoint@3 {
						reg = <3>;
						remote-endpoint = <&vin7csi41>;
					};
				};
			};
		};

		du: display@feb00000 {
			compatible = "renesas,du-r8a77980",
				     "renesas,du-r8a77970";