From 5dca04b92f97ee4c099bad07551e90efa93549f5 Mon Sep 17 00:00:00 2001 From: Daniel Baluta Date: Fri, 10 Jul 2020 11:51:40 +0300 Subject: [PATCH] arm64: dts: imx8qm-sof-cs42888: Remove FSL DAI generic node This removes FSL DAI generic node as suggested by upstream community review and move resources handling for DAIs under DSP platform node. So, pinctrl, power domains and clocks are now under dsp node. Notice that, now DAI links looks like this: cpu { sound-dai = <&dsp 0>; }; codec { sound-dai = <&cs42888>; }; See how CPU sound-dai gets an additional CELL for DAI index as defined by the array imx8_dai from sound/soc/sof/imx/imx8.c Here we need ESAI0 index which is 0. Signed-off-by: Daniel Baluta --- .../dts/freescale/imx8qm-mek-sof-cs42888.dts | 74 +++++++++---------- 1 file changed, 34 insertions(+), 40 deletions(-) diff --git a/arch/arm64/boot/dts/freescale/imx8qm-mek-sof-cs42888.dts b/arch/arm64/boot/dts/freescale/imx8qm-mek-sof-cs42888.dts index 8e7ccbdd8016..ec433ec9e720 100644 --- a/arch/arm64/boot/dts/freescale/imx8qm-mek-sof-cs42888.dts +++ b/arch/arm64/boot/dts/freescale/imx8qm-mek-sof-cs42888.dts @@ -12,34 +12,6 @@ status = "disabled"; }; - esai0_port: esai-port { - #sound-dai-cells = <0>; - compatible = "fsl,esai-dai"; - - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_esai0>; - - power-domains = <&pd IMX_SC_R_ESAI_0>, - <&pd IMX_SC_R_DMA_2_CH6>, - <&pd IMX_SC_R_DMA_2_CH7>, - <&pd IMX_SC_R_AUDIO_CLK_0>, - <&pd IMX_SC_R_AUDIO_CLK_1>, - <&pd IMX_SC_R_AUDIO_PLL_0>, - <&pd IMX_SC_R_AUDIO_PLL_1>; - - clocks = <&esai0_lpcg 1>, <&esai0_lpcg 0>, <&esai0_lpcg 1>, - <&clk_dummy>; - clock-names = "core", "extal", "fsys", "spba"; - assigned-clocks = <&acm IMX_ADMA_ACM_ESAI0_MCLK_SEL>, - <&clk IMX_SC_R_AUDIO_PLL_0 IMX_SC_PM_CLK_PLL>, - <&clk IMX_SC_R_AUDIO_PLL_0 IMX_SC_PM_CLK_MISC0>, - <&clk IMX_SC_R_AUDIO_PLL_0 IMX_SC_PM_CLK_MISC1>, - <&esai0_lpcg 0>; - assigned-clock-parents = <&aud_pll_div0_lpcg 0>; - assigned-clock-rates = <0>, <786432000>, <49152000>, <12288000>, <49152000>; - status="okay"; - }; - sof-audio-cs42888 { compatible = "simple-audio-card"; label = "imx-cs42888"; @@ -64,10 +36,7 @@ simple-audio-card,dai-link { format = "i2s"; cpu { - sound-dai = <&esai0_port>; - }; - plat { - sound-dai = <&dsp>; + sound-dai = <&dsp 0>; }; codec { sound-dai = <&cs42888>; @@ -119,20 +88,45 @@ &dsp { compatible = "fsl,imx8qm-dsp"; - #sound-dai-cells = <0>; - tplg-name = "sof-imx8qxp-cs42888.tplg"; - machine-drv-name = "asoc-simple-card"; - status = "okay"; + #sound-dai-cells = <1>; + + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_esai0>; + + clocks = <&clk_dummy>, <&clk_dummy>, <&clk_dummy>, + <&esai0_lpcg 1>, <&esai0_lpcg 0>, <&esai0_lpcg 1>, <&clk_dummy>; + clock-names = "ipg", "ocram", "core", + "esai0_core", "esai0_extal", "esai0_fsys", "esai0_spba"; + assigned-clocks = <&acm IMX_ADMA_ACM_ESAI0_MCLK_SEL>, + <&clk IMX_SC_R_AUDIO_PLL_0 IMX_SC_PM_CLK_PLL>, + <&clk IMX_SC_R_AUDIO_PLL_0 IMX_SC_PM_CLK_MISC0>, + <&clk IMX_SC_R_AUDIO_PLL_0 IMX_SC_PM_CLK_MISC1>, + <&esai0_lpcg 0>; + assigned-clock-parents = <&aud_pll_div0_lpcg 0>; + assigned-clock-rates = <0>, <786432000>, <49152000>, <12288000>, <49152000>; + power-domains = <&pd IMX_SC_R_MU_13A>, - <&pd IMX_SC_R_MU_13B>, - <&pd IMX_SC_R_DSP>, - <&pd IMX_SC_R_DSP_RAM>, - <&pd IMX_SC_R_IRQSTR_DSP>; + <&pd IMX_SC_R_MU_13B>, + <&pd IMX_SC_R_DSP>, + <&pd IMX_SC_R_DSP_RAM>, + <&pd IMX_SC_R_IRQSTR_DSP>, + <&pd IMX_SC_R_DMA_2_CH6>, + <&pd IMX_SC_R_DMA_2_CH7>, + <&pd IMX_SC_R_AUDIO_CLK_0>, + <&pd IMX_SC_R_AUDIO_CLK_1>, + <&pd IMX_SC_R_AUDIO_PLL_0>, + <&pd IMX_SC_R_AUDIO_PLL_1>; + mbox-names = "txdb0", "txdb1", "rxdb0", "rxdb1"; mboxes = <&lsio_mu13 2 0>, <&lsio_mu13 2 1>, <&lsio_mu13 3 0>, <&lsio_mu13 3 1>; + + tplg-name = "sof-imx8qxp-cs42888.tplg"; + machine-drv-name = "asoc-simple-card"; + + status = "okay"; }; &amix { -- 2.17.1