// SPDX-License-Identifier: GPL-2.0
/*
 * Device Tree Source for the Salvator-X 2nd version board with R-Car M3-W
 *
 * Copyright (C) 2015-2017 Renesas Electronics Corp.
 */

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

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

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

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

&du {
	clocks = <&cpg CPG_MOD 724>,
		 <&cpg CPG_MOD 723>,
		 <&cpg CPG_MOD 722>,
		 <&cpg CPG_MOD 727>,
		 <&versaclock6 1>,
		 <&x21_clk>,
		 <&versaclock6 2>;
	clock-names = "du.0", "du.1", "du.2", "lvds.0",
		      "dclkin.0", "dclkin.1", "dclkin.2";
};

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

&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>;
};

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

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

				playback = <&ssi2>;
			};
		};
	};
};
