// SPDX-License-Identifier: GPL-2.0
/*
 * Device Tree Source for the Salvator-X board with R-Car H3 ES1.x
 *
 * Copyright (C) 2015 Renesas Electronics Corp.
 */

/dts-v1/;
#include "r8a7795-es1.dtsi"
#include "salvator-x.dtsi"

/ {
	model = "Renesas Salvator-X board based on r8a7795 ES1.x";
	compatible = "renesas,salvator-x", "renesas,r8a7795";

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

	memory@500000000 {
		device_type = "memory";
		reg = <0x5 0x00000000 0x0 0x40000000>;
	};

	memory@600000000 {
		device_type = "memory";
		reg = <0x6 0x00000000 0x0 0x40000000>;
	};

	memory@700000000 {
		device_type = "memory";
		reg = <0x7 0x00000000 0x0 0x40000000>;
	};
};

&du {
	clocks = <&cpg CPG_MOD 724>,
		 <&cpg CPG_MOD 723>,
		 <&cpg CPG_MOD 722>,
		 <&cpg CPG_MOD 721>,
		 <&versaclock5 1>,
		 <&x21_clk>,
		 <&x22_clk>,
		 <&versaclock5 2>;
	clock-names = "du.0", "du.1", "du.2", "du.3",
		      "dclkin.0", "dclkin.1", "dclkin.2", "dclkin.3";
};

&ehci2 {
	status = "okay";
};

&hdmi0 {
	status = "okay";

	ports {
		port@1 {
			reg = <1>;
			rcar_dw_hdmi0_out: endpoint {
				remote-endpoint = <&hdmi0_con>;
			};
		};
		port@2 {
			reg = <2>;
			dw_hdmi0_snd_in: endpoint {
				remote-endpoint = <&rsnd_endpoint1>;
			};
		};
	};
};

&hdmi0_con {
	remote-endpoint = <&rcar_dw_hdmi0_out>;
};

&hdmi1 {
	status = "okay";

	ports {
		port@1 {
			reg = <1>;
			rcar_dw_hdmi1_out: endpoint {
				remote-endpoint = <&hdmi1_con>;
			};
		};
		port@2 {
			reg = <2>;
			dw_hdmi1_snd_in: endpoint {
				remote-endpoint = <&rsnd_endpoint2>;
			};
		};
	};
};

&hdmi1_con {
	remote-endpoint = <&rcar_dw_hdmi1_out>;
};

&ohci2 {
	status = "okay";
};

&pfc {
	usb2_pins: usb2 {
		groups = "usb2";
		function = "usb2";
	};
};

&rcar_sound {
	ports {
		/* rsnd_port0 is on salvator-common */
		rsnd_port1: port@1 {
			reg = <1>;
			rsnd_endpoint1: endpoint {
				remote-endpoint = <&dw_hdmi0_snd_in>;

				dai-format = "i2s";
				bitclock-master = <&rsnd_endpoint1>;
				frame-master = <&rsnd_endpoint1>;

				playback = <&ssi2>;
			};
		};
		rsnd_port2: port@2 {
			reg = <2>;
			rsnd_endpoint2: endpoint {
				remote-endpoint = <&dw_hdmi1_snd_in>;

				dai-format = "i2s";
				bitclock-master = <&rsnd_endpoint2>;
				frame-master = <&rsnd_endpoint2>;

				playback = <&ssi3>;
			};
		};
	};
};

&sata {
	status = "okay";
};

&sound_card {
	dais = <&rsnd_port0	/* ak4613 */
		&rsnd_port1	/* HDMI0  */
		&rsnd_port2>;	/* HDMI1  */
};

&usb2_phy2 {
	pinctrl-0 = <&usb2_pins>;
	pinctrl-names = "default";

	status = "okay";
};
