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

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

/ {
	model = "Renesas Salvator-X 2nd version board based on r8a77965";
	compatible = "renesas,salvator-xs", "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>,
		 <&versaclock6 1>,
		 <&x21_clk>,
		 <&versaclock6 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>;
};

&pca9654 {
	pcie-sata-switch-hog {
		gpio-hog;
		gpios = <7 GPIO_ACTIVE_HIGH>;
		output-low; /* enable SATA by default */
		line-name = "PCIE/SATA switch";
	};
};

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

/* SW12-7 must be set 'Off' (MD12 set to 1) which is not the default! */
&sata {
	status = "okay";
};

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