// SPDX-License-Identifier: GPL-2.0+
// Copyright NXP 2018

#include "fsl-imx8qm-mek.dts"

/ {
	sound-cs42888 {
		status = "disabled";
	};

	sound {
		status = "disabled";
	};

	dspaudio: dspaudio {
		compatible = "fsl,dsp-audio";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_esai0>;
		clocks = <&clk IMX8QM_AUD_ESAI_0_IPG>,
			<&clk IMX8QM_AUD_ESAI_0_EXTAL_IPG>,
			<&clk IMX8QM_AUD_ASRC_0_IPG>,
			<&clk IMX8QM_AUD_ASRC_0_MEM>,
			<&clk IMX8QM_AUD_ACM_AUD_PLL_CLK0_CLK>,
			<&clk IMX8QM_AUD_ACM_AUD_PLL_CLK1_CLK>,
			<&clk IMX8QM_ACM_AUD_CLK0_SEL>,
			<&clk IMX8QM_ACM_AUD_CLK1_SEL>;

		clock-names = "bus", "mclk", "ipg", "mem",
				"asrck_0", "asrck_1", "asrck_2", "asrck_3";
		assigned-clocks = <&clk IMX8QM_ACM_ESAI0_MCLK_SEL>,
			<&clk IMX8QM_AUD_PLL0_DIV>,
			<&clk IMX8QM_AUD_ACM_AUD_PLL_CLK0_DIV>,
			<&clk IMX8QM_AUD_ACM_AUD_REC_CLK0_DIV>,
			<&clk IMX8QM_AUD_ESAI_0_EXTAL_IPG>;
		assigned-clock-parents = <&clk IMX8QM_AUD_ACM_AUD_PLL_CLK0_CLK>;
		assigned-clock-rates = <0>, <786432000>, <49152000>, <24576000>, <49152000>;
		power-domains = <&pd_esai0>;
		status = "okay";
	};

	sound-dsp {
		compatible = "fsl,imx-dsp-audio";
		model = "dsp-audio";
		cpu-dai = <&dspaudio>;
		audio-codec = <&cs42888>;
		audio-platform = <&dsp>;
	};
};

&edma2 {
	compatible = "fsl,imx8qm-edma";
	reg = <0x0 0x59280000 0x0 0x10000>, /* spdif0 rx */
		<0x0 0x59290000 0x0 0x10000>, /* spdif0 tx */
		<0x0 0x592c0000 0x0 0x10000>, /* sai0 rx */
		<0x0 0x592d0000 0x0 0x10000>, /* sai0 tx */
		<0x0 0x592e0000 0x0 0x10000>, /* sai1 rx */
		<0x0 0x592f0000 0x0 0x10000>, /* sai1 tx */
		<0x0 0x59320000 0x0 0x10000>, /* sai4 rx */
		<0x0 0x59330000 0x0 0x10000>; /* sai5 tx */
	#dma-cells = <3>;
	shared-interrupt;
	dma-channels = <8>;
	interrupts = <GIC_SPI 457 IRQ_TYPE_LEVEL_HIGH>, /* spdif0 */
			<GIC_SPI 459 IRQ_TYPE_LEVEL_HIGH>,
			<GIC_SPI 315 IRQ_TYPE_LEVEL_HIGH>, /* sai0 */
			<GIC_SPI 315 IRQ_TYPE_LEVEL_HIGH>,
			<GIC_SPI 317 IRQ_TYPE_LEVEL_HIGH>, /* sai1 */
			<GIC_SPI 317 IRQ_TYPE_LEVEL_HIGH>,
			<GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH>,/* sai4 */
			<GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH>;/* sai5 */
	interrupt-names = "edma2-chan8-rx", "edma0-chan9-tx", /* spdif0 */
			"edma2-chan12-rx", "edma2-chan13-tx", /* sai0 */
			"edma2-chan14-rx", "edma2-chan15-tx", /* sai1 */
			"edma2-chan18-tx", "edma2-chan19-rx"; /* sai4, sai5 */
	status = "okay";
};

&dsp {
	compatible = "fsl,imx8qm-dsp";
	reserved-region = <&dsp_reserved>;
	reg = <0x0 0x556e8000 0x0 0x88000>;
	clocks = <&clk IMX8QM_AUD_ESAI_0_IPG>,
		<&clk IMX8QM_AUD_ESAI_0_EXTAL_IPG>,
		<&clk IMX8QM_AUD_ASRC_0_IPG>,
		<&clk IMX8QM_AUD_ASRC_0_MEM>,
		<&clk IMX8QM_AUD_ACM_AUD_PLL_CLK0_CLK>,
		<&clk IMX8QM_AUD_ACM_AUD_PLL_CLK1_CLK>,
		<&clk IMX8QM_ACM_AUD_CLK0_SEL>,
		<&clk IMX8QM_ACM_AUD_CLK1_SEL>;
	clock-names = "esai_ipg", "esai_mclk", "asrc_ipg", "asrc_mem",
			"asrck_0", "asrck_1", "asrck_2", "asrck_3";
	assigned-clocks = <&clk IMX8QM_ACM_ESAI0_MCLK_SEL>,
		<&clk IMX8QM_AUD_PLL0_DIV>,
		<&clk IMX8QM_AUD_ACM_AUD_PLL_CLK0_DIV>,
		<&clk IMX8QM_AUD_ACM_AUD_REC_CLK0_DIV>,
		<&clk IMX8QM_AUD_ESAI_0_EXTAL_IPG>;
	assigned-clock-parents = <&clk IMX8QM_AUD_ACM_AUD_PLL_CLK0_CLK>;
	assigned-clock-rates = <0>, <786432000>, <49152000>, <24576000>, <49152000>;
	fsl,dsp-firmware = "imx/dsp/hifi4.bin";
	fixup-offset = <0x4000000>;
	power-domains = <&pd_dsp>;
};

/delete-node/ &pd_dma2_chan6;
/delete-node/ &pd_dsp_irqsteer;

&pd_asrc0 {
	reg = <SC_R_ASRC_0>;
	power-domains =<&pd_dma2_chan5>;
	#power-domain-cells = <0>;
	#address-cells = <1>;
	#size-cells = <0>;

	pd_dma2_chan6: PD_ESAI_0_RX {
		reg = <SC_R_DMA_2_CH6>;
		power-domains =<&pd_asrc0>;
		#power-domain-cells = <0>;
		#address-cells = <1>;
		#size-cells = <0>;

		pd_dma2_chan7: PD_ESAI_0_TX {
			reg = <SC_R_DMA_2_CH7>;
			power-domains =<&pd_dma2_chan6>;
			#power-domain-cells = <0>;
			#address-cells = <1>;
			#size-cells = <0>;

			pd_esai0: PD_AUD_ESAI_0 {
				reg = <SC_R_ESAI_0>;
				power-domains =<&pd_dma2_chan7>;
				#power-domain-cells = <0>;
				#address-cells = <1>;
				#size-cells = <0>;

				pd_dsp_irqsteer: PD_DSP_IRQSTEER {
					reg = <SC_R_IRQSTR_DSP>;
					#power-domain-cells = <0>;
					power-domains =<&pd_esai0>;
					#address-cells = <1>;
					#size-cells = <0>;

					pd_dsp_mu_A: PD_DSP_MU_A {
						reg = <SC_R_MU_13A>;
						#power-domain-cells = <0>;
						power-domains =<&pd_dsp_irqsteer>;
						#address-cells = <1>;
						#size-cells = <0>;

						pd_dsp_mu_B: PD_DSP_MU_B {
							reg = <SC_R_MU_13B>;
							#power-domain-cells = <0>;
							power-domains =<&pd_dsp_mu_A>;
							#address-cells = <1>;
							#size-cells = <0>;

							pd_dsp_ram: PD_AUD_OCRAM {
								reg = <SC_R_DSP_RAM>;
								#power-domain-cells = <0>;
								power-domains =<&pd_dsp_mu_B>;
								#address-cells = <1>;
								#size-cells = <0>;
								pd_dsp: PD_AUD_DSP {
									reg = <SC_R_DSP>;
									#power-domain-cells = <0>;
									power-domains =<&pd_dsp_ram>;
								};
							};
						};
					};
				};
			};
		};
	};
};

&esai0 {
	status = "disabled";
};

&asrc0 {
	status = "disabled";
};

&sai1 {
	status = "disabled";
};

&wm8960 {
	status = "disabled";
};

&cs42888 {
	assigned-clocks = <&clk IMX8QM_AUD_PLL0_DIV>,
			<&clk IMX8QM_AUD_ACM_AUD_PLL_CLK0_DIV>,
			<&clk IMX8QM_AUD_ACM_AUD_REC_CLK0_DIV>,
			<&clk IMX8QM_AUD_MCLKOUT0>;
	assigned-clock-rates = <786432000>, <49152000>, <24576000>, <24576000>;
};
