summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdrian Alonso <adrian.alonso@nxp.com>2017-12-01 10:21:28 -0600
committerLeonard Crestez <leonard.crestez@nxp.com>2018-08-24 12:41:33 +0300
commit2267782fa058fea126f75ba2db2118d79bcdc34f (patch)
tree31f4ef46aaeba75810cb94b93486677a9ac194eb
parent4be2f072721c6d60bbf0027c04530b73e2869a25 (diff)
MLK-16929-3: dts: arm64: fsl imx8mq evk pdm mic support
Add pdm mic support on imx8mq evk platform Hardware modifications connect PDM mic: PDM pin SAI-3 pad Test point ------------------------------------ BCLK SAI3_RXC TP1802 DATA SAI3_RXD TP1804 Signed-off-by: Adrian Alonso <adrian.alonso@nxp.com> Reviewed-by: Shengjiu Wang <shengjiu.wang@nxp.com>
-rw-r--r--Documentation/devicetree/bindings/sound/imx-pdm-mic.txt16
-rw-r--r--arch/arm64/boot/dts/freescale/Makefile3
-rw-r--r--arch/arm64/boot/dts/freescale/fsl-imx8mq-evk-pdm.dts47
3 files changed, 65 insertions, 1 deletions
diff --git a/Documentation/devicetree/bindings/sound/imx-pdm-mic.txt b/Documentation/devicetree/bindings/sound/imx-pdm-mic.txt
new file mode 100644
index 000000000000..bde8313cba7e
--- /dev/null
+++ b/Documentation/devicetree/bindings/sound/imx-pdm-mic.txt
@@ -0,0 +1,16 @@
+Freescale i.MX audio complex PDM microphone
+
+Required properties:
+- compatible: "fsl,imx-pdm-mic"
+- model: The user-visible name of this sound complex
+- audio-cpu : The phandle of the i.MX SAI controller
+- decimation : The PDM decimation factor <64>
+
+Example:
+
+sound-pdm {
+ compatible = "fsl,imx-pdm-mic";
+ model = "imx-pdm-audio";
+ audio-cpu = <&sai3>;
+ decimation = <64>;
+};
diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile
index d27b51b730be..69ae9481424d 100644
--- a/arch/arm64/boot/dts/freescale/Makefile
+++ b/arch/arm64/boot/dts/freescale/Makefile
@@ -47,7 +47,8 @@ dtb-$(CONFIG_ARCH_FSL_IMX8MQ) += fsl-imx8mq-evk.dtb \
fsl-imx8mq-evk-pcie1-m2.dtb \
fsl-imx8mq-evk-lcdif-adv7535.dtb \
fsl-imx8mq-evk-lcdif-rm67191.dtb \
- fsl-imx8mq-evk-mipi-csi2.dtb
+ fsl-imx8mq-evk-mipi-csi2.dtb \
+ fsl-imx8mq-evk-pdm.dtb
always := $(dtb-y)
subdir-y := $(dts-dirs)
diff --git a/arch/arm64/boot/dts/freescale/fsl-imx8mq-evk-pdm.dts b/arch/arm64/boot/dts/freescale/fsl-imx8mq-evk-pdm.dts
new file mode 100644
index 000000000000..a2e84eea463b
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/fsl-imx8mq-evk-pdm.dts
@@ -0,0 +1,47 @@
+/*
+ * Copyright (C) 2016 Freescale Semiconductor, Inc.
+ * Copyright 2017 NXP
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+#include "fsl-imx8mq-evk.dts"
+
+/ {
+ sound-pdm {
+ compatible = "fsl,imx-pdm-mic";
+ model = "imx-pdm-audio";
+ audio-cpu = <&sai3>;
+ decimation = <64>;
+ status = "okay";
+ };
+};
+
+&iomuxc {
+ imx8mq-evk {
+ pinctrl_sai3: sai3grp {
+ fsl,pins = <
+ MX8MQ_IOMUXC_SAI3_RXC_SAI3_RX_BCLK 0xd6
+ MX8MQ_IOMUXC_SAI3_RXD_SAI3_RX_DATA0 0xd6
+ >;
+ };
+ };
+};
+
+&sai3 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_sai3>;
+ assigned-clocks = <&clk IMX8MQ_CLK_SAI3_SRC>,
+ <&clk IMX8MQ_CLK_SAI3_DIV>;
+ assigned-clock-parents = <&clk IMX8MQ_AUDIO_PLL1_OUT>;
+ assigned-clock-rates = <0>, <24576000>;
+ status = "okay";
+};