Commit 95f595d1 authored by Arnd Bergmann's avatar Arnd Bergmann
Browse files

Merge tag 'renesas-arm-dt-for-v5.11-tag1' of...

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

Renesas ARM DT updates for v5.11

  - Touch screen and OV5640 camera support for the iWave RainboW Qseven
    board (G21D), and its camera expansion board,
  - Support for the AISTARVISION MIPI Adapter V2.1 board connected to
    HiHope RZ/G2 boards,
  - SPI (MSIOF) support for the R-Car M3-W+ SoC,
  - Digital Radio Interface (DRIF) support for the R-Car M3-N SoC,
  - Initial support for the R-Car M3-W+ ULCB/Kingfisher board combo,
  - Minor fixes and improvements.

* tag 'renesas-arm-dt-for-v5.11-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  arm64: dts: renesas: hihope-rev4: Add a comment explaining switch SW2404
  arm64: dts: renesas: r8a77961: ulcb-kf: Initial device tree
  arm64: dts: renesas: r8a77961: Add CAN{0,1} placeholder nodes
  arm64: dts: renesas: beacon-renesom-baseboard: Move connector node out of hd3ss3220 device
  arm64: dts: renesas: cat874: Move connector node out of hd3ss3220 device
  arm64: dts: renesas: rzg2: Convert EtherAVB to explicit delay handling
  arm64: dts: renesas: rcar-gen3: Convert EtherAVB to explicit delay handling
  arm64: dts: renesas: r8a77965: Add DRIF support
  arm64: dts: renesas: Add support for MIPI Adapter V2.1 connected to HiHope RZ/G2N
  arm64: dts: renesas: Add support for MIPI Adapter V2.1 connected to HiHope RZ/G2M
  arm64: dts: renesas: Add support for MIPI Adapter V2.1 connected to HiHope RZ/G2H
  arm64: dts: renesas: aistarvision-mipi-adapter-2.1: Add parent macro for each sensor
  arm64: dts: renesas: cat875: Remove rxc-skew-ps from ethernet-phy node
  arm64: dts: renesas: hihope-rzg2-ex: Drop rxc-skew-ps from ethernet-phy node
  ARM: dts: r8a7742-iwg21d-q7-dbcm-ca: Enable VIN instances
  arm64: dts: renesas: r8a77961: Add MSIOF nodes
  arm64: dts: renesas: Align GPIO hog names with dtschema
  ARM: dts: r8a7742-iwg21d-q7: Add LCD support

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


Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parents f8394f23 43bba657
Loading
Loading
Loading
Loading
+222 −0
Original line number Diff line number Diff line
@@ -20,6 +20,30 @@ aliases {
		serial5 = &hscif0;
		ethernet1 = &ether;
	};

	mclk_cam1: mclk-cam1 {
		compatible = "fixed-clock";
		#clock-cells = <0>;
		clock-frequency = <26000000>;
	};

	mclk_cam2: mclk-cam2 {
		compatible = "fixed-clock";
		#clock-cells = <0>;
		clock-frequency = <26000000>;
	};

	mclk_cam3: mclk-cam3 {
		compatible = "fixed-clock";
		#clock-cells = <0>;
		clock-frequency = <26000000>;
	};

	mclk_cam4: mclk-cam4 {
		compatible = "fixed-clock";
		#clock-cells = <0>;
		clock-frequency = <26000000>;
	};
};

&avb {
@@ -47,6 +71,19 @@ phy1: ethernet-phy@1 {
	};
};

&gpio0 {
	/* Disable hogging GP0_18 to output LOW */
	/delete-node/ qspi_en;

	/* Hog GP0_18 to output HIGH to enable VIN2 */
	vin2_en {
		gpio-hog;
		gpios = <18 GPIO_ACTIVE_HIGH>;
		output-high;
		line-name = "VIN2_EN";
	};
};

&hscif0 {
	pinctrl-0 = <&hscif0_pins>;
	pinctrl-names = "default";
@@ -54,6 +91,94 @@ &hscif0 {
	status = "okay";
};

&i2c0 {
	ov5640@3c {
		compatible = "ovti,ov5640";
		reg = <0x3c>;
		clocks = <&mclk_cam1>;
		clock-names = "xclk";

		port {
			ov5640_0: endpoint {
				bus-width = <8>;
				data-shift = <2>;
				bus-type = <6>;
				pclk-sample = <1>;
				remote-endpoint = <&vin0ep>;
			};
		};
	};
};

&i2c1 {
	pinctrl-0 = <&i2c1_pins>;
	pinctrl-names = "default";

	status = "okay";
	clock-frequency = <400000>;

	ov5640@3c {
		compatible = "ovti,ov5640";
		reg = <0x3c>;
		clocks = <&mclk_cam2>;
		clock-names = "xclk";

		port {
			ov5640_1: endpoint {
				bus-width = <8>;
				data-shift = <2>;
				bus-type = <6>;
				pclk-sample = <1>;
				remote-endpoint = <&vin1ep>;
			};
		};
	};
};

&i2c2 {
	ov5640@3c {
		compatible = "ovti,ov5640";
		reg = <0x3c>;
		clocks = <&mclk_cam3>;
		clock-names = "xclk";

		port {
			ov5640_2: endpoint {
				bus-width = <8>;
				data-shift = <2>;
				bus-type = <6>;
				pclk-sample = <1>;
				remote-endpoint = <&vin2ep>;
			};
		};
	};
};

&i2c3 {
	pinctrl-0 = <&i2c3_pins>;
	pinctrl-names = "default";

	status = "okay";
	clock-frequency = <400000>;

	ov5640@3c {
		compatible = "ovti,ov5640";
		reg = <0x3c>;
		clocks = <&mclk_cam4>;
		clock-names = "xclk";

		port {
			ov5640_3: endpoint {
				bus-width = <8>;
				data-shift = <2>;
				bus-type = <6>;
				pclk-sample = <1>;
				remote-endpoint = <&vin3ep>;
			};
		};
	};
};

&pfc {
	can0_pins: can0 {
		groups = "can0_data_d";
@@ -70,6 +195,16 @@ hscif0_pins: hscif0 {
		function = "hscif0";
	};

	i2c1_pins: i2c1 {
		groups = "i2c1_c";
		function = "i2c1";
	};

	i2c3_pins: i2c3 {
		groups = "i2c3";
		function = "i2c3";
	};

	scif0_pins: scif0 {
		groups = "scif0_data";
		function = "scif0";
@@ -84,6 +219,31 @@ scifb1_pins: scifb1 {
		groups = "scifb1_data";
		function = "scifb1";
	};

	vin0_8bit_pins: vin0 {
		groups = "vin0_data8", "vin0_clk", "vin0_sync";
		function = "vin0";
	};

	vin1_8bit_pins: vin1 {
		groups = "vin1_data8_b", "vin1_clk_b", "vin1_sync_b";
		function = "vin1";
	};

	vin2_pins: vin2 {
		groups = "vin2_g8", "vin2_clk";
		function = "vin2";
	};

	vin3_pins: vin3 {
		groups = "vin3_data8", "vin3_clk", "vin3_sync";
		function = "vin3";
	};
};

&qspi {
	/* Pins shared with VIN2, keep status disabled */
	status = "disabled";
};

&scif0 {
@@ -106,3 +266,65 @@ &scifb1 {
	rts-gpios = <&gpio4 21 GPIO_ACTIVE_LOW>;
	cts-gpios = <&gpio4 17 GPIO_ACTIVE_LOW>;
};

&vin0 {
	/*
	 * Set SW2 switch on the SOM to 'ON'
	 * Set SW1 switch on camera board to 'OFF' as we are using 8bit mode
	 */
	status = "okay";
	pinctrl-0 = <&vin0_8bit_pins>;
	pinctrl-names = "default";

	port {
		vin0ep: endpoint {
			remote-endpoint = <&ov5640_0>;
			bus-width = <8>;
			bus-type = <6>;
		};
	};
};

&vin1 {
	/* Set SW1 switch on the SOM to 'ON' */
	status = "okay";
	pinctrl-0 = <&vin1_8bit_pins>;
	pinctrl-names = "default";

	port {
		vin1ep: endpoint {
			remote-endpoint = <&ov5640_1>;
			bus-width = <8>;
			bus-type = <6>;
		};
	};
};

&vin2 {
	status = "okay";
	pinctrl-0 = <&vin2_pins>;
	pinctrl-names = "default";

	port {
		vin2ep: endpoint {
			remote-endpoint = <&ov5640_2>;
			bus-width = <8>;
			data-shift = <8>;
			bus-type = <6>;
		};
	};
};

&vin3 {
	status = "okay";
	pinctrl-0 = <&vin3_pins>;
	pinctrl-names = "default";

	port {
		vin3ep: endpoint {
			remote-endpoint = <&ov5640_3>;
			bus-width = <8>;
			bus-type = <6>;
		};
	};
};
+99 −0
Original line number Diff line number Diff line
@@ -30,6 +30,7 @@

/dts-v1/;
#include "r8a7742-iwg21m.dtsi"
#include <dt-bindings/pwm/pwm.h>

/ {
	model = "iWave Systems RainboW-G21D-Qseven board based on RZ/G1H";
@@ -52,6 +53,16 @@ audio_clock: audio_clock {
		clock-frequency = <26000000>;
	};

	lcd_backlight: backlight {
		compatible = "pwm-backlight";
		pwms = <&tpu 2 5000000 0>;
		brightness-levels = <0 4 8 16 32 64 128 255>;
		pinctrl-0 = <&backlight_pins>;
		pinctrl-names = "default";
		default-brightness-level = <7>;
		enable-gpios = <&gpio3 11 GPIO_ACTIVE_HIGH>;
	};

	leds {
		compatible = "gpio-leds";

@@ -62,6 +73,41 @@ sdhi2_led {
		};
	};

	lvds-receiver {
		compatible = "ti,ds90cf384a", "lvds-decoder";
		power-supply = <&vcc_3v3_tft1>;

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

			port@0 {
				reg = <0>;
				lvds_receiver_in: endpoint {
					remote-endpoint = <&lvds0_out>;
				};
			};
			port@1 {
				reg = <1>;
				lvds_receiver_out: endpoint {
					remote-endpoint = <&panel_in>;
				};
			};
		};
	};

	panel {
		compatible = "edt,etm0700g0dh6";
		backlight = <&lcd_backlight>;
		power-supply = <&vcc_3v3_tft1>;

		port {
			panel_in: endpoint {
				remote-endpoint = <&lvds_receiver_out>;
			};
		};
	};

	reg_1p5v: 1p5v {
		compatible = "regulator-fixed";
		regulator-name = "1P5V";
@@ -85,6 +131,17 @@ sndcodec: simple-audio-card,codec {
		};
	};

	vcc_3v3_tft1: regulator-panel {
		compatible = "regulator-fixed";

		regulator-name = "vcc-3v3-tft1";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		enable-active-high;
		startup-delay-us = <500>;
		gpio = <&gpio5 28 GPIO_ACTIVE_HIGH>;
	};

	vcc_sdhi2: regulator-vcc-sdhi2 {
		compatible = "regulator-fixed";

@@ -139,6 +196,16 @@ sgtl5000: codec@a {
		VDDIO-supply = <&reg_3p3v>;
		VDDD-supply = <&reg_1p5v>;
	};

	touch: touchpanel@38 {
		compatible = "edt,edt-ft5406";
		reg = <0x38>;
		interrupt-parent = <&gpio0>;
		interrupts = <24 IRQ_TYPE_EDGE_FALLING>;
		/* GP1_29 is also shared with audio codec reset pin */
		reset-gpios = <&gpio1 29 GPIO_ACTIVE_LOW>;
		vcc-supply = <&vcc_3v3_tft1>;
	};
};

&can1 {
@@ -152,6 +219,18 @@ &cmt0 {
	status = "okay";
};

&du {
	status = "okay";
};

&gpio0 {
	touch-interrupt {
		gpio-hog;
		gpios = <24 GPIO_ACTIVE_LOW>;
		input;
	};
};

&gpio1 {
	can-trx-en-gpio{
		gpio-hog;
@@ -167,6 +246,17 @@ &hsusb {
	status = "okay";
};

&lvds0 {
	status = "okay";
	ports {
		port@1 {
			lvds0_out: endpoint {
				remote-endpoint = <&lvds_receiver_in>;
			};
		};
	};
};

&msiof0 {
	pinctrl-0 = <&msiof0_pins>;
	pinctrl-names = "default";
@@ -229,6 +319,11 @@ avb_pins: avb {
		function = "avb";
	};

	backlight_pins: backlight {
		groups = "tpu0_to2";
		function = "tpu0";
	};

	can1_pins: can1 {
		groups = "can1_data_b";
		function = "can1";
@@ -335,6 +430,10 @@ &ssi4 {
	shared-pin;
};

&tpu {
	status = "okay";
};

&usbphy {
	status = "okay";
};
+4 −0
Original line number Diff line number Diff line
@@ -3,6 +3,7 @@ dtb-$(CONFIG_ARCH_R8A774A1) += r8a774a1-beacon-rzg2m-kit.dtb
dtb-$(CONFIG_ARCH_R8A774A1) += r8a774a1-hihope-rzg2m.dtb
dtb-$(CONFIG_ARCH_R8A774A1) += r8a774a1-hihope-rzg2m-ex.dtb
dtb-$(CONFIG_ARCH_R8A774A1) += r8a774a1-hihope-rzg2m-ex-idk-1110wr.dtb
dtb-$(CONFIG_ARCH_R8A774A1) += r8a774a1-hihope-rzg2m-ex-mipi-2.1.dtb
dtb-$(CONFIG_ARCH_R8A774A1) += r8a774a1-hihope-rzg2m-rev2.dtb
dtb-$(CONFIG_ARCH_R8A774A1) += r8a774a1-hihope-rzg2m-rev2-ex.dtb
dtb-$(CONFIG_ARCH_R8A774A1) += r8a774a1-hihope-rzg2m-rev2-ex-idk-1110wr.dtb
@@ -10,6 +11,7 @@ dtb-$(CONFIG_ARCH_R8A774A1) += r8a774a1-hihope-rzg2m-rev2-ex-idk-1110wr.dtb
dtb-$(CONFIG_ARCH_R8A774B1) += r8a774b1-hihope-rzg2n.dtb
dtb-$(CONFIG_ARCH_R8A774B1) += r8a774b1-hihope-rzg2n-ex.dtb
dtb-$(CONFIG_ARCH_R8A774B1) += r8a774b1-hihope-rzg2n-ex-idk-1110wr.dtb
dtb-$(CONFIG_ARCH_R8A774B1) += r8a774b1-hihope-rzg2n-ex-mipi-2.1.dtb
dtb-$(CONFIG_ARCH_R8A774B1) += r8a774b1-hihope-rzg2n-rev2.dtb
dtb-$(CONFIG_ARCH_R8A774B1) += r8a774b1-hihope-rzg2n-rev2-ex.dtb
dtb-$(CONFIG_ARCH_R8A774B1) += r8a774b1-hihope-rzg2n-rev2-ex-idk-1110wr.dtb
@@ -22,6 +24,7 @@ dtb-$(CONFIG_ARCH_R8A774C0) += r8a774c0-ek874-mipi-2.1.dtb
dtb-$(CONFIG_ARCH_R8A774E1) += r8a774e1-hihope-rzg2h.dtb
dtb-$(CONFIG_ARCH_R8A774E1) += r8a774e1-hihope-rzg2h-ex.dtb
dtb-$(CONFIG_ARCH_R8A774E1) += r8a774e1-hihope-rzg2h-ex-idk-1110wr.dtb
dtb-$(CONFIG_ARCH_R8A774E1) += r8a774e1-hihope-rzg2h-ex-mipi-2.1.dtb

dtb-$(CONFIG_ARCH_R8A77950) += r8a77950-salvator-x.dtb
dtb-$(CONFIG_ARCH_R8A77950) += r8a77950-ulcb.dtb
@@ -39,6 +42,7 @@ dtb-$(CONFIG_ARCH_R8A77960) += r8a77960-ulcb-kf.dtb

dtb-$(CONFIG_ARCH_R8A77961) += r8a77961-salvator-xs.dtb
dtb-$(CONFIG_ARCH_R8A77961) += r8a77961-ulcb.dtb
dtb-$(CONFIG_ARCH_R8A77961) += r8a77961-ulcb-kf.dtb

dtb-$(CONFIG_ARCH_R8A77965) += r8a77965-salvator-x.dtb
dtb-$(CONFIG_ARCH_R8A77965) += r8a77965-salvator-xs.dtb
+3 −1
Original line number Diff line number Diff line
@@ -61,7 +61,7 @@ osc25250_clk: osc25250_clk {
	};
};

&MIPI_PARENT_I2C {
&MIPI_OV5645_PARENT_I2C {
	ov5645: ov5645@3c {
		compatible = "ovti,ov5645";
		reg = <0x3c>;
@@ -77,7 +77,9 @@ ov5645_ep: endpoint {
			};
		};
	};
};

&MIPI_IMX219_PARENT_I2C {
	imx219: imx219@10 {
		compatible = "sony,imx219";
		reg = <0x10>;
+50 −17
Original line number Diff line number Diff line
@@ -223,6 +223,29 @@ x304_clk: x304-clock {
		#clock-cells = <0>;
		clock-frequency = <25000000>;
	};

	connector {
		compatible = "usb-c-connector";
		label = "USB-C";
		data-role = "dual";

		ports {
			#address-cells = <1>;
			#size-cells = <0>;
			port@0 {
				reg = <0>;
				hs_ep: endpoint {
					remote-endpoint = <&usb3_hs_ep>;
				};
			};
			port@1 {
				reg = <1>;
				ss_ep: endpoint {
					remote-endpoint = <&hd3ss3220_in_ep>;
				};
			};
		};
	};
};

&audio_clk_a {
@@ -427,25 +450,24 @@ hd3ss3220@47 {
		interrupt-parent = <&gpio6>;
		interrupts = <4 IRQ_TYPE_LEVEL_LOW>;

		connector {
			compatible = "usb-c-connector";
			label = "USB-C";
			data-role = "dual";

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

			port@0 {
				reg = <0>;
				hd3ss3220_in_ep: endpoint {
					remote-endpoint = <&ss_ep>;
				};
			};
			port@1 {
				reg = <1>;
					hd3ss3220_ep: endpoint {
				hd3ss3220_out_ep: endpoint {
					remote-endpoint = <&usb3_role_switch>;
				};
			};
		};
	};
};
};

&lvds0 {
	status = "okay";
@@ -714,9 +736,20 @@ &usb3_peri0 {
	status = "okay";
	usb-role-switch;

	port {
	ports {
		#address-cells = <1>;
		#size-cells = <0>;
		port@0 {
			reg = <0>;
			usb3_hs_ep: endpoint {
				remote-endpoint = <&hs_ep>;
			};
		};
		port@1 {
			reg = <1>;
			usb3_role_switch: endpoint {
			remote-endpoint = <&hd3ss3220_ep>;
				remote-endpoint = <&hd3ss3220_out_ep>;
			};
		};
	};
};
Loading