linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/4] ARM: at91: sama5d4ek: enable audio support
@ 2015-02-02  6:51 Bo Shen
  2015-02-02  6:51 ` [PATCH 1/4] ARM: at91: dt: sama5d4: add ssc nodes Bo Shen
                   ` (4 more replies)
  0 siblings, 5 replies; 7+ messages in thread
From: Bo Shen @ 2015-02-02  6:51 UTC (permalink / raw)
  To: nicolas.ferre; +Cc: linux-arm-kernel, linux-kernel, devicetree, Bo Shen

This patch set enable audio support on sama5d4ek.
It depends the patch [1] (ASoC: atmel-pcm-dma: won't check direction
when configure dma)
[1] https://patchwork.kernel.org/patch/5759441/


Bo Shen (4):
  ARM: at91: dt: sama5d4: add ssc nodes
  ARM: at91: dt: sama5d4ek: enable ssc0
  ARM: at91: dt: sama5d4ek: add and enable wm8904
  ARM: at91: dt: sama5d4ek: enable audio

 arch/arm/boot/dts/at91-sama5d4ek.dts | 31 ++++++++++++++++
 arch/arm/boot/dts/sama5d4.dtsi       | 70 ++++++++++++++++++++++++++++++++++++
 2 files changed, 101 insertions(+)

-- 
2.3.0.rc0


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

* [PATCH 1/4] ARM: at91: dt: sama5d4: add ssc nodes
  2015-02-02  6:51 [PATCH 0/4] ARM: at91: sama5d4ek: enable audio support Bo Shen
@ 2015-02-02  6:51 ` Bo Shen
  2015-03-04 14:11   ` Nicolas Ferre
  2015-02-02  6:51 ` [PATCH 2/4] ARM: at91: dt: sama5d4ek: enable ssc0 Bo Shen
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 7+ messages in thread
From: Bo Shen @ 2015-02-02  6:51 UTC (permalink / raw)
  To: nicolas.ferre; +Cc: linux-arm-kernel, linux-kernel, devicetree, Bo Shen

Add SSC 0 and 1 nodes.

Signed-off-by: Bo Shen <voice.shen@atmel.com>
---

 arch/arm/boot/dts/sama5d4.dtsi | 70 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 70 insertions(+)

diff --git a/arch/arm/boot/dts/sama5d4.dtsi b/arch/arm/boot/dts/sama5d4.dtsi
index b94995d..0b3e5f4 100644
--- a/arch/arm/boot/dts/sama5d4.dtsi
+++ b/arch/arm/boot/dts/sama5d4.dtsi
@@ -66,6 +66,8 @@
 		tcb0 = &tcb0;
 		tcb1 = &tcb1;
 		i2c2 = &i2c2;
+		ssc0 = &ssc0;
+		ssc1 = &ssc1;
 	};
 	cpus {
 		#address-cells = <1>;
@@ -793,6 +795,24 @@
 				clock-names = "mci_clk";
 			};
 
+			ssc0: ssc@f8008000 {
+				compatible = "atmel,at91sam9g45-ssc";
+				reg = <0xf8008000 0x4000>;
+				interrupts = <48 IRQ_TYPE_LEVEL_HIGH 0>;
+				pinctrl-names = "default";
+				pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>;
+				dmas = <&dma1
+					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
+					| AT91_XDMAC_DT_PERID(26))>,
+				       <&dma1
+					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
+					| AT91_XDMAC_DT_PERID(27))>;
+				dma-names = "tx", "rx";
+				clocks = <&ssc0_clk>;
+				clock-names = "pclk";
+				status = "disabled";
+			};
+
 			spi0: spi@f8010000 {
 				#address-cells = <1>;
 				#size-cells = <0>;
@@ -941,6 +961,24 @@
 				status = "disabled";
 			};
 
+			ssc1: ssc@fc014000 {
+				compatible = "atmel,at91sam9g45-ssc";
+				reg = <0xfc014000 0x4000>;
+				interrupts = <49 IRQ_TYPE_LEVEL_HIGH 0>;
+				pinctrl-names = "default";
+				pinctrl-0 = <&pinctrl_ssc1_tx &pinctrl_ssc1_rx>;
+				dmas = <&dma1
+					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
+					| AT91_XDMAC_DT_PERID(28))>,
+				       <&dma1
+					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
+					| AT91_XDMAC_DT_PERID(29))>;
+				dma-names = "tx", "rx";
+				clocks = <&ssc1_clk>;
+				clock-names = "pclk";
+				status = "disabled";
+			};
+
 			tcb1: timer@fc020000 {
 				compatible = "atmel,at91sam9x5-tcb";
 				reg = <0xfc020000 0x100>;
@@ -1295,6 +1333,38 @@
 						atmel,pins = <AT91_PIOE 0 AT91_PERIPH_C AT91_PINCTRL_NONE>;	/* conflicts with A0/NBS0, MCI0_CDB */
 					};
 				};
+
+				ssc0 {
+					pinctrl_ssc0_tx: ssc0_tx {
+						atmel,pins =
+							<AT91_PIOB 27 AT91_PERIPH_B AT91_PINCTRL_NONE	/* PB27 periph B TK0 */
+							 AT91_PIOB 31 AT91_PERIPH_B AT91_PINCTRL_NONE	/* PB31 periph B TF0 */
+							 AT91_PIOB 28 AT91_PERIPH_B AT91_PINCTRL_NONE>;	/* PB28 periph B TD0 */
+					};
+
+					pinctrl_ssc0_rx: ssc0_rx {
+						atmel,pins =
+							<AT91_PIOB 26 AT91_PERIPH_B AT91_PINCTRL_NONE	/* PB26 periph B RK0 */
+							 AT91_PIOB 30 AT91_PERIPH_B AT91_PINCTRL_NONE	/* PB30 periph B RF0 */
+							 AT91_PIOB 29 AT91_PERIPH_B AT91_PINCTRL_NONE>;	/* PB29 periph B RD0 */
+					};
+				};
+
+				ssc1 {
+					pinctrl_ssc1_tx: ssc1_tx {
+						atmel,pins =
+							<AT91_PIOC 19 AT91_PERIPH_B AT91_PINCTRL_NONE	/* PC19 periph B TK1 */
+							 AT91_PIOC 20 AT91_PERIPH_B AT91_PINCTRL_NONE	/* PC20 periph B TF1 */
+							 AT91_PIOC 21 AT91_PERIPH_B AT91_PINCTRL_NONE>;	/* PC21 periph B TD1 */
+					};
+
+					pinctrl_ssc1_rx: ssc1_rx {
+						atmel,pins =
+							<AT91_PIOC 24 AT91_PERIPH_B AT91_PINCTRL_NONE	/* PC24 periph B RK1 */
+							 AT91_PIOC 22 AT91_PERIPH_B AT91_PINCTRL_NONE	/* PC22 periph B RF1 */
+							 AT91_PIOC 23 AT91_PERIPH_B AT91_PINCTRL_NONE>;	/* PC23 periph B RD1 */
+					};
+				};
 			};
 
 			aic: interrupt-controller@fc06e000 {
-- 
2.3.0.rc0


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

* [PATCH 2/4] ARM: at91: dt: sama5d4ek: enable ssc0
  2015-02-02  6:51 [PATCH 0/4] ARM: at91: sama5d4ek: enable audio support Bo Shen
  2015-02-02  6:51 ` [PATCH 1/4] ARM: at91: dt: sama5d4: add ssc nodes Bo Shen
@ 2015-02-02  6:51 ` Bo Shen
  2015-02-02  6:51 ` [PATCH 3/4] ARM: at91: dt: sama5d4ek: add and enable wm8904 Bo Shen
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 7+ messages in thread
From: Bo Shen @ 2015-02-02  6:51 UTC (permalink / raw)
  To: nicolas.ferre; +Cc: linux-arm-kernel, linux-kernel, devicetree, Bo Shen

Enable SSC0 node, which will be used for audio.

Signed-off-by: Bo Shen <voice.shen@atmel.com>
---

 arch/arm/boot/dts/at91-sama5d4ek.dts | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/arch/arm/boot/dts/at91-sama5d4ek.dts b/arch/arm/boot/dts/at91-sama5d4ek.dts
index 9198b71..32e9a9a 100644
--- a/arch/arm/boot/dts/at91-sama5d4ek.dts
+++ b/arch/arm/boot/dts/at91-sama5d4ek.dts
@@ -115,6 +115,10 @@
 				};
 			};
 
+			ssc0: ssc@f8008000 {
+				status = "okay";
+			};
+
 			spi0: spi@f8010000 {
 				cs-gpios = <&pioC 3 0>, <0>, <0>, <0>;
 				status = "okay";
-- 
2.3.0.rc0


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

* [PATCH 3/4] ARM: at91: dt: sama5d4ek: add and enable wm8904
  2015-02-02  6:51 [PATCH 0/4] ARM: at91: sama5d4ek: enable audio support Bo Shen
  2015-02-02  6:51 ` [PATCH 1/4] ARM: at91: dt: sama5d4: add ssc nodes Bo Shen
  2015-02-02  6:51 ` [PATCH 2/4] ARM: at91: dt: sama5d4ek: enable ssc0 Bo Shen
@ 2015-02-02  6:51 ` Bo Shen
  2015-02-02  6:51 ` [PATCH 4/4] ARM: at91: dt: sama5d4ek: enable audio Bo Shen
  2015-03-04 14:15 ` [PATCH 0/4] ARM: at91: sama5d4ek: enable audio support Nicolas Ferre
  4 siblings, 0 replies; 7+ messages in thread
From: Bo Shen @ 2015-02-02  6:51 UTC (permalink / raw)
  To: nicolas.ferre; +Cc: linux-arm-kernel, linux-kernel, devicetree, Bo Shen

Add wm8904 codec node and enable it.

Signed-off-by: Bo Shen <voice.shen@atmel.com>
---

 arch/arm/boot/dts/at91-sama5d4ek.dts | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/arch/arm/boot/dts/at91-sama5d4ek.dts b/arch/arm/boot/dts/at91-sama5d4ek.dts
index 32e9a9a..7f47d92 100644
--- a/arch/arm/boot/dts/at91-sama5d4ek.dts
+++ b/arch/arm/boot/dts/at91-sama5d4ek.dts
@@ -131,6 +131,13 @@
 
 			i2c0: i2c@f8014000 {
 				status = "okay";
+
+				wm8904: codec@1a {
+					compatible = "wlf,wm8904";
+					reg = <0x1a>;
+					clocks = <&pck2>;
+					clock-names = "mclk";
+				};
 			};
 
 			macb0: ethernet@f8020000 {
-- 
2.3.0.rc0


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

* [PATCH 4/4] ARM: at91: dt: sama5d4ek: enable audio
  2015-02-02  6:51 [PATCH 0/4] ARM: at91: sama5d4ek: enable audio support Bo Shen
                   ` (2 preceding siblings ...)
  2015-02-02  6:51 ` [PATCH 3/4] ARM: at91: dt: sama5d4ek: add and enable wm8904 Bo Shen
@ 2015-02-02  6:51 ` Bo Shen
  2015-03-04 14:15 ` [PATCH 0/4] ARM: at91: sama5d4ek: enable audio support Nicolas Ferre
  4 siblings, 0 replies; 7+ messages in thread
From: Bo Shen @ 2015-02-02  6:51 UTC (permalink / raw)
  To: nicolas.ferre; +Cc: linux-arm-kernel, linux-kernel, devicetree, Bo Shen

Enable audio support for sama5d4ek board.

Signed-off-by: Bo Shen <voice.shen@atmel.com>
---

 arch/arm/boot/dts/at91-sama5d4ek.dts | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/arch/arm/boot/dts/at91-sama5d4ek.dts b/arch/arm/boot/dts/at91-sama5d4ek.dts
index 7f47d92..0df5f1b 100644
--- a/arch/arm/boot/dts/at91-sama5d4ek.dts
+++ b/arch/arm/boot/dts/at91-sama5d4ek.dts
@@ -190,6 +190,10 @@
 						atmel,pins =
 							<AT91_PIOE 13 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>; /* PE13 gpio */
 					};
+					pinctrl_pck2_as_audio_mck: pck2_as_audio_mck {
+						atmel,pins =
+							<AT91_PIOB 10 AT91_PERIPH_B AT91_PINCTRL_NONE>;
+					};
 				};
 			};
 		};
@@ -268,4 +272,20 @@
 			gpio-key,wakeup;
 		};
 	};
+
+	sound {
+		compatible = "atmel,asoc-wm8904";
+		pinctrl-names = "default";
+		pinctrl-0 = <&pinctrl_pck2_as_audio_mck>;
+
+		atmel,model = "wm8904 @ SAMA5D4EK";
+		atmel,audio-routing =
+			"Headphone Jack", "HPOUTL",
+			"Headphone Jack", "HPOUTR",
+			"IN1L", "Line In Jack",
+			"IN1R", "Line In Jack";
+
+		atmel,ssc-controller = <&ssc0>;
+		atmel,audio-codec = <&wm8904>;
+	};
 };
-- 
2.3.0.rc0


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

* Re: [PATCH 1/4] ARM: at91: dt: sama5d4: add ssc nodes
  2015-02-02  6:51 ` [PATCH 1/4] ARM: at91: dt: sama5d4: add ssc nodes Bo Shen
@ 2015-03-04 14:11   ` Nicolas Ferre
  0 siblings, 0 replies; 7+ messages in thread
From: Nicolas Ferre @ 2015-03-04 14:11 UTC (permalink / raw)
  To: Bo Shen; +Cc: linux-arm-kernel, linux-kernel, devicetree

Le 02/02/2015 07:51, Bo Shen a écrit :
> Add SSC 0 and 1 nodes.
> 
> Signed-off-by: Bo Shen <voice.shen@atmel.com>
> ---
> 
>  arch/arm/boot/dts/sama5d4.dtsi | 70 ++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 70 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/sama5d4.dtsi b/arch/arm/boot/dts/sama5d4.dtsi
> index b94995d..0b3e5f4 100644
> --- a/arch/arm/boot/dts/sama5d4.dtsi
> +++ b/arch/arm/boot/dts/sama5d4.dtsi
> @@ -66,6 +66,8 @@
>  		tcb0 = &tcb0;
>  		tcb1 = &tcb1;
>  		i2c2 = &i2c2;
> +		ssc0 = &ssc0;
> +		ssc1 = &ssc1;
>  	};
>  	cpus {
>  		#address-cells = <1>;
> @@ -793,6 +795,24 @@
>  				clock-names = "mci_clk";
>  			};
>  
> +			ssc0: ssc@f8008000 {
> +				compatible = "atmel,at91sam9g45-ssc";
> +				reg = <0xf8008000 0x4000>;
> +				interrupts = <48 IRQ_TYPE_LEVEL_HIGH 0>;
> +				pinctrl-names = "default";
> +				pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>;
> +				dmas = <&dma1
> +					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
> +					| AT91_XDMAC_DT_PERID(26))>,
> +				       <&dma1
> +					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
> +					| AT91_XDMAC_DT_PERID(27))>;
> +				dma-names = "tx", "rx";
> +				clocks = <&ssc0_clk>;
> +				clock-names = "pclk";
> +				status = "disabled";
> +			};
> +
>  			spi0: spi@f8010000 {
>  				#address-cells = <1>;
>  				#size-cells = <0>;
> @@ -941,6 +961,24 @@
>  				status = "disabled";
>  			};
>  
> +			ssc1: ssc@fc014000 {
> +				compatible = "atmel,at91sam9g45-ssc";
> +				reg = <0xfc014000 0x4000>;
> +				interrupts = <49 IRQ_TYPE_LEVEL_HIGH 0>;
> +				pinctrl-names = "default";
> +				pinctrl-0 = <&pinctrl_ssc1_tx &pinctrl_ssc1_rx>;
> +				dmas = <&dma1
> +					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
> +					| AT91_XDMAC_DT_PERID(28))>,
> +				       <&dma1
> +					(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
> +					| AT91_XDMAC_DT_PERID(29))>;
> +				dma-names = "tx", "rx";
> +				clocks = <&ssc1_clk>;
> +				clock-names = "pclk";
> +				status = "disabled";
> +			};
> +
>  			tcb1: timer@fc020000 {
>  				compatible = "atmel,at91sam9x5-tcb";
>  				reg = <0xfc020000 0x100>;
> @@ -1295,6 +1333,38 @@
>  						atmel,pins = <AT91_PIOE 0 AT91_PERIPH_C AT91_PINCTRL_NONE>;	/* conflicts with A0/NBS0, MCI0_CDB */
>  					};
>  				};
> +
> +				ssc0 {
> +					pinctrl_ssc0_tx: ssc0_tx {
> +						atmel,pins =
> +							<AT91_PIOB 27 AT91_PERIPH_B AT91_PINCTRL_NONE	/* PB27 periph B TK0 */
> +							 AT91_PIOB 31 AT91_PERIPH_B AT91_PINCTRL_NONE	/* PB31 periph B TF0 */
> +							 AT91_PIOB 28 AT91_PERIPH_B AT91_PINCTRL_NONE>;	/* PB28 periph B TD0 */
> +					};
> +
> +					pinctrl_ssc0_rx: ssc0_rx {
> +						atmel,pins =
> +							<AT91_PIOB 26 AT91_PERIPH_B AT91_PINCTRL_NONE	/* PB26 periph B RK0 */
> +							 AT91_PIOB 30 AT91_PERIPH_B AT91_PINCTRL_NONE	/* PB30 periph B RF0 */
> +							 AT91_PIOB 29 AT91_PERIPH_B AT91_PINCTRL_NONE>;	/* PB29 periph B RD0 */
> +					};
> +				};
> +
> +				ssc1 {
> +					pinctrl_ssc1_tx: ssc1_tx {
> +						atmel,pins =
> +							<AT91_PIOC 19 AT91_PERIPH_B AT91_PINCTRL_NONE	/* PC19 periph B TK1 */
> +							 AT91_PIOC 20 AT91_PERIPH_B AT91_PINCTRL_NONE	/* PC20 periph B TF1 */
> +							 AT91_PIOC 21 AT91_PERIPH_B AT91_PINCTRL_NONE>;	/* PC21 periph B TD1 */
> +					};
> +
> +					pinctrl_ssc1_rx: ssc1_rx {
> +						atmel,pins =
> +							<AT91_PIOC 24 AT91_PERIPH_B AT91_PINCTRL_NONE	/* PC24 periph B RK1 */
> +							 AT91_PIOC 22 AT91_PERIPH_B AT91_PINCTRL_NONE	/* PC22 periph B RF1 */
> +							 AT91_PIOC 23 AT91_PERIPH_B AT91_PINCTRL_NONE>;	/* PC23 periph B RD1 */
> +					};
> +				};

Nit: I modified these 2 nodes:
1/ sort alphabetically
2/ removed the "PC22 periph B" part of the comment with is not needed.

No need to re-send.
Thanks, bye.


>  			};
>  
>  			aic: interrupt-controller@fc06e000 {
> 


-- 
Nicolas Ferre

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

* Re: [PATCH 0/4] ARM: at91: sama5d4ek: enable audio support
  2015-02-02  6:51 [PATCH 0/4] ARM: at91: sama5d4ek: enable audio support Bo Shen
                   ` (3 preceding siblings ...)
  2015-02-02  6:51 ` [PATCH 4/4] ARM: at91: dt: sama5d4ek: enable audio Bo Shen
@ 2015-03-04 14:15 ` Nicolas Ferre
  4 siblings, 0 replies; 7+ messages in thread
From: Nicolas Ferre @ 2015-03-04 14:15 UTC (permalink / raw)
  To: Bo Shen; +Cc: linux-arm-kernel, linux-kernel, devicetree

Le 02/02/2015 07:51, Bo Shen a écrit :
> This patch set enable audio support on sama5d4ek.
> It depends the patch [1] (ASoC: atmel-pcm-dma: won't check direction
> when configure dma)
> [1] https://patchwork.kernel.org/patch/5759441/
> 
> 
> Bo Shen (4):
>   ARM: at91: dt: sama5d4: add ssc nodes
>   ARM: at91: dt: sama5d4ek: enable ssc0
>   ARM: at91: dt: sama5d4ek: add and enable wm8904
>   ARM: at91: dt: sama5d4ek: enable audio

Whole series stacked on top of at91-4.1-dt.

Thanks, bye.


>  arch/arm/boot/dts/at91-sama5d4ek.dts | 31 ++++++++++++++++
>  arch/arm/boot/dts/sama5d4.dtsi       | 70 ++++++++++++++++++++++++++++++++++++
>  2 files changed, 101 insertions(+)
> 


-- 
Nicolas Ferre

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

end of thread, other threads:[~2015-03-04 14:15 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-02-02  6:51 [PATCH 0/4] ARM: at91: sama5d4ek: enable audio support Bo Shen
2015-02-02  6:51 ` [PATCH 1/4] ARM: at91: dt: sama5d4: add ssc nodes Bo Shen
2015-03-04 14:11   ` Nicolas Ferre
2015-02-02  6:51 ` [PATCH 2/4] ARM: at91: dt: sama5d4ek: enable ssc0 Bo Shen
2015-02-02  6:51 ` [PATCH 3/4] ARM: at91: dt: sama5d4ek: add and enable wm8904 Bo Shen
2015-02-02  6:51 ` [PATCH 4/4] ARM: at91: dt: sama5d4ek: enable audio Bo Shen
2015-03-04 14:15 ` [PATCH 0/4] ARM: at91: sama5d4ek: enable audio support Nicolas Ferre

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