diff mbox

[4/4] ARM: dts: samsung: add analog audio codec on TOPEET iTop 4412 Elite

Message ID 1472383269-3126-5-git-send-email-ayaka@soulik.info (mailing list archive)
State Changes Requested
Headers show

Commit Message

Randy Li Aug. 28, 2016, 11:21 a.m. UTC
Enable the WM8960 analog audio codec on TOPEET iTop 4412 Elite board.

Signed-off-by: Randy Li <ayaka@soulik.info>
---
 arch/arm/boot/dts/exynos4412-itop-elite.dts | 77 +++++++++++++++++++++++++++++
 1 file changed, 77 insertions(+)

Comments

Krzysztof Kozlowski Aug. 30, 2016, 7:35 a.m. UTC | #1
On 08/28/2016 01:21 PM, Randy Li wrote:
> Enable the WM8960 analog audio codec on TOPEET iTop 4412 Elite board.
> 
> Signed-off-by: Randy Li <ayaka@soulik.info>
> ---
>  arch/arm/boot/dts/exynos4412-itop-elite.dts | 77 +++++++++++++++++++++++++++++
>  1 file changed, 77 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/exynos4412-itop-elite.dts b/arch/arm/boot/dts/exynos4412-itop-elite.dts
> index 2d11b9a..e1cda54 100644
> --- a/arch/arm/boot/dts/exynos4412-itop-elite.dts
> +++ b/arch/arm/boot/dts/exynos4412-itop-elite.dts
> @@ -15,6 +15,7 @@
>  
>  /dts-v1/;
>  #include "exynos4412-itop-scp-core.dtsi"
> +#include <dt-bindings/sound/samsung-i2s.h>

Reverse the includes and squash the patch with #2.

Best regards,
Krzysztof

>  
>  / {
>  	model = "TOPEET iTop 4412 Elite board based on Exynos4412";
> @@ -75,6 +76,54 @@
>  			gpios = <&gpx2 0 GPIO_ACTIVE_LOW>;
>  		};
>  	};
> +
> +	sound {
> +		compatible = "simple-audio-card";
> +		simple-audio-card,name = "wm-sound";
> +
> +		assigned-clocks = <&clock_audss EXYNOS_MOUT_AUDSS>,
> +				<&clock_audss EXYNOS_MOUT_I2S>,
> +				<&clock_audss EXYNOS_DOUT_SRP>,
> +				<&clock_audss EXYNOS_DOUT_AUD_BUS>;
> +		assigned-clock-parents = <&clock CLK_FOUT_EPLL>,
> +				<&clock_audss EXYNOS_MOUT_AUDSS>;
> +		assigned-clock-rates = <0>,
> +				<0>,
> +				<112896000>,
> +				<11289600>;
> +
> +		simple-audio-card,format = "i2s";
> +		simple-audio-card,bitclock-master = <&link0_codec>;
> +		simple-audio-card,frame-master = <&link0_codec>;
> +
> +		simple-audio-card,widgets =
> +			"Microphone", "Mic Jack",
> +			"Line", "Line In",
> +			"Line", "Line Out",
> +			"Speaker", "Speaker",
> +			"Headphone", "Headphone Jack";
> +		simple-audio-card,routing =
> +			"Headphone Jack", "HP_L",
> +			"Headphone Jack", "HP_R",
> +			"Speaker", "SPK_LP",
> +			"Speaker", "SPK_LN",
> +			"Speaker", "SPK_RP",
> +			"Speaker", "SPK_RN",
> +			"LINPUT1", "Mic Jack",
> +			"LINPUT3", "Mic Jack",
> +			"RINPUT1", "Mic Jack",
> +			"RINPUT2", "Mic Jack";
> +
> +		simple-audio-card,cpu {
> +			sound-dai = <&i2s0 0>;
> +		};
> +
> +		link0_codec: simple-audio-card,codec {
> +			sound-dai = <&codec>;
> +			clocks = <&i2s0 CLK_I2S_CDCLK>;
> +			system-clock-frequency = <11289600>;
> +		};
> +	};
>  	
>  	beep {
>  		compatible = "pwm-beeper";
> @@ -143,6 +192,34 @@
>  	status = "okay";
>  };
>  
> +&i2c_4 {
> +	samsung,i2c-sda-delay = <100>;
> +	samsung,i2c-slave-addr = <0x10>;
> +	samsung,i2c-max-bus-freq = <100000>;
> +	pinctrl-0 = <&i2c4_bus>;
> +	pinctrl-names = "default";
> +	status = "okay";
> +
> +	codec: wm8960@1a {
> +		compatible = "wlf,wm8960";
> +		reg = <0x1a>;
> +		clocks = <&pmu_system_controller 0>;
> +		clock-names = "MCLK1";
> +		wlf,shared-lrclk;
> +		#sound-dai-cells = <0>;
> +	};
> +};
> +
> +&i2s0 {
> +	pinctrl-0 = <&i2s0_bus>;
> +	pinctrl-names = "default";
> +	status = "okay";
> +	clocks = <&clock_audss EXYNOS_I2S_BUS>,
> +		 <&clock_audss EXYNOS_DOUT_AUD_BUS>,
> +		 <&clock_audss EXYNOS_SCLK_I2S>;
> +	clock-names = "iis", "i2s_opclk0", "i2s_opclk1";
> +};
> +
>  &pwm {
>  	pinctrl-0 = <&pwm1_out>;
>  	pinctrl-names = "default";
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/arch/arm/boot/dts/exynos4412-itop-elite.dts b/arch/arm/boot/dts/exynos4412-itop-elite.dts
index 2d11b9a..e1cda54 100644
--- a/arch/arm/boot/dts/exynos4412-itop-elite.dts
+++ b/arch/arm/boot/dts/exynos4412-itop-elite.dts
@@ -15,6 +15,7 @@ 
 
 /dts-v1/;
 #include "exynos4412-itop-scp-core.dtsi"
+#include <dt-bindings/sound/samsung-i2s.h>
 
 / {
 	model = "TOPEET iTop 4412 Elite board based on Exynos4412";
@@ -75,6 +76,54 @@ 
 			gpios = <&gpx2 0 GPIO_ACTIVE_LOW>;
 		};
 	};
+
+	sound {
+		compatible = "simple-audio-card";
+		simple-audio-card,name = "wm-sound";
+
+		assigned-clocks = <&clock_audss EXYNOS_MOUT_AUDSS>,
+				<&clock_audss EXYNOS_MOUT_I2S>,
+				<&clock_audss EXYNOS_DOUT_SRP>,
+				<&clock_audss EXYNOS_DOUT_AUD_BUS>;
+		assigned-clock-parents = <&clock CLK_FOUT_EPLL>,
+				<&clock_audss EXYNOS_MOUT_AUDSS>;
+		assigned-clock-rates = <0>,
+				<0>,
+				<112896000>,
+				<11289600>;
+
+		simple-audio-card,format = "i2s";
+		simple-audio-card,bitclock-master = <&link0_codec>;
+		simple-audio-card,frame-master = <&link0_codec>;
+
+		simple-audio-card,widgets =
+			"Microphone", "Mic Jack",
+			"Line", "Line In",
+			"Line", "Line Out",
+			"Speaker", "Speaker",
+			"Headphone", "Headphone Jack";
+		simple-audio-card,routing =
+			"Headphone Jack", "HP_L",
+			"Headphone Jack", "HP_R",
+			"Speaker", "SPK_LP",
+			"Speaker", "SPK_LN",
+			"Speaker", "SPK_RP",
+			"Speaker", "SPK_RN",
+			"LINPUT1", "Mic Jack",
+			"LINPUT3", "Mic Jack",
+			"RINPUT1", "Mic Jack",
+			"RINPUT2", "Mic Jack";
+
+		simple-audio-card,cpu {
+			sound-dai = <&i2s0 0>;
+		};
+
+		link0_codec: simple-audio-card,codec {
+			sound-dai = <&codec>;
+			clocks = <&i2s0 CLK_I2S_CDCLK>;
+			system-clock-frequency = <11289600>;
+		};
+	};
 	
 	beep {
 		compatible = "pwm-beeper";
@@ -143,6 +192,34 @@ 
 	status = "okay";
 };
 
+&i2c_4 {
+	samsung,i2c-sda-delay = <100>;
+	samsung,i2c-slave-addr = <0x10>;
+	samsung,i2c-max-bus-freq = <100000>;
+	pinctrl-0 = <&i2c4_bus>;
+	pinctrl-names = "default";
+	status = "okay";
+
+	codec: wm8960@1a {
+		compatible = "wlf,wm8960";
+		reg = <0x1a>;
+		clocks = <&pmu_system_controller 0>;
+		clock-names = "MCLK1";
+		wlf,shared-lrclk;
+		#sound-dai-cells = <0>;
+	};
+};
+
+&i2s0 {
+	pinctrl-0 = <&i2s0_bus>;
+	pinctrl-names = "default";
+	status = "okay";
+	clocks = <&clock_audss EXYNOS_I2S_BUS>,
+		 <&clock_audss EXYNOS_DOUT_AUD_BUS>,
+		 <&clock_audss EXYNOS_SCLK_I2S>;
+	clock-names = "iis", "i2s_opclk0", "i2s_opclk1";
+};
+
 &pwm {
 	pinctrl-0 = <&pwm1_out>;
 	pinctrl-names = "default";