From 71e6b73ab6c3444d93875944d0cf9ec9d739aad0 Mon Sep 17 00:00:00 2001 From: Daniel Baluta Date: Thu, 9 Jul 2020 21:37:58 +0300 Subject: [PATCH] arm64: dts: imx8qm-sof-wm8960: 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 1>; }; codec { sound-dai = <&wm8960>; }; 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 SAI1 index which is 1. Signed-off-by: Daniel Baluta --- .../dts/freescale/imx8qm-mek-sof-wm8960.dts | 70 +++++++++---------- 1 file changed, 33 insertions(+), 37 deletions(-) diff --git a/arch/arm64/boot/dts/freescale/imx8qm-mek-sof-wm8960.dts b/arch/arm64/boot/dts/freescale/imx8qm-mek-sof-wm8960.dts index 1cbbb907e0c9..664b52a1a987 100644 --- a/arch/arm64/boot/dts/freescale/imx8qm-mek-sof-wm8960.dts +++ b/arch/arm64/boot/dts/freescale/imx8qm-mek-sof-wm8960.dts @@ -12,34 +12,6 @@ status = "disabled"; }; - sai1_port: sai-port { - #sound-dai-cells = <0>; - compatible = "fsl,sai-dai"; - - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_sai1>; - - power-domains = <&pd IMX_SC_R_SAI_1>, - <&pd IMX_SC_R_DMA_2_CH14>, - <&pd IMX_SC_R_DMA_2_CH15>, - <&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>; - - clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3"; - clocks = <&sai1_lpcg 1>, <&clk_dummy>, <&sai1_lpcg 0>, - <&clk_dummy>, <&clk_dummy>; - assigned-clocks = <&acm IMX_ADMA_ACM_SAI1_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>, - <&sai1_lpcg 0>; /* FIXME: should be sai1, original code is 0 */ - assigned-clock-parents = <&aud_pll_div0_lpcg 0>; - assigned-clock-rates = <0>, <786432000>, <49152000>, <12288000>, <49152000>; - status="okay"; - }; - sof-sound-wm8960 { compatible = "simple-audio-card"; label = "wm8960-audio"; @@ -67,10 +39,7 @@ simple-audio-card,dai-link { format = "i2s"; cpu { - sound-dai = <&sai1_port>; - }; - plat { - sound-dai = <&dsp>; + sound-dai = <&dsp 1>; }; sndcodec: codec { sound-dai = <&wm8960>; @@ -115,20 +84,47 @@ &dsp { compatible = "fsl,imx8qm-dsp"; - #sound-dai-cells = <0>; - tplg-name = "sof-imx8qxp-wm8960.tplg"; - machine-drv-name = "asoc-simple-card"; - status = "okay"; + #sound-dai-cells = <1>; + + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_sai1>; + 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_IRQSTR_DSP>, + <&pd IMX_SC_R_SAI_1>, + <&pd IMX_SC_R_DMA_2_CH14>, + <&pd IMX_SC_R_DMA_2_CH15>, + <&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>; + + clock-names = "ipg", "ocram", "core", + "sai1_bus", "sai1_mclk0", "sai1_mclk1", "sai1_mclk2", "sai1_mclk3"; + clocks = <&clk_dummy>, <&clk_dummy>, <&clk_dummy>, + <&sai1_lpcg 1>, <&clk_dummy>, <&sai1_lpcg 0>, + <&clk_dummy>, <&clk_dummy>; + assigned-clocks = <&acm IMX_ADMA_ACM_SAI1_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>, + <&sai1_lpcg 0>; /* FIXME: should be sai1, original code is 0 */ + assigned-clock-parents = <&aud_pll_div0_lpcg 0>; + assigned-clock-rates = <0>, <786432000>, <49152000>, <12288000>, <49152000>; + 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-wm8960.tplg"; + machine-drv-name = "asoc-simple-card"; + + status = "okay"; }; &wm8960 { -- 2.17.1