Commit 85af259b authored by Arnd Bergmann's avatar Arnd Bergmann
Browse files

Merge tag 'renesas-arm-dt-for-v5.13-tag2' of...

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

Renesas ARM DT updates for v5.13 (take two)

  - Video IN (VIN) and Camera (CSI-2) support for the R-Car M3-W+ SoC,
  - LED support for the Falcon development board,
  - Preparatory display pipeline support for the R-Car V3U SoC,
  - Miscellaneous fixes and improvements.

* tag 'renesas-arm-dt-for-v5.13-tag2' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  arm64: dts: renesas: ulcb: Add cpu-supply property to a57_0 node
  arm64: dts: renesas: salvator-common: Add cpu-supply property to a57_0 node
  arm64: dts: renesas: r8a77950: Drop operating points above 1.5 GHz
  arm64: dts: renesas: r8a779a0: Fix PMU interrupt
  arm64: dts: renesas: r8a779a0: Add VSPD support
  arm64: dts: renesas: r8a779a0: Add FCPVD support
  arm64: dts: renesas: falcon-cpu: Add GP LEDs
  arm64: dts: renesas: r8a77961: Add VIN and CSI-2 device nodes
  ARM: dts: koelsch: Configure pull-up for SOFT_SW GPIO keys
  arm64: dts: renesas: falcon: Move AVB0 to main DTS
  arm64: dts: renesas: falcon: Move watchdog config to CPU board DTS
  arm64: dts: renesas: falcon: Move console config to CPU board DTS

Link: https://lore.kernel.org/r/cover.1617359678.git.geert+renesas@glider.be


Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parents 7d534c3a 2b35ca2f
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -81,6 +81,9 @@
	keyboard {
		compatible = "gpio-keys";

		pinctrl-0 = <&sw2_pins>;
		pinctrl-names = "default";

		key-1 {
			gpios = <&gpio5 0 GPIO_ACTIVE_LOW>;
			linux,code = <KEY_1>;
@@ -618,6 +621,11 @@
		groups = "audio_clk_a";
		function = "audio_clk";
	};

	sw2_pins: sw2 {
		pins = "GP_5_0", "GP_5_1", "GP_5_2", "GP_5_3";
		bias-pull-up;
	};
};

&ether {
+5 −0
Original line number Diff line number Diff line
@@ -29,6 +29,11 @@
	       <&ipmmu_mp1 30>, <&ipmmu_mp1 31>;
};

&cluster0_opp {
	/delete-node/ opp-1600000000;
	/delete-node/ opp-1700000000;
};

&du {
	renesas,vsps = <&vspd0 0>, <&vspd1 0>, <&vspd2 0>, <&vspd3 0>;
};
+304 −10
Original line number Diff line number Diff line
@@ -1419,43 +1419,259 @@
		};

		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 {
@@ -2271,8 +2487,13 @@
		};

		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>;
@@ -2281,14 +2502,53 @@
				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>;
@@ -2299,7 +2559,41 @@
					#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>;
					};
				};

			};
		};

+38 −34
Original line number Diff line number Diff line
@@ -6,12 +6,45 @@
 */

#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/leds/common.h>

#include "r8a779a0.dtsi"

/ {
	model = "Renesas Falcon CPU board";
	compatible = "renesas,falcon-cpu", "renesas,r8a779a0";

	aliases {
		serial0 = &scif0;
	};

	chosen {
		stdout-path = "serial0:115200n8";
	};

	leds {
		compatible = "gpio-leds";

		led-1 {
			gpios = <&gpio4 18 GPIO_ACTIVE_HIGH>;
			color = <LED_COLOR_ID_GREEN>;
			function = LED_FUNCTION_INDICATOR;
			function-enumerator = <1>;
		};
		led-2 {
			gpios = <&gpio4 19 GPIO_ACTIVE_HIGH>;
			color = <LED_COLOR_ID_GREEN>;
			function = LED_FUNCTION_INDICATOR;
			function-enumerator = <2>;
		};
		led-3 {
			gpios = <&gpio4 20 GPIO_ACTIVE_HIGH>;
			color = <LED_COLOR_ID_GREEN>;
			function = LED_FUNCTION_INDICATOR;
			function-enumerator = <3>;
		};
	};

	memory@48000000 {
		device_type = "memory";
		/* first 128MB is reserved for secure area. */
@@ -52,22 +85,6 @@
	};
};

&avb0 {
	pinctrl-0 = <&avb0_pins>;
	pinctrl-names = "default";
	phy-handle = <&phy0>;
	tx-internal-delay-ps = <2000>;
	status = "okay";

	phy0: ethernet-phy@0 {
		rxc-skew-ps = <1500>;
		reg = <0>;
		interrupt-parent = <&gpio4>;
		interrupts = <16 IRQ_TYPE_LEVEL_LOW>;
		reset-gpios = <&gpio4 15 GPIO_ACTIVE_LOW>;
	};
};

&extal_clk {
	clock-frequency = <16666666>;
};
@@ -128,24 +145,6 @@
	pinctrl-0 = <&scif_clk_pins>;
	pinctrl-names = "default";

	avb0_pins: avb0 {
		mux {
			groups = "avb0_link", "avb0_mdio", "avb0_rgmii", "avb0_txcrefclk";
			function = "avb0";
		};

		pins_mdio {
			groups = "avb0_mdio";
			drive-strength = <21>;
		};

		pins_mii {
			groups = "avb0_rgmii";
			drive-strength = <21>;
		};

	};

	i2c0_pins: i2c0 {
		groups = "i2c0";
		function = "i2c0";
@@ -178,6 +177,11 @@
	};
};

&rwdt {
	timeout-sec = <60>;
	status = "okay";
};

&scif0 {
	pinctrl-0 = <&scif0_pins>;
	pinctrl-names = "default";
+33 −6
Original line number Diff line number Diff line
@@ -16,11 +16,22 @@

	aliases {
		ethernet0 = &avb0;
		serial0 = &scif0;
	};
};

&avb0 {
	pinctrl-0 = <&avb0_pins>;
	pinctrl-names = "default";
	phy-handle = <&phy0>;
	tx-internal-delay-ps = <2000>;
	status = "okay";

	chosen {
		stdout-path = "serial0:115200n8";
	phy0: ethernet-phy@0 {
		rxc-skew-ps = <1500>;
		reg = <0>;
		interrupt-parent = <&gpio4>;
		interrupts = <16 IRQ_TYPE_LEVEL_LOW>;
		reset-gpios = <&gpio4 15 GPIO_ACTIVE_LOW>;
	};
};

@@ -33,7 +44,23 @@
	};
};

&rwdt {
	timeout-sec = <60>;
	status = "okay";
&pfc {
	avb0_pins: avb0 {
		mux {
			groups = "avb0_link", "avb0_mdio", "avb0_rgmii",
				 "avb0_txcrefclk";
			function = "avb0";
		};

		pins_mdio {
			groups = "avb0_mdio";
			drive-strength = <21>;
		};

		pins_mii {
			groups = "avb0_rgmii";
			drive-strength = <21>;
		};

	};
};
Loading