linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [Linux-stm32][PATCH 0/4] ARM: dts: stm32: add i2s and sai support on stm32mp157c
@ 2019-04-25 14:10 Olivier Moysan
  2019-04-25 14:10 ` [Linux-stm32][PATCH 1/4] ARM: dts: stm32: add " Olivier Moysan
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Olivier Moysan @ 2019-04-25 14:10 UTC (permalink / raw)
  To: linux-stm32, alexandre.torgue, robh, mark.rutland, devicetree,
	linux-arm-kernel, linux-kernel, olivier.moysan

This patchset adds support of STM32 SAI and I2S on stm32mp157c

Olivier Moysan (4):
  ARM: dts: stm32: add sai support on stm32mp157c
  ARM: dts: stm32: add sai pins muxing on stm32mp157
  ARM: dts: stm32: add i2s support on stm32mp157c
  ARM: dts: stm32: add i2s pins muxing on stm32mp157

 arch/arm/boot/dts/stm32mp157-pinctrl.dtsi |  92 +++++++++++++++++
 arch/arm/boot/dts/stm32mp157c.dtsi        | 158 ++++++++++++++++++++++++++++++
 2 files changed, 250 insertions(+)

-- 
2.7.4


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

* [Linux-stm32][PATCH 1/4] ARM: dts: stm32: add sai support on stm32mp157c
  2019-04-25 14:10 [Linux-stm32][PATCH 0/4] ARM: dts: stm32: add i2s and sai support on stm32mp157c Olivier Moysan
@ 2019-04-25 14:10 ` Olivier Moysan
  2019-04-25 14:10 ` [Linux-stm32][PATCH 2/4] ARM: dts: stm32: add sai pins muxing on stm32mp157 Olivier Moysan
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Olivier Moysan @ 2019-04-25 14:10 UTC (permalink / raw)
  To: linux-stm32, alexandre.torgue, robh, mark.rutland, devicetree,
	linux-arm-kernel, linux-kernel, olivier.moysan

This patch adds support of STM32 SAI on stm32mp157c.

Signed-off-by: Olivier Moysan <olivier.moysan@st.com>
---
 arch/arm/boot/dts/stm32mp157c.dtsi | 125 +++++++++++++++++++++++++++++++++++++
 1 file changed, 125 insertions(+)

diff --git a/arch/arm/boot/dts/stm32mp157c.dtsi b/arch/arm/boot/dts/stm32mp157c.dtsi
index 2afeee65c3ea..9ae40240f635 100644
--- a/arch/arm/boot/dts/stm32mp157c.dtsi
+++ b/arch/arm/boot/dts/stm32mp157c.dtsi
@@ -708,6 +708,100 @@
 			status = "disabled";
 		};
 
+		sai1: sai@4400a000 {
+			compatible = "st,stm32h7-sai";
+			#address-cells = <1>;
+			#size-cells = <1>;
+			ranges = <0 0x4400a000 0x400>;
+			reg = <0x4400a000 0x4>;
+			interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
+			resets = <&rcc SAI1_R>;
+			status = "disabled";
+
+			sai1a: audio-controller@4400a004 {
+				#sound-dai-cells = <0>;
+
+				compatible = "st,stm32-sai-sub-a";
+				reg = <0x4 0x1c>;
+				clocks = <&rcc SAI1_K>;
+				clock-names = "sai_ck";
+				dmas = <&dmamux1 87 0x400 0x01>;
+				status = "disabled";
+			};
+
+			sai1b: audio-controller@4400a024 {
+				#sound-dai-cells = <0>;
+				compatible = "st,stm32-sai-sub-b";
+				reg = <0x24 0x1c>;
+				clocks = <&rcc SAI1_K>;
+				clock-names = "sai_ck";
+				dmas = <&dmamux1 88 0x400 0x01>;
+				status = "disabled";
+			};
+		};
+
+		sai2: sai@4400b000 {
+			compatible = "st,stm32h7-sai";
+			#address-cells = <1>;
+			#size-cells = <1>;
+			ranges = <0 0x4400b000 0x400>;
+			reg = <0x4400b000 0x4>;
+			interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
+			resets = <&rcc SAI2_R>;
+			status = "disabled";
+
+			sai2a: audio-controller@4400b004 {
+				#sound-dai-cells = <0>;
+				compatible = "st,stm32-sai-sub-a";
+				reg = <0x4 0x1c>;
+				clocks = <&rcc SAI2_K>;
+				clock-names = "sai_ck";
+				dmas = <&dmamux1 89 0x400 0x01>;
+				status = "disabled";
+			};
+
+			sai2b: audio-controller@4400b024 {
+				#sound-dai-cells = <0>;
+				compatible = "st,stm32-sai-sub-b";
+				reg = <0x24 0x1c>;
+				clocks = <&rcc SAI2_K>;
+				clock-names = "sai_ck";
+				dmas = <&dmamux1 90 0x400 0x01>;
+				status = "disabled";
+			};
+		};
+
+		sai3: sai@4400c000 {
+			compatible = "st,stm32h7-sai";
+			#address-cells = <1>;
+			#size-cells = <1>;
+			ranges = <0 0x4400c000 0x400>;
+			reg = <0x4400c000 0x4>;
+			interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
+			resets = <&rcc SAI3_R>;
+			status = "disabled";
+
+			sai3a: audio-controller@4400c004 {
+				#sound-dai-cells = <0>;
+				compatible = "st,stm32-sai-sub-a";
+				reg = <0x04 0x1c>;
+				clocks = <&rcc SAI3_K>;
+				clock-names = "sai_ck";
+				dmas = <&dmamux1 113 0x400 0x01>;
+				status = "disabled";
+			};
+
+			sai3b: audio-controller@4400c024 {
+				#sound-dai-cells = <0>;
+				compatible = "st,stm32-sai-sub-b";
+				reg = <0x24 0x1c>;
+				clocks = <&rcc SAI3_K>;
+				clock-names = "sai_ck";
+				dmas = <&dmamux1 114 0x400 0x01>;
+				status = "disabled";
+			};
+		};
+
 		dfsdm: dfsdm@4400d000 {
 			compatible = "st,stm32mp1-dfsdm";
 			reg = <0x4400d000 0x800>;
@@ -1020,6 +1114,37 @@
 			status = "disabled";
 		};
 
+		sai4: sai@50027000 {
+			compatible = "st,stm32h7-sai";
+			#address-cells = <1>;
+			#size-cells = <1>;
+			ranges = <0 0x50027000 0x400>;
+			reg = <0x50027000 0x4>;
+			interrupts = <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>;
+			resets = <&rcc SAI4_R>;
+			status = "disabled";
+
+			sai4a: audio-controller@50027004 {
+				#sound-dai-cells = <0>;
+				compatible = "st,stm32-sai-sub-a";
+				reg = <0x04 0x1c>;
+				clocks = <&rcc SAI4_K>;
+				clock-names = "sai_ck";
+				dmas = <&dmamux1 99 0x400 0x01>;
+				status = "disabled";
+			};
+
+			sai4b: audio-controller@50027024 {
+				#sound-dai-cells = <0>;
+				compatible = "st,stm32-sai-sub-b";
+				reg = <0x24 0x1c>;
+				clocks = <&rcc SAI4_K>;
+				clock-names = "sai_ck";
+				dmas = <&dmamux1 100 0x400 0x01>;
+				status = "disabled";
+			};
+		};
+
 		dts: thermal@50028000 {
 			compatible = "st,stm32-thermal";
 			reg = <0x50028000 0x100>;
-- 
2.7.4


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

* [Linux-stm32][PATCH 2/4] ARM: dts: stm32: add sai pins muxing on stm32mp157
  2019-04-25 14:10 [Linux-stm32][PATCH 0/4] ARM: dts: stm32: add i2s and sai support on stm32mp157c Olivier Moysan
  2019-04-25 14:10 ` [Linux-stm32][PATCH 1/4] ARM: dts: stm32: add " Olivier Moysan
@ 2019-04-25 14:10 ` Olivier Moysan
  2019-04-25 14:10 ` [Linux-stm32][PATCH 3/4] ARM: dts: stm32: add i2s support on stm32mp157c Olivier Moysan
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Olivier Moysan @ 2019-04-25 14:10 UTC (permalink / raw)
  To: linux-stm32, alexandre.torgue, robh, mark.rutland, devicetree,
	linux-arm-kernel, linux-kernel, olivier.moysan

Add SAI pins muxing to stm32mp157.

Signed-off-by: Olivier Moysan <olivier.moysan@st.com>
---
 arch/arm/boot/dts/stm32mp157-pinctrl.dtsi | 73 +++++++++++++++++++++++++++++++
 1 file changed, 73 insertions(+)

diff --git a/arch/arm/boot/dts/stm32mp157-pinctrl.dtsi b/arch/arm/boot/dts/stm32mp157-pinctrl.dtsi
index 85c417d9983b..6ea9b9ff45e7 100644
--- a/arch/arm/boot/dts/stm32mp157-pinctrl.dtsi
+++ b/arch/arm/boot/dts/stm32mp157-pinctrl.dtsi
@@ -506,6 +506,79 @@
 				};
 			};
 
+			sai2a_pins_a: sai2a-0 {
+				pins {
+					pinmux = <STM32_PINMUX('I', 5, AF10)>, /* SAI2_SCK_A */
+						 <STM32_PINMUX('I', 6, AF10)>, /* SAI2_SD_A */
+						 <STM32_PINMUX('I', 7, AF10)>, /* SAI2_FS_A */
+						 <STM32_PINMUX('E', 0, AF10)>; /* SAI2_MCLK_A */
+					slew-rate = <0>;
+					drive-push-pull;
+					bias-disable;
+				};
+			};
+
+			sai2a_sleep_pins_a: sai2a-1 {
+				pins {
+					pinmux = <STM32_PINMUX('I', 5, ANALOG)>, /* SAI2_SCK_A */
+						 <STM32_PINMUX('I', 6, ANALOG)>, /* SAI2_SD_A */
+						 <STM32_PINMUX('I', 7, ANALOG)>, /* SAI2_FS_A */
+						 <STM32_PINMUX('E', 0, ANALOG)>; /* SAI2_MCLK_A */
+				};
+			};
+
+			sai2b_pins_a: sai2b-0 {
+				pins1 {
+					pinmux = <STM32_PINMUX('E', 12, AF10)>, /* SAI2_SCK_B */
+						 <STM32_PINMUX('E', 13, AF10)>, /* SAI2_FS_B */
+						 <STM32_PINMUX('E', 14, AF10)>; /* SAI2_MCLK_B */
+					slew-rate = <0>;
+					drive-push-pull;
+					bias-disable;
+				};
+				pins2 {
+					pinmux = <STM32_PINMUX('F', 11, AF10)>; /* SAI2_SD_B */
+					bias-disable;
+				};
+			};
+
+			sai2b_sleep_pins_a: sai2b-1 {
+				pins {
+					pinmux = <STM32_PINMUX('F', 11, ANALOG)>, /* SAI2_SD_B */
+						 <STM32_PINMUX('E', 12, ANALOG)>, /* SAI2_SCK_B */
+						 <STM32_PINMUX('E', 13, ANALOG)>, /* SAI2_FS_B */
+						 <STM32_PINMUX('E', 14, ANALOG)>; /* SAI2_MCLK_B */
+				};
+			};
+
+			sai2b_pins_b: sai2b-2 {
+				pins {
+					pinmux = <STM32_PINMUX('F', 11, AF10)>; /* SAI2_SD_B */
+					bias-disable;
+				};
+			};
+
+			sai2b_sleep_pins_b: sai2b-3 {
+				pins {
+					pinmux = <STM32_PINMUX('F', 11, ANALOG)>; /* SAI2_SD_B */
+				};
+			};
+
+			sai4a_pins_a: sai4a-0 {
+				pins {
+					pinmux = <STM32_PINMUX('B', 5, AF10)>; /* SAI4_SD_A */
+					slew-rate = <0>;
+					drive-push-pull;
+					bias-disable;
+				};
+			};
+
+			sai4a_sleep_pins_a: sai4a-1 {
+				pins {
+					pinmux = <STM32_PINMUX('B', 5, ANALOG)>; /* SAI4_SD_A */
+				};
+			};
+
 			sdmmc1_b4_pins_a: sdmmc1-b4-0 {
 				pins {
 					pinmux = <STM32_PINMUX('C', 8, AF12)>, /* SDMMC1_D0 */
-- 
2.7.4


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

* [Linux-stm32][PATCH 3/4] ARM: dts: stm32: add i2s support on stm32mp157c
  2019-04-25 14:10 [Linux-stm32][PATCH 0/4] ARM: dts: stm32: add i2s and sai support on stm32mp157c Olivier Moysan
  2019-04-25 14:10 ` [Linux-stm32][PATCH 1/4] ARM: dts: stm32: add " Olivier Moysan
  2019-04-25 14:10 ` [Linux-stm32][PATCH 2/4] ARM: dts: stm32: add sai pins muxing on stm32mp157 Olivier Moysan
@ 2019-04-25 14:10 ` Olivier Moysan
  2019-04-25 14:10 ` [Linux-stm32][PATCH 4/4] ARM: dts: stm32: add i2s pins muxing on stm32mp157 Olivier Moysan
  2019-05-21  8:53 ` [Linux-stm32][PATCH 0/4] ARM: dts: stm32: add i2s and sai support on stm32mp157c Alexandre Torgue
  4 siblings, 0 replies; 6+ messages in thread
From: Olivier Moysan @ 2019-04-25 14:10 UTC (permalink / raw)
  To: linux-stm32, alexandre.torgue, robh, mark.rutland, devicetree,
	linux-arm-kernel, linux-kernel, olivier.moysan

This patch adds support of STM32 I2S on stm32mp157c.

Signed-off-by: Olivier Moysan <olivier.moysan@st.com>
---
 arch/arm/boot/dts/stm32mp157c.dtsi | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/arch/arm/boot/dts/stm32mp157c.dtsi b/arch/arm/boot/dts/stm32mp157c.dtsi
index 9ae40240f635..ec2d6475caa2 100644
--- a/arch/arm/boot/dts/stm32mp157c.dtsi
+++ b/arch/arm/boot/dts/stm32mp157c.dtsi
@@ -365,6 +365,17 @@
 			status = "disabled";
 		};
 
+		i2s2: audio-controller@4000b000 {
+			compatible = "st,stm32h7-i2s";
+			#sound-dai-cells = <0>;
+			reg = <0x4000b000 0x400>;
+			interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
+			dmas = <&dmamux1 39 0x400 0x01>,
+			       <&dmamux1 40 0x400 0x01>;
+			dma-names = "rx", "tx";
+			status = "disabled";
+		};
+
 		spi3: spi@4000c000 {
 			#address-cells = <1>;
 			#size-cells = <0>;
@@ -379,6 +390,17 @@
 			status = "disabled";
 		};
 
+		i2s3: audio-controller@4000c000 {
+			compatible = "st,stm32h7-i2s";
+			#sound-dai-cells = <0>;
+			reg = <0x4000c000 0x400>;
+			interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
+			dmas = <&dmamux1 61 0x400 0x01>,
+			       <&dmamux1 62 0x400 0x01>;
+			dma-names = "rx", "tx";
+			status = "disabled";
+		};
+
 		spdifrx: audio-controller@4000d000 {
 			compatible = "st,stm32h7-spdifrx";
 			#sound-dai-cells = <0>;
@@ -607,6 +629,17 @@
 			status = "disabled";
 		};
 
+		i2s1: audio-controller@44004000 {
+			compatible = "st,stm32h7-i2s";
+			#sound-dai-cells = <0>;
+			reg = <0x44004000 0x400>;
+			interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
+			dmas = <&dmamux1 37 0x400 0x01>,
+			       <&dmamux1 38 0x400 0x01>;
+			dma-names = "rx", "tx";
+			status = "disabled";
+		};
+
 		spi4: spi@44005000 {
 			#address-cells = <1>;
 			#size-cells = <0>;
-- 
2.7.4


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

* [Linux-stm32][PATCH 4/4] ARM: dts: stm32: add i2s pins muxing on stm32mp157
  2019-04-25 14:10 [Linux-stm32][PATCH 0/4] ARM: dts: stm32: add i2s and sai support on stm32mp157c Olivier Moysan
                   ` (2 preceding siblings ...)
  2019-04-25 14:10 ` [Linux-stm32][PATCH 3/4] ARM: dts: stm32: add i2s support on stm32mp157c Olivier Moysan
@ 2019-04-25 14:10 ` Olivier Moysan
  2019-05-21  8:53 ` [Linux-stm32][PATCH 0/4] ARM: dts: stm32: add i2s and sai support on stm32mp157c Alexandre Torgue
  4 siblings, 0 replies; 6+ messages in thread
From: Olivier Moysan @ 2019-04-25 14:10 UTC (permalink / raw)
  To: linux-stm32, alexandre.torgue, robh, mark.rutland, devicetree,
	linux-arm-kernel, linux-kernel, olivier.moysan

Add I2S pins muxing to stm32mp157.

Signed-off-by: Olivier Moysan <olivier.moysan@st.com>
---
 arch/arm/boot/dts/stm32mp157-pinctrl.dtsi | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/arch/arm/boot/dts/stm32mp157-pinctrl.dtsi b/arch/arm/boot/dts/stm32mp157-pinctrl.dtsi
index 6ea9b9ff45e7..e29bf7a2c18a 100644
--- a/arch/arm/boot/dts/stm32mp157-pinctrl.dtsi
+++ b/arch/arm/boot/dts/stm32mp157-pinctrl.dtsi
@@ -276,6 +276,25 @@
 				};
 			};
 
+			i2s2_pins_a: i2s2-0 {
+				pins {
+					pinmux = <STM32_PINMUX('I', 3, AF5)>, /* I2S2_SDO */
+						 <STM32_PINMUX('B', 9, AF5)>, /* I2S2_WS */
+						 <STM32_PINMUX('A', 9, AF5)>; /* I2S2_CK */
+					slew-rate = <1>;
+					drive-push-pull;
+					bias-disable;
+				};
+			};
+
+			i2s2_pins_sleep_a: i2s2-1 {
+				pins {
+					pinmux = <STM32_PINMUX('I', 3, ANALOG)>, /* I2S2_SDO */
+						 <STM32_PINMUX('B', 9, ANALOG)>, /* I2S2_WS */
+						 <STM32_PINMUX('A', 9, ANALOG)>; /* I2S2_CK */
+				};
+			};
+
 			ltdc_pins_a: ltdc-a-0 {
 				pins {
 					pinmux = <STM32_PINMUX('G',  7, AF14)>, /* LCD_CLK */
-- 
2.7.4


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

* Re: [Linux-stm32][PATCH 0/4] ARM: dts: stm32: add i2s and sai support on stm32mp157c
  2019-04-25 14:10 [Linux-stm32][PATCH 0/4] ARM: dts: stm32: add i2s and sai support on stm32mp157c Olivier Moysan
                   ` (3 preceding siblings ...)
  2019-04-25 14:10 ` [Linux-stm32][PATCH 4/4] ARM: dts: stm32: add i2s pins muxing on stm32mp157 Olivier Moysan
@ 2019-05-21  8:53 ` Alexandre Torgue
  4 siblings, 0 replies; 6+ messages in thread
From: Alexandre Torgue @ 2019-05-21  8:53 UTC (permalink / raw)
  To: Olivier Moysan, linux-stm32, robh, mark.rutland, devicetree,
	linux-arm-kernel, linux-kernel

Hi Olivier

On 4/25/19 4:10 PM, Olivier Moysan wrote:
> This patchset adds support of STM32 SAI and I2S on stm32mp157c
> 
> Olivier Moysan (4):
>    ARM: dts: stm32: add sai support on stm32mp157c
>    ARM: dts: stm32: add sai pins muxing on stm32mp157
>    ARM: dts: stm32: add i2s support on stm32mp157c
>    ARM: dts: stm32: add i2s pins muxing on stm32mp157
> 
>   arch/arm/boot/dts/stm32mp157-pinctrl.dtsi |  92 +++++++++++++++++
>   arch/arm/boot/dts/stm32mp157c.dtsi        | 158 ++++++++++++++++++++++++++++++
>   2 files changed, 250 insertions(+)
> 

Series applied on stm32-next.

Regards
Alex

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

end of thread, other threads:[~2019-05-21  8:53 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-04-25 14:10 [Linux-stm32][PATCH 0/4] ARM: dts: stm32: add i2s and sai support on stm32mp157c Olivier Moysan
2019-04-25 14:10 ` [Linux-stm32][PATCH 1/4] ARM: dts: stm32: add " Olivier Moysan
2019-04-25 14:10 ` [Linux-stm32][PATCH 2/4] ARM: dts: stm32: add sai pins muxing on stm32mp157 Olivier Moysan
2019-04-25 14:10 ` [Linux-stm32][PATCH 3/4] ARM: dts: stm32: add i2s support on stm32mp157c Olivier Moysan
2019-04-25 14:10 ` [Linux-stm32][PATCH 4/4] ARM: dts: stm32: add i2s pins muxing on stm32mp157 Olivier Moysan
2019-05-21  8:53 ` [Linux-stm32][PATCH 0/4] ARM: dts: stm32: add i2s and sai support on stm32mp157c Alexandre Torgue

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).