// SPDX-License-Identifier: GPL-2.0
/*
 * Device Tree Source for the Salvator-X board with R-Car M3-N
 *
 * Copyright (C) 2018 Jacopo Mondi <jacopo+renesas@jmondi.org>
 */

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

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

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

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

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

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