summaryrefslogtreecommitdiff
path: root/arch/arm64/boot/dts/freescale/imx8mq-evk.dts
diff options
context:
space:
mode:
authorShengjiu Wang <shengjiu.wang@nxp.com>2019-09-02 17:46:27 +0800
committerDong Aisheng <aisheng.dong@nxp.com>2019-11-25 16:07:14 +0800
commit8561ea399e4d0a1d95199722f016e1383475aab9 (patch)
tree690d40248a2fd03ee593252cb0a2d8f91598ba21 /arch/arm64/boot/dts/freescale/imx8mq-evk.dts
parenta6500723cd27a56590fc8e54705defb3cda1ab34 (diff)
ARM64: dts: Support ak4458/ak5558/ak4497/spdif in imx8mq
Support ak4458/ak5558/ak4497/spdif in imx8mq Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Diffstat (limited to 'arch/arm64/boot/dts/freescale/imx8mq-evk.dts')
-rwxr-xr-xarch/arm64/boot/dts/freescale/imx8mq-evk.dts228
1 files changed, 224 insertions, 4 deletions
diff --git a/arch/arm64/boot/dts/freescale/imx8mq-evk.dts b/arch/arm64/boot/dts/freescale/imx8mq-evk.dts
index a5e355743667..0580cbb74ce0 100755
--- a/arch/arm64/boot/dts/freescale/imx8mq-evk.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mq-evk.dts
@@ -118,6 +118,45 @@
clocks = <&clk IMX8MQ_CLK_SAI2_ROOT>;
};
};
+
+ sound-spdif {
+ compatible = "fsl,imx-audio-spdif";
+ model = "imx-spdif";
+ spdif-controller = <&spdif1>;
+ spdif-out;
+ spdif-in;
+ };
+
+ sound-hdmi-arc {
+ compatible = "fsl,imx-audio-spdif";
+ model = "imx-hdmi-arc";
+ spdif-controller = <&spdif2>;
+ spdif-in;
+ };
+
+ sound-ak4458 {
+ compatible = "fsl,imx-audio-ak4458-mq";
+ model = "ak4458-audio";
+ audio-cpu = <&sai1>;
+ audio-codec = <&ak4458_1>, <&ak4458_2>;
+ ak4458,pdn-gpio = <&gpio3 18 GPIO_ACTIVE_HIGH>;
+ };
+
+ sound-ak5558 {
+ compatible = "fsl,imx-audio-ak5558-mq";
+ model = "ak5558-audio";
+ audio-cpu = <&sai5>;
+ audio-codec = <&ak5558>;
+ };
+
+ sound-ak4497 {
+ compatible = "fsl,imx-audio-ak4497-mq";
+ model = "ak4497-audio";
+ audio-cpu = <&sai1>;
+ audio-codec = <&ak4497>;
+ status = "disabled";
+ };
+
};
&A53_0 {
@@ -156,15 +195,93 @@
};
};
+&clk {
+ assigned-clocks = <&clk IMX8MQ_AUDIO_PLL1_BYPASS>, <&clk IMX8MQ_AUDIO_PLL2_BYPASS>,
+ <&clk IMX8MQ_AUDIO_PLL1>, <&clk IMX8MQ_AUDIO_PLL2>;
+ assigned-clock-parents = <&clk IMX8MQ_AUDIO_PLL1>, <&clk IMX8MQ_AUDIO_PLL2>;
+ assigned-clock-rates = <0>, <0>, <786432000>, <722534400>;
+};
+
&sai2 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_sai2>;
- assigned-clocks = <&clk IMX8MQ_AUDIO_PLL1_BYPASS>, <&clk IMX8MQ_CLK_SAI2>;
- assigned-clock-parents = <&clk IMX8MQ_AUDIO_PLL1>, <&clk IMX8MQ_AUDIO_PLL1_OUT>;
- assigned-clock-rates = <0>, <24576000>;
+ assigned-clocks = <&clk IMX8MQ_CLK_SAI2>;
+ assigned-clock-parents = <&clk IMX8MQ_AUDIO_PLL1_OUT>;
+ assigned-clock-rates = <24576000>;
+ status = "okay";
+};
+
+&sai1 {
+ pinctrl-names = "default", "pcm_b2m", "dsd";
+ pinctrl-0 = <&pinctrl_sai1_pcm>;
+ pinctrl-1 = <&pinctrl_sai1_pcm_b2m>;
+ pinctrl-2 = <&pinctrl_sai1_dsd>;
+ assigned-clocks = <&clk IMX8MQ_CLK_SAI1>;
+ assigned-clock-parents = <&clk IMX8MQ_AUDIO_PLL1_OUT>;
+ assigned-clock-rates = <49152000>;
+ clocks = <&clk IMX8MQ_CLK_SAI1_IPG>, <&clk IMX8MQ_CLK_DUMMY>,
+ <&clk IMX8MQ_CLK_SAI1_ROOT>, <&clk IMX8MQ_CLK_DUMMY>,
+ <&clk IMX8MQ_CLK_DUMMY>, <&clk IMX8MQ_AUDIO_PLL1_OUT>,
+ <&clk IMX8MQ_AUDIO_PLL2_OUT>;
+ clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3", "pll8k", "pll11k";
+ fsl,sai-multi-lane;
+ fsl,dataline,dsd = <0 0xff 0xff 2 0xff 0x11>;
+ dmas = <&sdma2 8 25 0>, <&sdma2 9 25 0>;
status = "okay";
};
+&sai4 {
+ assigned-clocks = <&clk IMX8MQ_CLK_SAI4>;
+ assigned-clock-parents = <&clk IMX8MQ_AUDIO_PLL1_OUT>;
+ assigned-clock-rates = <24576000>;
+ clocks = <&clk IMX8MQ_CLK_SAI4_IPG>, <&clk IMX8MQ_CLK_DUMMY>,
+ <&clk IMX8MQ_CLK_SAI4_ROOT>, <&clk IMX8MQ_CLK_DUMMY>,
+ <&clk IMX8MQ_CLK_DUMMY>, <&clk IMX8MQ_AUDIO_PLL1_OUT>,
+ <&clk IMX8MQ_AUDIO_PLL2_OUT>;
+ clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3", "pll8k", "pll11k";
+ status = "okay";
+};
+
+&sai5 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_sai5>;
+ assigned-clocks = <&clk IMX8MQ_CLK_SAI5>;
+ assigned-clock-parents = <&clk IMX8MQ_AUDIO_PLL1_OUT>;
+ assigned-clock-rates = <49152000>;
+ clocks = <&clk IMX8MQ_CLK_SAI5_IPG>, <&clk IMX8MQ_CLK_DUMMY>,
+ <&clk IMX8MQ_CLK_SAI5_ROOT>, <&clk IMX8MQ_CLK_DUMMY>,
+ <&clk IMX8MQ_CLK_DUMMY>, <&clk IMX8MQ_AUDIO_PLL1_OUT>,
+ <&clk IMX8MQ_AUDIO_PLL2_OUT>;
+ clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3", "pll8k", "pll11k";
+ fsl,sai-asynchronous;
+ status = "okay";
+};
+
+&spdif1 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_spdif1>;
+ assigned-clocks = <&clk IMX8MQ_CLK_SPDIF1>;
+ assigned-clock-parents = <&clk IMX8MQ_AUDIO_PLL1_OUT>;
+ assigned-clock-rates = <24576000>;
+ clocks = <&clk IMX8MQ_CLK_IPG_ROOT>, <&clk IMX8MQ_CLK_25M>,
+ <&clk IMX8MQ_CLK_SPDIF1>, <&clk IMX8MQ_CLK_DUMMY>,
+ <&clk IMX8MQ_CLK_DUMMY>, <&clk IMX8MQ_CLK_DUMMY>,
+ <&clk IMX8MQ_CLK_IPG_ROOT>, <&clk IMX8MQ_CLK_DUMMY>,
+ <&clk IMX8MQ_CLK_DUMMY>, <&clk IMX8MQ_CLK_DUMMY>,
+ <&clk IMX8MQ_AUDIO_PLL1_OUT>, <&clk IMX8MQ_AUDIO_PLL2_OUT>;
+ clock-names = "core", "rxtx0", "rxtx1", "rxtx2", "rxtx3", "rxtx4",
+ "rxtx5", "rxtx6", "rxtx7", "spba", "pll8k", "pll11k";
+ status = "okay";
+};
+
+&spdif2 {
+ assigned-clocks = <&clk IMX8MQ_CLK_SPDIF2>;
+ assigned-clock-parents = <&clk IMX8MQ_AUDIO_PLL1_OUT>;
+ assigned-clock-rates = <24576000>;
+ status = "okay";
+};
+
+
&gpio5 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_wifi_reset>;
@@ -322,6 +439,28 @@
synaptics,diagonal-rotation;
status = "disabled";
};
+
+ ak4458_1: ak4458@10 {
+ compatible = "asahi-kasei,ak4458";
+ reg = <0x10>;
+ };
+
+ ak4458_2: ak4458@12 {
+ compatible = "asahi-kasei,ak4458";
+ reg = <0x12>;
+ };
+
+ ak5558: ak5558@13 {
+ compatible = "asahi-kasei,ak5558";
+ reg = <0x13>;
+ ak5558,pdn-gpio = <&gpio3 17 GPIO_ACTIVE_HIGH>;
+ };
+
+ ak4497: ak4497@11 {
+ compatible = "asahi-kasei,ak4497";
+ reg = <0x11>;
+ ak4497,pdn-gpio = <&gpio3 16 GPIO_ACTIVE_HIGH>;
+ };
};
&pcie0 {
@@ -452,6 +591,18 @@
};
&iomuxc {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_hog>;
+
+ pinctrl_hog: hoggrp {
+ fsl,pins = <
+ MX8MQ_IOMUXC_NAND_READY_B_GPIO3_IO16 0x19
+ MX8MQ_IOMUXC_NAND_WE_B_GPIO3_IO17 0x19
+ MX8MQ_IOMUXC_NAND_WP_B_GPIO3_IO18 0x19
+ MX8MQ_IOMUXC_GPIO1_IO08_GPIO1_IO8 0xd6
+ >;
+ };
+
pinctrl_buck2: vddarmgrp {
fsl,pins = <
MX8MQ_IOMUXC_GPIO1_IO13_GPIO1_IO13 0x19
@@ -530,7 +681,76 @@
MX8MQ_IOMUXC_SAI2_TXC_SAI2_TX_BCLK 0xd6
MX8MQ_IOMUXC_SAI2_MCLK_SAI2_MCLK 0xd6
MX8MQ_IOMUXC_SAI2_TXD0_SAI2_TX_DATA0 0xd6
- MX8MQ_IOMUXC_GPIO1_IO08_GPIO1_IO8 0xd6
+ >;
+ };
+
+ 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_pcm_b2m: sai1grp_pcm_b2m {
+ fsl,pins = <
+ MX8MQ_IOMUXC_SAI1_MCLK_SAI1_TX_BCLK 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
+ >;
+ };
+
+ pinctrl_sai5: sai5grp {
+ fsl,pins = <
+ MX8MQ_IOMUXC_SAI5_MCLK_SAI5_MCLK 0xd6
+ MX8MQ_IOMUXC_SAI5_RXC_SAI5_RX_BCLK 0xd6
+ MX8MQ_IOMUXC_SAI5_RXFS_SAI5_RX_SYNC 0xd6
+ MX8MQ_IOMUXC_SAI5_RXD0_SAI5_RX_DATA0 0xd6
+ MX8MQ_IOMUXC_SAI5_RXD1_SAI5_RX_DATA1 0xd6
+ MX8MQ_IOMUXC_SAI5_RXD2_SAI5_RX_DATA2 0xd6
+ MX8MQ_IOMUXC_SAI5_RXD3_SAI5_RX_DATA3 0xd6
+ >;
+ };
+
+ pinctrl_spdif1: spdif1grp {
+ fsl,pins = <
+ MX8MQ_IOMUXC_SPDIF_TX_SPDIF1_OUT 0xd6
+ MX8MQ_IOMUXC_SPDIF_RX_SPDIF1_IN 0xd6
>;
};