diff mbox

ARM: dts: silk: add sound support

Message ID 4246644.0ZLx3MiCIL@wasted.cogentembedded.com (mailing list archive)
State Superseded
Delegated to: Simon Horman
Headers show

Commit Message

Sergei Shtylyov Feb. 11, 2016, 8:26 p.m. UTC
Define the SILK board dependent part of the R8A7794 sound  device node.
Add device node for Asahi Kasei AK4643 stereo codec to the I2C1 bus.
Add the "simple-audio-card" device node to interconnect the SoC sound
device  and the codec.

This patch is based on the commit 493b4da7c10c ("ARM: dts: porter: add
sound support").

Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>

---
This patch is against the 'renesas-devel-20160209-v4.5-rc3' tag of Simon
Horman's 'renesas.git' repo. It depends on the 5 R8A7794 sound support patches
in posted earlier this week  in order to build and the R8A7794 PFC driver
patches posted yesterday in  order  for  the pins to be properly configured
(but works without the pins  configured  too)...

 arch/arm/boot/dts/r8a7794-silk.dts |   71 +++++++++++++++++++++++++++++++++++++
 1 file changed, 71 insertions(+)

Comments

Kuninori Morimoto Feb. 15, 2016, 4:56 a.m. UTC | #1
Hi

> Define the SILK board dependent part of the R8A7794 sound  device node.
> Add device node for Asahi Kasei AK4643 stereo codec to the I2C1 bus.
> Add the "simple-audio-card" device node to interconnect the SoC sound
> device  and the codec.
> 
> This patch is based on the commit 493b4da7c10c ("ARM: dts: porter: add
> sound support").
> 
> Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
> 
> ---
> This patch is against the 'renesas-devel-20160209-v4.5-rc3' tag of Simon
> Horman's 'renesas.git' repo. It depends on the 5 R8A7794 sound support patches
> in posted earlier this week  in order to build and the R8A7794 PFC driver
> patches posted yesterday in  order  for  the pins to be properly configured
> (but works without the pins  configured  too)...

Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>

This patch doesn't use SRC, and it is no problem.
We need fixup src.c driver for r8a7794 because it lacks some SRCs.


>  arch/arm/boot/dts/r8a7794-silk.dts |   71 +++++++++++++++++++++++++++++++++++++
>  1 file changed, 71 insertions(+)
> 
> Index: renesas/arch/arm/boot/dts/r8a7794-silk.dts
> ===================================================================
> --- renesas.orig/arch/arm/boot/dts/r8a7794-silk.dts
> +++ renesas/arch/arm/boot/dts/r8a7794-silk.dts
> @@ -10,6 +10,17 @@
>   * kind, whether express or implied.
>   */
>  
> +/*
> + * SSI-AK4643
> + *
> + * SW1: 2-1: AK4643
> + *      2-3: ADV7511
> + *
> + * This command is required before playback/capture:
> + *
> + *	amixer set "LINEOUT Mixer DACL" on
> + */
> +
>  /dts-v1/;
>  #include "r8a7794.dtsi"
>  #include <dt-bindings/gpio/gpio.h>
> @@ -119,6 +130,30 @@
>  		#clock-cells = <0>;
>  		clock-frequency = <74250000>;
>  	};
> +
> +	x9_clk: x9-clock {
> +		compatible = "fixed-clock";
> +		#clock-cells = <0>;
> +		clock-frequency = <12288000>;
> +		clock-output-names = "audio_clock";
> +	};
> +
> +	sound {
> +		compatible = "simple-audio-card";
> +
> +		simple-audio-card,format = "left_j";
> +		simple-audio-card,bitclock-master = <&soundcodec>;
> +		simple-audio-card,frame-master = <&soundcodec>;
> +
> +		simple-audio-card,cpu {
> +			sound-dai = <&rcar_sound>;
> +		};
> +
> +		soundcodec: simple-audio-card,codec {
> +			sound-dai = <&ak4643>;
> +			clocks = <&x9_clk>;
> +		};
> +	};
>  };
>  
>  &extal_clk {
> @@ -183,6 +218,16 @@
>  		renesas,groups = "usb1";
>  		renesas,function = "usb1";
>  	};
> +
> +	ssi_pins: sound {
> +		renesas,groups = "ssi0129_ctrl", "ssi0_data", "ssi1_data";
> +		renesas,function = "ssi";
> +	};
> +
> +	audio_clk_pins: audio_clk {
> +		renesas,groups = "audio_clkc";
> +		renesas,function = "audio_clk";
> +	};
>  };
>  
>  &scif2 {
> @@ -220,6 +265,12 @@
>  	status = "okay";
>  	clock-frequency = <400000>;
>  
> +	ak4643: codec@12 {
> +		compatible = "asahi-kasei,ak4643";
> +		#sound-dai-cells = <0>;
> +		reg = <0x12>;
> +	};
> +
>  	composite-in@20 {
>  		compatible = "adi,adv7180";
>  		reg = <0x20>;
> @@ -380,3 +431,23 @@
>  		};
>  	};
>  };
> +
> +&rcar_sound {
> +	pinctrl-0 = <&ssi_pins &audio_clk_pins>;
> +	pinctrl-names = "default";
> +	status = "okay";
> +
> +	/* Single DAI */
> +	#sound-dai-cells = <0>;
> +
> +	rcar_sound,dai {
> +		dai0 {
> +			playback = <&ssi0>;
> +			capture  = <&ssi1>;
> +		};
> +	};
> +};
> +
> +&ssi1 {
> +	shared-pin;
> +};
>
diff mbox

Patch

Index: renesas/arch/arm/boot/dts/r8a7794-silk.dts
===================================================================
--- renesas.orig/arch/arm/boot/dts/r8a7794-silk.dts
+++ renesas/arch/arm/boot/dts/r8a7794-silk.dts
@@ -10,6 +10,17 @@ 
  * kind, whether express or implied.
  */
 
+/*
+ * SSI-AK4643
+ *
+ * SW1: 2-1: AK4643
+ *      2-3: ADV7511
+ *
+ * This command is required before playback/capture:
+ *
+ *	amixer set "LINEOUT Mixer DACL" on
+ */
+
 /dts-v1/;
 #include "r8a7794.dtsi"
 #include <dt-bindings/gpio/gpio.h>
@@ -119,6 +130,30 @@ 
 		#clock-cells = <0>;
 		clock-frequency = <74250000>;
 	};
+
+	x9_clk: x9-clock {
+		compatible = "fixed-clock";
+		#clock-cells = <0>;
+		clock-frequency = <12288000>;
+		clock-output-names = "audio_clock";
+	};
+
+	sound {
+		compatible = "simple-audio-card";
+
+		simple-audio-card,format = "left_j";
+		simple-audio-card,bitclock-master = <&soundcodec>;
+		simple-audio-card,frame-master = <&soundcodec>;
+
+		simple-audio-card,cpu {
+			sound-dai = <&rcar_sound>;
+		};
+
+		soundcodec: simple-audio-card,codec {
+			sound-dai = <&ak4643>;
+			clocks = <&x9_clk>;
+		};
+	};
 };
 
 &extal_clk {
@@ -183,6 +218,16 @@ 
 		renesas,groups = "usb1";
 		renesas,function = "usb1";
 	};
+
+	ssi_pins: sound {
+		renesas,groups = "ssi0129_ctrl", "ssi0_data", "ssi1_data";
+		renesas,function = "ssi";
+	};
+
+	audio_clk_pins: audio_clk {
+		renesas,groups = "audio_clkc";
+		renesas,function = "audio_clk";
+	};
 };
 
 &scif2 {
@@ -220,6 +265,12 @@ 
 	status = "okay";
 	clock-frequency = <400000>;
 
+	ak4643: codec@12 {
+		compatible = "asahi-kasei,ak4643";
+		#sound-dai-cells = <0>;
+		reg = <0x12>;
+	};
+
 	composite-in@20 {
 		compatible = "adi,adv7180";
 		reg = <0x20>;
@@ -380,3 +431,23 @@ 
 		};
 	};
 };
+
+&rcar_sound {
+	pinctrl-0 = <&ssi_pins &audio_clk_pins>;
+	pinctrl-names = "default";
+	status = "okay";
+
+	/* Single DAI */
+	#sound-dai-cells = <0>;
+
+	rcar_sound,dai {
+		dai0 {
+			playback = <&ssi0>;
+			capture  = <&ssi1>;
+		};
+	};
+};
+
+&ssi1 {
+	shared-pin;
+};