* [PATCH v7 1/4] arm64: dts: imx8mq: Add SDMA nodes
2019-03-19 17:48 [PATCH v7 0/4] Enable wm8524 on i.MX8MQ-EVK Daniel Baluta
@ 2019-03-19 17:48 ` Daniel Baluta
2019-03-19 17:48 ` [PATCH v7 2/4] bindings: fsl-imx-sdma: Document fsl,imx8mq-sdma compatbile string Daniel Baluta
` (3 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: Daniel Baluta @ 2019-03-19 17:48 UTC (permalink / raw)
To: S.j. Wang, shawnguo@kernel.org
Cc: mark.rutland@arm.com, devicetree@vger.kernel.org,
baruch@tkos.co.il, Anson Huang, kuninori.morimoto.gx@renesas.com,
ccaione@baylibre.com, spencercw@gmail.com, s.hauer@pengutronix.de,
angus@akkea.ca, linux-kernel@vger.kernel.org, Daniel Baluta,
robh+dt@kernel.org, dl-linux-imx, kernel@pengutronix.de,
Aisheng Dong, festevam@gmail.com, agx@sigxcpu.org,
linux-arm-kernel@lists.infradead.org, l.stach@pengutronix.de
SDMA1 is part of AIPS-3 region and SDMA2 is part
of AIPS-1 region.
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
---
arch/arm64/boot/dts/freescale/imx8mq.dtsi | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/arch/arm64/boot/dts/freescale/imx8mq.dtsi b/arch/arm64/boot/dts/freescale/imx8mq.dtsi
index 32a02027df92..7a62413bc1cd 100644
--- a/arch/arm64/boot/dts/freescale/imx8mq.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8mq.dtsi
@@ -251,6 +251,17 @@
status = "disabled";
};
+ sdma2: sdma@302c0000 {
+ compatible = "fsl,imx8mq-sdma","fsl,imx7d-sdma";
+ reg = <0x302c0000 0x10000>;
+ interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&clk IMX8MQ_CLK_SDMA2_ROOT>,
+ <&clk IMX8MQ_CLK_SDMA2_ROOT>;
+ clock-names = "ipg", "ahb";
+ #dma-cells = <3>;
+ fsl,sdma-ram-script-name = "imx/sdma/sdma-imx7d.bin";
+ };
+
iomuxc: iomuxc@30330000 {
compatible = "fsl,imx8mq-iomuxc";
reg = <0x30330000 0x10000>;
@@ -600,6 +611,17 @@
status = "disabled";
};
+ sdma1: sdma@30bd0000 {
+ compatible = "fsl, imx8mq-sdma","fsl,imx7d-sdma";
+ reg = <0x30bd0000 0x10000>;
+ interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&clk IMX8MQ_CLK_SDMA1_ROOT>,
+ <&clk IMX8MQ_CLK_SDMA1_ROOT>;
+ clock-names = "ipg", "ahb";
+ #dma-cells = <3>;
+ fsl,sdma-ram-script-name = "imx/sdma/sdma-imx7d.bin";
+ };
+
fec1: ethernet@30be0000 {
compatible = "fsl,imx8mq-fec", "fsl,imx6sx-fec";
reg = <0x30be0000 0x10000>;
--
2.17.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 6+ messages in thread* [PATCH v7 2/4] bindings: fsl-imx-sdma: Document fsl,imx8mq-sdma compatbile string
2019-03-19 17:48 [PATCH v7 0/4] Enable wm8524 on i.MX8MQ-EVK Daniel Baluta
2019-03-19 17:48 ` [PATCH v7 1/4] arm64: dts: imx8mq: Add SDMA nodes Daniel Baluta
@ 2019-03-19 17:48 ` Daniel Baluta
2019-03-19 17:48 ` [PATCH v7 3/4] arm64: dts: imx8mq: Add SAI2 node Daniel Baluta
` (2 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: Daniel Baluta @ 2019-03-19 17:48 UTC (permalink / raw)
To: S.j. Wang, shawnguo@kernel.org
Cc: mark.rutland@arm.com, devicetree@vger.kernel.org,
baruch@tkos.co.il, kuninori.morimoto.gx@renesas.com,
ccaione@baylibre.com, spencercw@gmail.com, s.hauer@pengutronix.de,
angus@akkea.ca, linux-kernel@vger.kernel.org, Daniel Baluta,
robh+dt@kernel.org, dl-linux-imx, kernel@pengutronix.de,
Aisheng Dong, festevam@gmail.com, agx@sigxcpu.org,
linux-arm-kernel@lists.infradead.org, l.stach@pengutronix.de
Add imx8mq sdma support.
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
---
Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt b/Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt
index 3c9a57a8443b..9d8bbac27d8b 100644
--- a/Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt
+++ b/Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt
@@ -9,6 +9,7 @@ Required properties:
"fsl,imx53-sdma"
"fsl,imx6q-sdma"
"fsl,imx7d-sdma"
+ "fsl,imx8mq-sdma"
The -to variants should be preferred since they allow to determine the
correct ROM script addresses needed for the driver to work without additional
firmware.
--
2.17.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 6+ messages in thread* [PATCH v7 3/4] arm64: dts: imx8mq: Add SAI2 node
2019-03-19 17:48 [PATCH v7 0/4] Enable wm8524 on i.MX8MQ-EVK Daniel Baluta
2019-03-19 17:48 ` [PATCH v7 1/4] arm64: dts: imx8mq: Add SDMA nodes Daniel Baluta
2019-03-19 17:48 ` [PATCH v7 2/4] bindings: fsl-imx-sdma: Document fsl,imx8mq-sdma compatbile string Daniel Baluta
@ 2019-03-19 17:48 ` Daniel Baluta
2019-03-19 17:48 ` [PATCH v7 4/4] arm64: dts: imx8mq-evk: Enable audio codec wm8524 Daniel Baluta
2019-03-20 7:55 ` [PATCH v7 0/4] Enable wm8524 on i.MX8MQ-EVK Shawn Guo
4 siblings, 0 replies; 6+ messages in thread
From: Daniel Baluta @ 2019-03-19 17:48 UTC (permalink / raw)
To: S.j. Wang, shawnguo@kernel.org
Cc: mark.rutland@arm.com, devicetree@vger.kernel.org,
baruch@tkos.co.il, kuninori.morimoto.gx@renesas.com,
ccaione@baylibre.com, spencercw@gmail.com, s.hauer@pengutronix.de,
angus@akkea.ca, linux-kernel@vger.kernel.org, Daniel Baluta,
robh+dt@kernel.org, dl-linux-imx, kernel@pengutronix.de,
Aisheng Dong, festevam@gmail.com, agx@sigxcpu.org,
linux-arm-kernel@lists.infradead.org, l.stach@pengutronix.de
SAI2 is part of AIPS-3 memory region.
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
---
arch/arm64/boot/dts/freescale/imx8mq.dtsi | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/arch/arm64/boot/dts/freescale/imx8mq.dtsi b/arch/arm64/boot/dts/freescale/imx8mq.dtsi
index 7a62413bc1cd..87faf9d2f65a 100644
--- a/arch/arm64/boot/dts/freescale/imx8mq.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8mq.dtsi
@@ -514,6 +514,21 @@
status = "disabled";
};
+ sai2: sai@308b0000 {
+ #sound-dai-cells = <0>;
+ compatible = "fsl,imx8mq-sai",
+ "fsl,imx6sx-sai";
+ reg = <0x308b0000 0x10000>;
+ interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&clk IMX8MQ_CLK_SAI2_IPG>,
+ <&clk IMX8MQ_CLK_SAI2_ROOT>,
+ <&clk IMX8MQ_CLK_DUMMY>, <&clk IMX8MQ_CLK_DUMMY>;
+ clock-names = "bus", "mclk1", "mclk2", "mclk3";
+ dmas = <&sdma1 10 24 0>, <&sdma1 11 24 0>;
+ dma-names = "rx", "tx";
+ status = "disabled";
+ };
+
i2c1: i2c@30a20000 {
compatible = "fsl,imx8mq-i2c", "fsl,imx21-i2c";
reg = <0x30a20000 0x10000>;
--
2.17.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 6+ messages in thread* [PATCH v7 4/4] arm64: dts: imx8mq-evk: Enable audio codec wm8524
2019-03-19 17:48 [PATCH v7 0/4] Enable wm8524 on i.MX8MQ-EVK Daniel Baluta
` (2 preceding siblings ...)
2019-03-19 17:48 ` [PATCH v7 3/4] arm64: dts: imx8mq: Add SAI2 node Daniel Baluta
@ 2019-03-19 17:48 ` Daniel Baluta
2019-03-20 7:55 ` [PATCH v7 0/4] Enable wm8524 on i.MX8MQ-EVK Shawn Guo
4 siblings, 0 replies; 6+ messages in thread
From: Daniel Baluta @ 2019-03-19 17:48 UTC (permalink / raw)
To: S.j. Wang, shawnguo@kernel.org
Cc: mark.rutland@arm.com, devicetree@vger.kernel.org,
baruch@tkos.co.il, kuninori.morimoto.gx@renesas.com,
ccaione@baylibre.com, spencercw@gmail.com, s.hauer@pengutronix.de,
angus@akkea.ca, linux-kernel@vger.kernel.org, Daniel Baluta,
robh+dt@kernel.org, dl-linux-imx, kernel@pengutronix.de,
Aisheng Dong, festevam@gmail.com, agx@sigxcpu.org,
linux-arm-kernel@lists.infradead.org, l.stach@pengutronix.de
The main Audio DAC used on the EVK board is wm8524
The EVK provides the MCLK to wm8524.
Digital interface is SAI2 which includes three signals:
SYNC_CLK, BCLK and DACDAT.
This patch sets:
* SAI2 pinctrl configuration
* clock hierarchy
* wm8524 codec
Then uses simple-card machine driver to connect them
into a sound card.
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
---
arch/arm64/boot/dts/freescale/imx8mq-evk.dts | 48 ++++++++++++++++++++
1 file changed, 48 insertions(+)
diff --git a/arch/arm64/boot/dts/freescale/imx8mq-evk.dts b/arch/arm64/boot/dts/freescale/imx8mq-evk.dts
index afea110b70a3..304c28034ddf 100644
--- a/arch/arm64/boot/dts/freescale/imx8mq-evk.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mq-evk.dts
@@ -43,6 +43,35 @@
states = <1000000 0x0
900000 0x1>;
};
+
+ wm8524: audio-codec {
+ #sound-dai-cells = <0>;
+ compatible = "wlf,wm8524";
+ wlf,mute-gpios = <&gpio1 8 GPIO_ACTIVE_LOW>;
+ };
+
+ sound-wm8524 {
+ compatible = "simple-audio-card";
+ simple-audio-card,name = "wm8524-audio";
+ simple-audio-card,format = "i2s";
+ simple-audio-card,frame-master = <&cpudai>;
+ simple-audio-card,bitclock-master = <&cpudai>;
+ simple-audio-card,widgets =
+ "Line", "Left Line Out Jack",
+ "Line", "Right Line Out Jack";
+ simple-audio-card,routing =
+ "Left Line Out Jack", "LINEVOUTL",
+ "Right Line Out Jack", "LINEVOUTR";
+
+ cpudai: simple-audio-card,cpu {
+ sound-dai = <&sai2>;
+ };
+
+ link_codec: simple-audio-card,codec {
+ sound-dai = <&wm8524>;
+ clocks = <&clk IMX8MQ_CLK_SAI2_ROOT>;
+ };
+ };
};
&A53_0 {
@@ -80,6 +109,15 @@
};
};
+&sai2 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_sai2>;
+ assigned-clocks = <&clk IMX8MQ_CLK_SAI2>;
+ assigned-clock-parents = <&clk IMX8MQ_AUDIO_PLL1_OUT>;
+ assigned-clock-rates = <24576000>;
+ status = "okay";
+};
+
&i2c1 {
clock-frequency = <100000>;
pinctrl-names = "default";
@@ -283,6 +321,16 @@
>;
};
+ pinctrl_sai2: sai2grp {
+ fsl,pins = <
+ MX8MQ_IOMUXC_SAI2_TXFS_SAI2_TX_SYNC 0xd6
+ 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_uart1: uart1grp {
fsl,pins = <
MX8MQ_IOMUXC_UART1_RXD_UART1_DCE_RX 0x49
--
2.17.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 6+ messages in thread* Re: [PATCH v7 0/4] Enable wm8524 on i.MX8MQ-EVK
2019-03-19 17:48 [PATCH v7 0/4] Enable wm8524 on i.MX8MQ-EVK Daniel Baluta
` (3 preceding siblings ...)
2019-03-19 17:48 ` [PATCH v7 4/4] arm64: dts: imx8mq-evk: Enable audio codec wm8524 Daniel Baluta
@ 2019-03-20 7:55 ` Shawn Guo
4 siblings, 0 replies; 6+ messages in thread
From: Shawn Guo @ 2019-03-20 7:55 UTC (permalink / raw)
To: Daniel Baluta
Cc: mark.rutland@arm.com, devicetree@vger.kernel.org,
baruch@tkos.co.il, kuninori.morimoto.gx@renesas.com,
ccaione@baylibre.com, spencercw@gmail.com, S.j. Wang,
angus@akkea.ca, linux-kernel@vger.kernel.org, robh+dt@kernel.org,
dl-linux-imx, kernel@pengutronix.de, Aisheng Dong,
agx@sigxcpu.org, festevam@gmail.com, s.hauer@pengutronix.de,
linux-arm-kernel@lists.infradead.org, l.stach@pengutronix.de
On Tue, Mar 19, 2019 at 05:48:35PM +0000, Daniel Baluta wrote:
> On i.MX8MQ EVK we can start the party using the wm8524 codec
> which gets it's data through the SAI2 interface.
>
> In order to make it work this patch series enables the SDMA nodes,
> sets the correct pinctrl configuration and uses the simple card
> machine driver to put everything together.
>
> Changes since v6: (after Shawn's comments)
> - rebased on latest Shawn's for-next branch
> - added new lines between properties and child nodes
> - added new lines between child nodes
> - keep pinctrl nodes sorted
> - added reviewed by after SoBs in commit message
>
> Changes since v5:
> - remove clocks and clock-names properties from wm8524
> code node as they are not used.
>
> Changes since v4 (after Fabio's review)
> - removed mclk0 from sai2 node because it is not yet supported
> by SAI driver
> - s/audio-codec-0/audio-codec
> - squashed patches 4 and 5
>
> Changes since v3:
> - use "arm64: dts: imx8mq-evk" prefix for patches specific to
> 8MQ-EVK
> - squash together patches for setting up SAI (previous 3/5 and
> 4/5)
> - add back and document "fsl, imx8mq-sdma" compatbile string
>
> Changes since v2:
> - s/QM/MQ after Chris comments
>
> Changes since v1:
> - added cover letter
> - remove "fsl,imx8mq-sdma" compatible for sdma.
>
> Daniel Baluta (4):
> arm64: dts: imx8mq: Add SDMA nodes
> bindings: fsl-imx-sdma: Document fsl,imx8mq-sdma compatbile string
> arm64: dts: imx8mq: Add SAI2 node
> arm64: dts: imx8mq-evk: Enable audio codec wm8524
Applied all, thanks.
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 6+ messages in thread