Commit f38dc82b authored by Arnd Bergmann's avatar Arnd Bergmann
Browse files

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

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

Renesas ARM DT updates for v5.13

  - OV7725 camera support for the iWave RainboW Qseven board (G21D), and
    its camera expansion board,
  - Add mmc aliases to fix /dev/mmcblkN order,
  - HDMI Display support for the R-Car Starter Kit Pro with R-Car M3-W+,
  - Support for running upstream kernels on the RZA2MEVB board, using
    the SDRAM present on the sub-board,
  - I2C EEPROM support for the Falcon development board,
  - Timer, thermal sensor, and CAN support for the R-Car V3U SoC.
  - Miscellaneous fixes and improvements.

* tag 'renesas-arm-dt-for-v5.13-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  arm64: dts: renesas: r8a77980: Fix vin4-7 endpoint binding
  arm64: dts: renesas: r8a77961: Add CAN nodes
  arm64: dts: renesas: r8a779a0: Add CMT support
  arm64: dts: renesas: r8a779a0: Add thermal support
  arm64: dts: renesas: r8a779a0: Add TMU support
  arm64: dts: renesas: falcon: Add Ethernet sub-board
  arm64: dts: renesas: falcon: Add CSI/DSI sub-board
  arm64: dts: renesas: falcon: Add I2C EEPROM nodes
  ARM: dts: rza2mevb: Upstream Linux requires SDRAM
  arm64: dts: renesas: Consolidate Salvator-X(S) HDMI0 handling
  arm64: dts: renesas: Add mmc aliases into board dts files
  arm64: dts: renesas: r8a77961-ulcb: add HDMI Display support
  ARM: dts: renesas: Add mmc aliases into R-Car Gen2 board dts files
  arm64: dts: renesas: Group tuples in pin control properties
  arm64: dts: renesas: Group tuples in playback and capture properties
  ARM: dts: renesas: Group tuples in pin control properties
  ARM: dts: renesas: Group tuples in playback and capture properties
  ARM: dts: renesas: Group tuples in APMU cpus properties
  ARM: dts: r8a7742-iwg21d-q7-dbcm-ca: Add support for 8-bit ov7725 sensors
  ARM: dts: r8a7742-iwg21d-q7-dbcm-ca: Separate out ov5640 nodes

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


Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parents a38fd874 c8aebc13
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -325,8 +325,8 @@ &rcar_sound {

	rcar_sound,dai {
		dai0 {
			playback = <&ssi1 &src3 &dvc1>;
			capture = <&ssi0 &src2 &dvc0>;
			playback = <&ssi1>, <&src3>, <&dvc1>;
			capture = <&ssi0>, <&src2>, <&dvc0>;
		};
	};
};
+32 −23
Original line number Diff line number Diff line
@@ -4,6 +4,28 @@
 *
 * Copyright (C) 2018 Renesas Electronics
 *
 * As upstream Linux does not support XIP, it cannot run in 8 MiB of HyperRAM.
 * Hence the 64 MiB of SDRAM on the sub-board needs to be enabled, which has
 * the following ramifications:
 *   - SCIF4 connected to the on-board USB-serial can no longer be used as the
 *     serial console,
 *   - Instead, SCIF2 is used as the serial console, by connecting a 3.3V TTL
 *     USB-to-Serial adapter to the CMOS camera connector:
 *       - RXD = CN17-9,
 *       - TXD = CN17-10,
 *       - GND = CN17-2 or CN17-17,
 *   - The first Ethernet channel can no longer be used,
 *   - USB Channel 1 loses the overcurrent input signal.
 *
 * Please make sure your sub-board matches the following switch settings:
 *
 *           SW6                SW6-1 set to SDRAM
 *  ON                          SW6-2 set to Audio
 * +---------------------+      SW6-3 set to DRP
 * | =   =   = = =       |      SW6-4 set to CEU
 * |   =   =             |      SW6-5 set to Ether2
 * | 1 2 3 4 5 6 7 8 9 0 |      SW6-6 set to VDC6
 * +---------------------+      SW6-7 set to VDC6
 */

/dts-v1/;
@@ -17,9 +39,8 @@ / {
	compatible = "renesas,rza2mevb", "renesas,r7s9210";

	aliases {
		serial0 = &scif4;
		ethernet0 = &ether0;
		ethernet1 = &ether1;
		serial0 = &scif2;
		ethernet0 = &ether1;
	};

	chosen {
@@ -58,9 +79,9 @@ green {
		};
	};

	memory@40000000 {
	memory@c000000 {
		device_type = "memory";
		reg = <0x40000000 0x00800000>;	 /* HyperRAM */
		reg = <0x0c000000 0x04000000>;	/* SDRAM */
	};
};

@@ -72,17 +93,6 @@ &ehci1 {
	status = "okay";
};

&ether0 {
	pinctrl-names = "default";
	pinctrl-0 = <&eth0_pins>;
	status = "okay";
	renesas,no-ether-link;
	phy-handle = <&phy0>;
	phy0: ethernet-phy@0 {
		reg = <0>;
	};
};

&ether1 {
	pinctrl-names = "default";
	pinctrl-0 = <&eth1_pins>;
@@ -142,9 +152,9 @@ keyboard_pins: keyboard {
	};

	/* Serial Console */
	scif4_pins: serial4 {
		pinmux = <RZA2_PINMUX(PORT9, 0, 4)>,	/* TxD4 */
			 <RZA2_PINMUX(PORT9, 1, 4)>;	/* RxD4 */
	scif2_pins: serial2 {
		pinmux = <RZA2_PINMUX(PORTE, 2, 3)>,	/* TxD2 */
			 <RZA2_PINMUX(PORTE, 1, 3)>;	/* RxD2 */
	};

	sdhi0_pins: sdhi0 {
@@ -165,8 +175,7 @@ usb0_pins: usb0 {

	usb1_pins: usb1 {
		pinmux = <RZA2_PINMUX(PORTC, 0, 1)>,	/* VBUSIN1 */
			 <RZA2_PINMUX(PORTC, 5, 1)>,	/* VBUSEN1 */
			 <RZA2_PINMUX(PORT7, 5, 5)>;	/* OVRCUR1 */
			 <RZA2_PINMUX(PORTC, 5, 1)>;	/* VBUSEN1 */
	};
};

@@ -176,9 +185,9 @@ &rtc_x1_clk {
};

/* Serial Console */
&scif4 {
&scif2 {
	pinctrl-names = "default";
	pinctrl-0 = <&scif4_pins>;
	pinctrl-0 = <&scif2_pins>;

	status = "okay";
};
+79 −80
Original line number Diff line number Diff line
@@ -91,92 +91,20 @@ &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";
	/* status set to "okay" when needed by camera configuration below */
	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";
	/* status set to "okay" when needed by camera configuration below */
	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 {
@@ -267,6 +195,22 @@ &scifb1 {
	cts-gpios = <&gpio4 17 GPIO_ACTIVE_LOW>;
};

/*
 * Below configuration ties VINx endpoints to ov5640/ov7725 camera endpoints
 *
 * (un)comment the #include statements to change configuration
 */

/* 8bit CMOS Camera 1 (J13) */
#define CAM_PARENT_I2C		i2c0
#define MCLK_CAM		mclk_cam1
#define CAM_EP			cam0ep
#define VIN_EP			vin0ep
#undef CAM_ENABLED
#include "r8a7742-iwg21d-q7-dbcm-ov5640-single.dtsi"
//#include "r8a7742-iwg21d-q7-dbcm-ov7725-single.dtsi"

#ifdef CAM_ENABLED
&vin0 {
	/*
	 * Set SW2 switch on the SOM to 'ON'
@@ -278,13 +222,29 @@ &vin0 {

	port {
		vin0ep: endpoint {
			remote-endpoint = <&ov5640_0>;
			remote-endpoint = <&cam0ep>;
			bus-width = <8>;
			bus-type = <6>;
		};
	};
};
#endif /* CAM_ENABLED */

#undef CAM_PARENT_I2C
#undef MCLK_CAM
#undef CAM_EP
#undef VIN_EP

/* 8bit CMOS Camera 2 (J14) */
#define CAM_PARENT_I2C		i2c1
#define MCLK_CAM		mclk_cam2
#define CAM_EP			cam1ep
#define VIN_EP			vin1ep
#undef CAM_ENABLED
#include "r8a7742-iwg21d-q7-dbcm-ov5640-single.dtsi"
//#include "r8a7742-iwg21d-q7-dbcm-ov7725-single.dtsi"

#ifdef CAM_ENABLED
&vin1 {
	/* Set SW1 switch on the SOM to 'ON' */
	status = "okay";
@@ -293,13 +253,30 @@ &vin1 {

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

#endif /* CAM_ENABLED */

#undef CAM_PARENT_I2C
#undef MCLK_CAM
#undef CAM_EP
#undef VIN_EP

/* 8bit CMOS Camera 3 (J12) */
#define CAM_PARENT_I2C		i2c2
#define MCLK_CAM		mclk_cam3
#define CAM_EP			cam2ep
#define VIN_EP			vin2ep
#undef CAM_ENABLED
#include "r8a7742-iwg21d-q7-dbcm-ov5640-single.dtsi"
//#include "r8a7742-iwg21d-q7-dbcm-ov7725-single.dtsi"

#ifdef CAM_ENABLED
&vin2 {
	status = "okay";
	pinctrl-0 = <&vin2_pins>;
@@ -307,14 +284,30 @@ &vin2 {

	port {
		vin2ep: endpoint {
			remote-endpoint = <&ov5640_2>;
			remote-endpoint = <&cam2ep>;
			bus-width = <8>;
			data-shift = <8>;
			bus-type = <6>;
		};
	};
};
#endif /* CAM_ENABLED */

#undef CAM_PARENT_I2C
#undef MCLK_CAM
#undef CAM_EP
#undef VIN_EP

/* 8bit CMOS Camera 4 (J11) */
#define CAM_PARENT_I2C		i2c3
#define MCLK_CAM		mclk_cam4
#define CAM_EP			cam3ep
#define VIN_EP			vin3ep
#undef CAM_ENABLED
#include "r8a7742-iwg21d-q7-dbcm-ov5640-single.dtsi"
//#include "r8a7742-iwg21d-q7-dbcm-ov7725-single.dtsi"

#ifdef CAM_ENABLED
&vin3 {
	status = "okay";
	pinctrl-0 = <&vin3_pins>;
@@ -322,9 +315,15 @@ &vin3 {

	port {
		vin3ep: endpoint {
			remote-endpoint = <&ov5640_3>;
			remote-endpoint = <&cam3ep>;
			bus-width = <8>;
			bus-type = <6>;
		};
	};
};
#endif /* CAM_ENABLED */

#undef CAM_PARENT_I2C
#undef MCLK_CAM
#undef CAM_EP
#undef VIN_EP
+32 −0
Original line number Diff line number Diff line
// SPDX-License-Identifier: GPL-2.0
/*
 * This include file ties a VIN interface with a single ov5640 sensor on
 * the iWave-RZ/G1H Qseven board development platform connected with the
 * camera daughter board.
 *
 * Copyright (C) 2020 Renesas Electronics Corp.
 */

#define CAM_ENABLED	1

&CAM_PARENT_I2C {
	status = "okay";

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

		port {
			CAM_EP: endpoint {
				bus-width = <8>;
				data-shift = <2>;
				bus-type = <6>;
				pclk-sample = <1>;
				remote-endpoint = <&VIN_EP>;
			};
		};
	};
};
+29 −0
Original line number Diff line number Diff line
// SPDX-License-Identifier: GPL-2.0
/*
 * This include file ties a VIN interface with a single ov7725 sensor on
 * the iWave-RZ/G1H Qseven board development platform connected with the
 * camera daughter board.
 *
 * Copyright (C) 2020 Renesas Electronics Corp.
 */

#define CAM_ENABLED	1

&CAM_PARENT_I2C {
	status = "okay";

	ov7725@21 {
		compatible = "ovti,ov7725";
		reg = <0x21>;
		clocks = <&MCLK_CAM>;
		status = "okay";

		port {
			CAM_EP: endpoint {
				bus-width = <8>;
				bus-type = <6>;
				remote-endpoint = <&VIN_EP>;
			};
		};
	};
};
Loading