MLK-16224-8: ARM64: dts: support DSD for ak4497
authorShengjiu Wang <shengjiu.wang@nxp.com>
Tue, 23 Jan 2018 09:16:10 +0000 (17:16 +0800)
committerNitin Garg <nitin.garg@nxp.com>
Tue, 20 Mar 2018 19:53:34 +0000 (14:53 -0500)
For most DSD sample rate is mulitply of 44k, so specify PLL2
for DSD usage. for pinmux is different for DSD mode compare with
PCM mode, define a new pinmux group for DSD.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Reviewed-by: Viorel Suman <viorel.suman@nxp.com>
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
arch/arm64/boot/dts/freescale/fsl-imx8mq-evk-ak4497.dts
arch/arm64/boot/dts/freescale/fsl-imx8mq-evk.dts

index 8045368..390eacc 100644 (file)
        };
 };
 
+&iomuxc {
+
+       imx8mq-evk {
+               pinctrl_sai1_pcm: sai1grp_pcm {
+                       fsl,pins = <
+                               MX8MQ_IOMUXC_SAI1_MCLK_SAI1_MCLK                0xd6
+                               MX8MQ_IOMUXC_SAI1_TXFS_SAI1_TX_SYNC             0xd6
+                               MX8MQ_IOMUXC_SAI1_RXD7_SAI1_TX_SYNC             0xd6
+                               MX8MQ_IOMUXC_SAI1_TXC_SAI1_TX_BCLK              0xd6
+                               MX8MQ_IOMUXC_SAI1_TXD0_SAI1_TX_DATA0            0xd6
+                               MX8MQ_IOMUXC_SAI1_TXD1_SAI1_TX_DATA1            0xd6
+                               MX8MQ_IOMUXC_SAI1_TXD2_SAI1_TX_DATA2            0xd6
+                               MX8MQ_IOMUXC_SAI1_TXD3_SAI1_TX_DATA3            0xd6
+                               MX8MQ_IOMUXC_SAI1_TXD4_SAI1_TX_DATA4            0xd6
+                               MX8MQ_IOMUXC_SAI1_TXD5_SAI1_TX_DATA5            0xd6
+                               MX8MQ_IOMUXC_SAI1_TXD6_SAI1_TX_DATA6            0xd6
+                               MX8MQ_IOMUXC_SAI1_TXD7_SAI1_TX_DATA7            0xd6
+                       >;
+               };
+
+               pinctrl_sai1_dsd: sai1grp_dsd {
+                       fsl,pins = <
+                               MX8MQ_IOMUXC_SAI1_MCLK_SAI1_MCLK                0xd6
+                               MX8MQ_IOMUXC_SAI1_TXFS_SAI1_TX_SYNC             0xd6
+                               MX8MQ_IOMUXC_SAI1_RXD7_SAI1_TX_DATA4            0xd6
+                               MX8MQ_IOMUXC_SAI1_TXC_SAI1_TX_BCLK              0xd6
+                               MX8MQ_IOMUXC_SAI1_TXD0_SAI1_TX_DATA0            0xd6
+                               MX8MQ_IOMUXC_SAI1_TXD1_SAI1_TX_DATA1            0xd6
+                               MX8MQ_IOMUXC_SAI1_TXD2_SAI1_TX_DATA2            0xd6
+                               MX8MQ_IOMUXC_SAI1_TXD3_SAI1_TX_DATA3            0xd6
+                               MX8MQ_IOMUXC_SAI1_TXD4_SAI1_TX_DATA4            0xd6
+                               MX8MQ_IOMUXC_SAI1_TXD5_SAI1_TX_DATA5            0xd6
+                               MX8MQ_IOMUXC_SAI1_TXD6_SAI1_TX_DATA6            0xd6
+                               MX8MQ_IOMUXC_SAI1_TXD7_SAI1_TX_DATA7            0xd6
+                       >;
+               };
+
+       };
+};
+
+&sai1 {
+       pinctrl-names = "default", "dsd";
+       pinctrl-0 = <&pinctrl_sai1_pcm>;
+       pinctrl-1 = <&pinctrl_sai1_dsd>;
+       assigned-clocks = <&clk IMX8MQ_CLK_SAI1_SRC>,
+                       <&clk IMX8MQ_CLK_SAI1_DIV>;
+       assigned-clock-parents = <&clk IMX8MQ_AUDIO_PLL2_OUT>;
+       assigned-clock-rates = <0>, <45158400>;
+       fsl,sai-multi-lane;
+       fsl,dataline,dsd = <0xff 0x11>;
+       dmas = <&sdma2 8 26 0>, <&sdma2 9 26 0>;
+       status = "okay";
+};
index 35133c2..5a100be 100644 (file)
 };
 
 &clk {
-       assigned-clocks = <&clk IMX8MQ_AUDIO_PLL1>;
-       assigned-clock-rates = <786432000>;
+       assigned-clocks = <&clk IMX8MQ_AUDIO_PLL1>, <&clk IMX8MQ_AUDIO_PLL2>;
+       assigned-clock-rates = <786432000>, <722534400>;
 };
 
 &iomuxc {