Commit 571d32c2 authored by Olof Johansson's avatar Olof Johansson
Browse files

Merge tag 'renesas-arm64-dt-for-v5.5-tag2' of...

Merge tag 'renesas-arm64-dt-for-v5.5-tag2' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into arm/dt

Renesas ARM64 DT updates for v5.5 (take two)

  - Video-Input and Serial-ATA support on RZ/G2N,
  - Color Management Module support on various R-Car Gen3 SoCs,
  - Initial support for the R-Car M3-W+ (r8a77961) SoC on the
    Salvator-XS board.

* tag 'renesas-arm64-dt-for-v5.5-tag2' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  arm64: dts: renesas: Add support for Salvator-XS with R-Car M3-W+
  arm64: dts: renesas: Add Renesas R8A77961 SoC support
  arm64: dts: renesas: Prepare for rename of ARCH_R8A7796 to ARCH_R8A77960
  dt-bindings: clock: Add r8a77961 CPG Core Clock Definitions
  dt-bindings: power: Add r8a77961 SYSC power domain definitions
  arm64: dts: renesas: r8a774b1: Add SATA controller node
  arm64: dts: renesas: rcar-gen3: Add CMM units
  arm64: dts: renesas: r8a774b1: Add VIN and CSI-2 support

Link: https://lore.kernel.org/r/20191101155842.31467-5-geert+renesas@glider.be


Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
parents 19e489aa 92980759
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -12,6 +12,10 @@ dtb-$(CONFIG_ARCH_R8A7795) += r8a7795-es1-h3ulcb-kf.dtb
dtb-$(CONFIG_ARCH_R8A7796) += r8a7796-salvator-x.dtb r8a7796-m3ulcb.dtb
dtb-$(CONFIG_ARCH_R8A7796) += r8a7796-m3ulcb-kf.dtb
dtb-$(CONFIG_ARCH_R8A7796) += r8a7796-salvator-xs.dtb
dtb-$(CONFIG_ARCH_R8A77960) += r8a7796-salvator-x.dtb r8a7796-m3ulcb.dtb
dtb-$(CONFIG_ARCH_R8A77960) += r8a7796-m3ulcb-kf.dtb
dtb-$(CONFIG_ARCH_R8A77960) += r8a7796-salvator-xs.dtb
dtb-$(CONFIG_ARCH_R8A77961) += r8a77961-salvator-xs.dtb
dtb-$(CONFIG_ARCH_R8A77965) += r8a77965-salvator-x.dtb r8a77965-salvator-xs.dtb
dtb-$(CONFIG_ARCH_R8A77965) += r8a77965-m3nulcb.dtb
dtb-$(CONFIG_ARCH_R8A77965) += r8a77965-m3nulcb-kf.dtb
+377 −0
Original line number Diff line number Diff line
@@ -1282,6 +1282,262 @@
			status = "disabled";
		};

		vin0: video@e6ef0000 {
			compatible = "renesas,vin-r8a774b1";
			reg = <0 0xe6ef0000 0 0x1000>;
			interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&cpg CPG_MOD 811>;
			power-domains = <&sysc R8A774B1_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-r8a774b1";
			reg = <0 0xe6ef1000 0 0x1000>;
			interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&cpg CPG_MOD 810>;
			power-domains = <&sysc R8A774B1_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-r8a774b1";
			reg = <0 0xe6ef2000 0 0x1000>;
			interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&cpg CPG_MOD 809>;
			power-domains = <&sysc R8A774B1_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-r8a774b1";
			reg = <0 0xe6ef3000 0 0x1000>;
			interrupts = <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&cpg CPG_MOD 808>;
			power-domains = <&sysc R8A774B1_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-r8a774b1";
			reg = <0 0xe6ef4000 0 0x1000>;
			interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&cpg CPG_MOD 807>;
			power-domains = <&sysc R8A774B1_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-r8a774b1";
			reg = <0 0xe6ef5000 0 0x1000>;
			interrupts = <GIC_SPI 175 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&cpg CPG_MOD 806>;
			power-domains = <&sysc R8A774B1_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-r8a774b1";
			reg = <0 0xe6ef6000 0 0x1000>;
			interrupts = <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&cpg CPG_MOD 805>;
			power-domains = <&sysc R8A774B1_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-r8a774b1";
			reg = <0 0xe6ef7000 0 0x1000>;
			interrupts = <GIC_SPI 171 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&cpg CPG_MOD 804>;
			power-domains = <&sysc R8A774B1_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 {
			/*
			 * #sound-dai-cells is required
@@ -1900,6 +2156,17 @@
			status = "disabled";
		};

		sata: sata@ee300000 {
			compatible = "renesas,sata-r8a774b1",
				     "renesas,rcar-gen3-sata";
			reg = <0 0xee300000 0 0x200000>;
			interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&cpg CPG_MOD 815>;
			power-domains = <&sysc R8A774B1_PD_ALWAYS_ON>;
			resets = <&cpg 815>;
			status = "disabled";
		};

		gic: interrupt-controller@f1010000 {
			compatible = "arm,gic-400";
			#interrupt-cells = <3>;
@@ -2065,6 +2332,116 @@
			resets = <&cpg 611>;
		};

		csi20: csi2@fea80000 {
			compatible = "renesas,r8a774b1-csi2";
			reg = <0 0xfea80000 0 0x10000>;
			interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&cpg CPG_MOD 714>;
			power-domains = <&sysc R8A774B1_PD_ALWAYS_ON>;
			resets = <&cpg 714>;
			status = "disabled";

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

				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,r8a774b1-csi2";
			reg = <0 0xfeaa0000 0 0x10000>;
			interrupts = <GIC_SPI 246 IRQ_TYPE_LEVEL_HIGH>;
			clocks = <&cpg CPG_MOD 716>;
			power-domains = <&sysc R8A774B1_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>;
					};
					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>;
					};
				};
			};
		};

		hdmi0: hdmi@fead0000 {
			compatible = "renesas,r8a774b1-hdmi",
				     "renesas,rcar-gen3-hdmi";
+39 −0
Original line number Diff line number Diff line
@@ -2943,6 +2943,42 @@
			iommus = <&ipmmu_vi1 10>;
		};

		cmm0: cmm@fea40000 {
			compatible = "renesas,r8a7795-cmm",
				     "renesas,rcar-gen3-cmm";
			reg = <0 0xfea40000 0 0x1000>;
			power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
			clocks = <&cpg CPG_MOD 711>;
			resets = <&cpg 711>;
		};

		cmm1: cmm@fea50000 {
			compatible = "renesas,r8a7795-cmm",
				     "renesas,rcar-gen3-cmm";
			reg = <0 0xfea50000 0 0x1000>;
			power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
			clocks = <&cpg CPG_MOD 710>;
			resets = <&cpg 710>;
		};

		cmm2: cmm@fea60000 {
			compatible = "renesas,r8a7795-cmm",
				     "renesas,rcar-gen3-cmm";
			reg = <0 0xfea60000 0 0x1000>;
			power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
			clocks = <&cpg CPG_MOD 709>;
			resets = <&cpg 709>;
		};

		cmm3: cmm@fea70000 {
			compatible = "renesas,r8a7795-cmm",
				     "renesas,rcar-gen3-cmm";
			reg = <0 0xfea70000 0 0x1000>;
			power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
			clocks = <&cpg CPG_MOD 708>;
			resets = <&cpg 708>;
		};

		csi20: csi2@fea80000 {
			compatible = "renesas,r8a7795-csi2";
			reg = <0 0xfea80000 0 0x10000>;
@@ -3146,7 +3182,10 @@
				 <&cpg CPG_MOD 722>,
				 <&cpg CPG_MOD 721>;
			clock-names = "du.0", "du.1", "du.2", "du.3";

			renesas,cmms = <&cmm0>, <&cmm1>, <&cmm2>, <&cmm3>;
			vsps = <&vspd0 0>, <&vspd1 0>, <&vspd2 0>, <&vspd0 1>;

			status = "disabled";

			ports {
+30 −1
Original line number Diff line number Diff line
@@ -2645,6 +2645,33 @@
			renesas,fcp = <&fcpvi0>;
		};

		cmm0: cmm@fea40000 {
			compatible = "renesas,r8a7796-cmm",
				     "renesas,rcar-gen3-cmm";
			reg = <0 0xfea40000 0 0x1000>;
			power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
			clocks = <&cpg CPG_MOD 711>;
			resets = <&cpg 711>;
		};

		cmm1: cmm@fea50000 {
			compatible = "renesas,r8a7796-cmm",
				     "renesas,rcar-gen3-cmm";
			reg = <0 0xfea50000 0 0x1000>;
			power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
			clocks = <&cpg CPG_MOD 710>;
			resets = <&cpg 710>;
		};

		cmm2: cmm@fea60000 {
			compatible = "renesas,r8a7796-cmm",
				     "renesas,rcar-gen3-cmm";
			reg = <0 0xfea60000 0 0x1000>;
			power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
			clocks = <&cpg CPG_MOD 709>;
			resets = <&cpg 709>;
		};

		csi20: csi2@fea80000 {
			compatible = "renesas,r8a7796-csi2";
			reg = <0 0xfea80000 0 0x10000>;
@@ -2795,10 +2822,12 @@
				 <&cpg CPG_MOD 723>,
				 <&cpg CPG_MOD 722>;
			clock-names = "du.0", "du.1", "du.2";
			status = "disabled";

			renesas,cmms = <&cmm0>, <&cmm1>, <&cmm2>;
			vsps = <&vspd0 0>, <&vspd1 0>, <&vspd2 0>;

			status = "disabled";

			ports {
				#address-cells = <1>;
				#size-cells = <0>;
+31 −0
Original line number Diff line number Diff line
// SPDX-License-Identifier: GPL-2.0
/*
 * Device Tree Source for the Salvator-X 2nd version board with R-Car M3-W+
 *
 * Copyright (C) 2018 Renesas Electronics Corp.
 */

/dts-v1/;
#include "r8a77961.dtsi"
#include "salvator-xs.dtsi"

/ {
	model = "Renesas Salvator-X 2nd version board based on r8a77961";
	compatible = "renesas,salvator-xs", "renesas,r8a77961";

	memory@48000000 {
		device_type = "memory";
		/* first 128MB is reserved for secure area. */
		reg = <0x0 0x48000000 0x0 0x78000000>;
	};

	memory@400000000 {
		device_type = "memory";
		reg = <0x4 0x80000000 0x0 0x80000000>;
	};

	memory@600000000 {
		device_type = "memory";
		reg = <0x6 0x00000000 0x1 0x00000000>;
	};
};
Loading