/*
 * Copyright (C) 2014-2015 Freescale Semiconductor, Inc.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 *
 * This feature is supported by the MX6SX-SD-EXP1 board
 *
 */

#include "imx6sx-sdb.dts"
/ {
	sound-mqs {
		compatible = "fsl,imx6sx-sdb-mqs",
				"fsl,imx-audio-mqs";
		model = "mqs-audio";
		cpu-dai = <&sai1>;
		asrc-controller = <&asrc>;
		audio-codec = <&mqs>;
	};
};

&usdhc2 {
	/* pin conflict with mqs*/
	status = "disabled";
};

&mqs {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_mqs>;
	clocks = <&clks IMX6SX_CLK_SAI1>;
	clock-names = "mclk";
	status = "okay";
};

&sai1 {
	pinctrl-0 = <>;
	status = "okay";
};

&sdma {
	gpr = <&gpr>;
	/* SDMA event remap for SAI1 */
	fsl,sdma-event-remap = <0 15 1>, <0 16 1>;
};
