devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v5 0/4] Enable wm8524 on i.MX8MQ-EVK
@ 2019-03-01 16:36 Daniel Baluta
  2019-03-01 16:36 ` [PATCH v5 1/4] arm64: dts: imx8mq: Add SDMA nodes Daniel Baluta
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Daniel Baluta @ 2019-03-01 16:36 UTC (permalink / raw)
  To: shawnguo@kernel.org
  Cc: S.j. Wang, angus@akkea.ca, robh+dt@kernel.org,
	mark.rutland@arm.com, s.hauer@pengutronix.de,
	kernel@pengutronix.de, festevam@gmail.com, l.stach@pengutronix.de,
	Abel Vesa, ccaione@baylibre.com, baruch@tkos.co.il,
	agx@sigxcpu.org, devicetree@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, dl-linux-imx, Aisheng

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 wm8952

 .../devicetree/bindings/dma/fsl-imx-sdma.txt  |  1 +
 arch/arm64/boot/dts/freescale/imx8mq-evk.dts  | 48 +++++++++++++++++++
 arch/arm64/boot/dts/freescale/imx8mq.dtsi     | 37 ++++++++++++++
 3 files changed, 86 insertions(+)

-- 
2.17.1

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH v5 1/4] arm64: dts: imx8mq: Add SDMA nodes
  2019-03-01 16:36 [PATCH v5 0/4] Enable wm8524 on i.MX8MQ-EVK Daniel Baluta
@ 2019-03-01 16:36 ` Daniel Baluta
  2019-03-01 16:36 ` [PATCH v5 2/4] bindings: fsl-imx-sdma: Document fsl,imx8mq-sdma compatbile string Daniel Baluta
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Daniel Baluta @ 2019-03-01 16:36 UTC (permalink / raw)
  To: shawnguo@kernel.org
  Cc: mark.rutland@arm.com, devicetree@vger.kernel.org,
	baruch@tkos.co.il, Anson Huang, Abel Vesa,
	kuninori.morimoto.gx@renesas.com, ccaione@baylibre.com,
	spencercw@gmail.com, S.j. Wang, angus@akkea.ca,
	linux-kernel@vger.kernel.org, Daniel Baluta, 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

SDMA1 is part of AIPS-3 region and SDMA2 is part
of AIPS-1 region.

Reviewed-by: Fabio Estevam <festevam@gmail.com>
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
[initial submit in i.MX internal tree]
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
[adaptation for linux-next]
---
 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 9155bd4784eb..9d48450453fb 100644
--- a/arch/arm64/boot/dts/freescale/imx8mq.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8mq.dtsi
@@ -234,6 +234,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>;
@@ -575,6 +586,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

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH v5 2/4] bindings: fsl-imx-sdma: Document fsl,imx8mq-sdma compatbile string
  2019-03-01 16:36 [PATCH v5 0/4] Enable wm8524 on i.MX8MQ-EVK Daniel Baluta
  2019-03-01 16:36 ` [PATCH v5 1/4] arm64: dts: imx8mq: Add SDMA nodes Daniel Baluta
@ 2019-03-01 16:36 ` Daniel Baluta
  2019-03-01 16:36 ` [PATCH v5 3/4] arm64: dts: imx8mq: Add SAI2 node Daniel Baluta
  2019-03-01 16:36 ` [PATCH v5 4/4] arm64: dts: imx8mq-evk: Enable audio codec wm8524 Daniel Baluta
  3 siblings, 0 replies; 5+ messages in thread
From: Daniel Baluta @ 2019-03-01 16:36 UTC (permalink / raw)
  To: shawnguo@kernel.org
  Cc: mark.rutland@arm.com, devicetree@vger.kernel.org,
	baruch@tkos.co.il, Abel Vesa, kuninori.morimoto.gx@renesas.com,
	ccaione@baylibre.com, spencercw@gmail.com, S.j. Wang,
	angus@akkea.ca, linux-kernel@vger.kernel.org, Daniel Baluta,
	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

Add imx8mq sdma support.

Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.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

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH v5 3/4] arm64: dts: imx8mq: Add SAI2 node
  2019-03-01 16:36 [PATCH v5 0/4] Enable wm8524 on i.MX8MQ-EVK Daniel Baluta
  2019-03-01 16:36 ` [PATCH v5 1/4] arm64: dts: imx8mq: Add SDMA nodes Daniel Baluta
  2019-03-01 16:36 ` [PATCH v5 2/4] bindings: fsl-imx-sdma: Document fsl,imx8mq-sdma compatbile string Daniel Baluta
@ 2019-03-01 16:36 ` Daniel Baluta
  2019-03-01 16:36 ` [PATCH v5 4/4] arm64: dts: imx8mq-evk: Enable audio codec wm8524 Daniel Baluta
  3 siblings, 0 replies; 5+ messages in thread
From: Daniel Baluta @ 2019-03-01 16:36 UTC (permalink / raw)
  To: shawnguo@kernel.org
  Cc: S.j. Wang, angus@akkea.ca, robh+dt@kernel.org,
	mark.rutland@arm.com, s.hauer@pengutronix.de,
	kernel@pengutronix.de, festevam@gmail.com, l.stach@pengutronix.de,
	Abel Vesa, ccaione@baylibre.com, baruch@tkos.co.il,
	agx@sigxcpu.org, devicetree@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, dl-linux-imx, Aisheng

SAI2 is part of AIPS-3 memory region.

Signed-off-by: Daniel Baluta <daniel.baluta@nxp.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 9d48450453fb..b39c6c75c043 100644
--- a/arch/arm64/boot/dts/freescale/imx8mq.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8mq.dtsi
@@ -489,6 +489,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

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH v5 4/4] arm64: dts: imx8mq-evk: Enable audio codec wm8524
  2019-03-01 16:36 [PATCH v5 0/4] Enable wm8524 on i.MX8MQ-EVK Daniel Baluta
                   ` (2 preceding siblings ...)
  2019-03-01 16:36 ` [PATCH v5 3/4] arm64: dts: imx8mq: Add SAI2 node Daniel Baluta
@ 2019-03-01 16:36 ` Daniel Baluta
  3 siblings, 0 replies; 5+ messages in thread
From: Daniel Baluta @ 2019-03-01 16:36 UTC (permalink / raw)
  To: shawnguo@kernel.org
  Cc: S.j. Wang, angus@akkea.ca, robh+dt@kernel.org,
	mark.rutland@arm.com, s.hauer@pengutronix.de,
	kernel@pengutronix.de, festevam@gmail.com, l.stach@pengutronix.de,
	Abel Vesa, ccaione@baylibre.com, baruch@tkos.co.il,
	agx@sigxcpu.org, devicetree@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, dl-linux-imx, Aisheng

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>
---
 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 54737bf1772f..8666af6bea5b 100644
--- a/arch/arm64/boot/dts/freescale/imx8mq-evk.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mq-evk.dts
@@ -31,6 +31,35 @@
 		gpio = <&gpio2 19 GPIO_ACTIVE_HIGH>;
 		enable-active-high;
 	};
+
+	wm8524: audio-codec {
+		#sound-dai-cells = <0>;
+		compatible = "wlf,wm8524";
+		clocks = <&clk IMX8MQ_CLK_SAI2_ROOT>;
+		clock-names = "mclk";
+		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>;
+		};
+	};
 };
 
 &fec1 {
@@ -52,6 +81,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";
@@ -223,6 +261,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_i2c1: i2c1grp {
 		fsl,pins = <
 			MX8MQ_IOMUXC_I2C1_SCL_I2C1_SCL			0x4000007f
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2019-03-01 16:36 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-03-01 16:36 [PATCH v5 0/4] Enable wm8524 on i.MX8MQ-EVK Daniel Baluta
2019-03-01 16:36 ` [PATCH v5 1/4] arm64: dts: imx8mq: Add SDMA nodes Daniel Baluta
2019-03-01 16:36 ` [PATCH v5 2/4] bindings: fsl-imx-sdma: Document fsl,imx8mq-sdma compatbile string Daniel Baluta
2019-03-01 16:36 ` [PATCH v5 3/4] arm64: dts: imx8mq: Add SAI2 node Daniel Baluta
2019-03-01 16:36 ` [PATCH v5 4/4] arm64: dts: imx8mq-evk: Enable audio codec wm8524 Daniel Baluta

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).