diff mbox

[v2,RESEND] ARM: dts: Support audio on Exynos5422-odroidxu3 using simple-audio-card

Message ID 1428651178-18186-1-git-send-email-ideal.song@samsung.com (mailing list archive)
State New, archived
Headers show

Commit Message

Inha Song April 10, 2015, 7:32 a.m. UTC
Add MAX98090 audio codec, I2S interface and the sound nodes to support
audio on Exynos5422 SoC Based Odroid-XU3 board. Now we can support audio
in Odroid-XU3 board using simple-audio-card DT binding.

Signed-off-by: Inha Song <ideal.song@samsung.com>
Reviewed-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
---
 arch/arm/boot/dts/exynos5420.dtsi          |  9 +++++
 arch/arm/boot/dts/exynos5422-odroidxu3.dts | 59 ++++++++++++++++++++++++++++++
 2 files changed, 68 insertions(+)

Comments

Inha Song May 6, 2015, 1:47 a.m. UTC | #1
Hi Kukjin,

Any comments about this patch?

Best Regards,
Inha Song.

On Fri, 10 Apr 2015 14:48:13 +0530
Anand Moon <linux.amoon@gmail.com> wrote:

> Hi Inha,
> 
> Tested-by: Anand Moon <linux.amoon@gmail.com>
> 
> -Anand Moon
> 
> On 10 April 2015 at 14:32, Markus Reichl <m.reichl@fivetechno.de> wrote:
> > Hi Inha,
> >
> > I have tested this on XU3 (Headphone output).
> >
> > Tested-by: Markus Reichl <m.reichl@fivetechno.de>
> >
> > Best Regards
> > --
> > Markus Reichl
> >
> > Am 10.04.2015 um 09:32 schrieb Inha Song:
> >> Add MAX98090 audio codec, I2S interface and the sound nodes to support
> >> audio on Exynos5422 SoC Based Odroid-XU3 board. Now we can support audio
> >> in Odroid-XU3 board using simple-audio-card DT binding.
> >>
> >> Signed-off-by: Inha Song <ideal.song@samsung.com>
> >> Reviewed-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
> >> ---
> >>  arch/arm/boot/dts/exynos5420.dtsi          |  9 +++++
> >>  arch/arm/boot/dts/exynos5422-odroidxu3.dts | 59 ++++++++++++++++++++++++++++++
> >>  2 files changed, 68 insertions(+)
> >>
> >> diff --git a/arch/arm/boot/dts/exynos5420.dtsi b/arch/arm/boot/dts/exynos5420.dtsi
> >> index ac6f860..73886d6 100644
> >> --- a/arch/arm/boot/dts/exynos5420.dtsi
> >> +++ b/arch/arm/boot/dts/exynos5420.dtsi
> >> @@ -415,6 +415,9 @@
> >>                       <&clock_audss EXYNOS_I2S_BUS>,
> >>                       <&clock_audss EXYNOS_SCLK_I2S>;
> >>               clock-names = "iis", "i2s_opclk0", "i2s_opclk1";
> >> +             #clock-cells = <1>;
> >> +             clock-output-names = "i2s_cdclk0";
> >> +             #sound-dai-cells = <1>;
> >>               samsung,idma-addr = <0x03000000>;
> >>               pinctrl-names = "default";
> >>               pinctrl-0 = <&i2s0_bus>;
> >> @@ -429,6 +432,9 @@
> >>               dma-names = "tx", "rx";
> >>               clocks = <&clock CLK_I2S1>, <&clock CLK_SCLK_I2S1>;
> >>               clock-names = "iis", "i2s_opclk0";
> >> +             #clock-cells = <1>;
> >> +             clock-output-names = "i2s_cdclk1";
> >> +             #sound-dai-cells = <1>;
> >>               pinctrl-names = "default";
> >>               pinctrl-0 = <&i2s1_bus>;
> >>               status = "disabled";
> >> @@ -442,6 +448,9 @@
> >>               dma-names = "tx", "rx";
> >>               clocks = <&clock CLK_I2S2>, <&clock CLK_SCLK_I2S2>;
> >>               clock-names = "iis", "i2s_opclk0";
> >> +             #clock-cells = <1>;
> >> +             clock-output-names = "i2s_cdclk2";
> >> +             #sound-dai-cells = <1>;
> >>               pinctrl-names = "default";
> >>               pinctrl-0 = <&i2s2_bus>;
> >>               status = "disabled";
> >> diff --git a/arch/arm/boot/dts/exynos5422-odroidxu3.dts b/arch/arm/boot/dts/exynos5422-odroidxu3.dts
> >> index edc25cf..c038f0d 100644
> >> --- a/arch/arm/boot/dts/exynos5422-odroidxu3.dts
> >> +++ b/arch/arm/boot/dts/exynos5422-odroidxu3.dts
> >> @@ -11,6 +11,7 @@
> >>  */
> >>
> >>  /dts-v1/;
> >> +#include <dt-bindings/sound/samsung-i2s.h>
> >>  #include "exynos5800.dtsi"
> >>
> >>  / {
> >> @@ -285,6 +286,64 @@
> >>       rtc@101E0000 {
> >>               status = "okay";
> >>       };
> >> +
> >> +     sound: sound {
> >> +             compatible = "simple-audio-card";
> >> +
> >> +             simple-audio-card,name = "Odroid-XU3";
> >> +             simple-audio-card,widgets =
> >> +                     "Headphone", "Headphone Jack",
> >> +                     "Speakers", "Speakers";
> >> +             simple-audio-card,routing =
> >> +                     "Headphone Jack", "HPL",
> >> +                     "Headphone Jack", "HPR",
> >> +                     "Headphone Jack", "MICBIAS",
> >> +                     "IN1", "Headphone Jack",
> >> +                     "Speakers", "SPKL",
> >> +                     "Speakers", "SPKR";
> >> +
> >> +             simple-audio-card,format = "i2s";
> >> +             simple-audio-card,bitclock-master = <&link0_codec>;
> >> +             simple-audio-card,frame-master = <&link0_codec>;
> >> +
> >> +             simple-audio-card,cpu {
> >> +                     sound-dai = <&i2s0 0>;
> >> +                     system-clock-frequency = <19200000>;
> >> +             };
> >> +
> >> +             link0_codec: simple-audio-card,codec {
> >> +                     sound-dai = <&max98090>;
> >> +                     clocks = <&i2s0 CLK_I2S_CDCLK>;
> >> +             };
> >> +     };
> >> +};
> >> +
> >> +&clock_audss {
> >> +     assigned-clocks = <&clock_audss EXYNOS_MOUT_AUDSS>,
> >> +                     <&clock_audss EXYNOS_MOUT_I2S>,
> >> +                     <&clock_audss EXYNOS_DOUT_AUD_BUS>;
> >> +     assigned-clock-parents = <&clock CLK_FIN_PLL>,
> >> +                     <&clock_audss EXYNOS_MOUT_AUDSS>;
> >> +     assigned-clock-rates = <0>,
> >> +                     <0>,
> >> +                     <19200000>;
> >> +};
> >> +
> >> +&hsi2c_5 {
> >> +     status = "okay";
> >> +     max98090: max98090@10 {
> >> +             compatible = "maxim,max98090";
> >> +             reg = <0x10>;
> >> +             interrupt-parent = <&gpx3>;
> >> +             interrupts = <2 0>;
> >> +             clocks = <&i2s0 CLK_I2S_CDCLK>;
> >> +             clock-names = "mclk";
> >> +             #sound-dai-cells = <0>;
> >> +     };
> >> +};
> >> +
> >> +&i2s0 {
> >> +     status = "okay";
> >>  };
> >>
> >>  &hdmi {
> >>
> >
> --
> 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
Javier Martinez Canillas May 6, 2015, 1:23 p.m. UTC | #2
+Krzysztof Kozlowski

Hello Inha,

On Wed, May 6, 2015 at 3:47 AM, Inha Song <ideal.song@samsung.com> wrote:
> Hi Kukjin,
>
> Any comments about this patch?
>
> Best Regards,
> Inha Song.
>

It seems Kukjin didn't have time lately to deal with the huge backlog
of patches for Exynos so Krzysztof (added as cc) has kindly
volunteered to help him by acting as a co-maintainer and queuing
patches.

So could you please for any patches that my have been forgotten (like
$subject),  rebase on current head, carry all the obtained tags and
re-send cc'ing Krzysztof so he can be aware of them?

Best regards,
Javier
Krzysztof Kozlowski May 6, 2015, 11:49 p.m. UTC | #3
On 06.05.2015 22:23, Javier Martinez Canillas wrote:
> +Krzysztof Kozlowski
>
> Hello Inha,
>
> On Wed, May 6, 2015 at 3:47 AM, Inha Song <ideal.song@samsung.com> wrote:
>> Hi Kukjin,
>>
>> Any comments about this patch?
>>
>> Best Regards,
>> Inha Song.
>>
>
> It seems Kukjin didn't have time lately to deal with the huge backlog
> of patches for Exynos so Krzysztof (added as cc) has kindly
> volunteered to help him by acting as a co-maintainer and queuing
> patches.
>
> So could you please for any patches that my have been forgotten (like
> $subject),  rebase on current head, carry all the obtained tags and
> re-send cc'ing Krzysztof so he can be aware of them?

Thanks Javier, I queued this already with test-by tags. I'll try to push 
it next time... which I don't know when it happens as current pull 
request stalled.

Anyway I won't forget about the patch. It can be found here:
https://github.com/krzk/linux/commits/samsung-for-next

Best regards,
Krzysztof
diff mbox

Patch

diff --git a/arch/arm/boot/dts/exynos5420.dtsi b/arch/arm/boot/dts/exynos5420.dtsi
index ac6f860..73886d6 100644
--- a/arch/arm/boot/dts/exynos5420.dtsi
+++ b/arch/arm/boot/dts/exynos5420.dtsi
@@ -415,6 +415,9 @@ 
 			<&clock_audss EXYNOS_I2S_BUS>,
 			<&clock_audss EXYNOS_SCLK_I2S>;
 		clock-names = "iis", "i2s_opclk0", "i2s_opclk1";
+		#clock-cells = <1>;
+		clock-output-names = "i2s_cdclk0";
+		#sound-dai-cells = <1>;
 		samsung,idma-addr = <0x03000000>;
 		pinctrl-names = "default";
 		pinctrl-0 = <&i2s0_bus>;
@@ -429,6 +432,9 @@ 
 		dma-names = "tx", "rx";
 		clocks = <&clock CLK_I2S1>, <&clock CLK_SCLK_I2S1>;
 		clock-names = "iis", "i2s_opclk0";
+		#clock-cells = <1>;
+		clock-output-names = "i2s_cdclk1";
+		#sound-dai-cells = <1>;
 		pinctrl-names = "default";
 		pinctrl-0 = <&i2s1_bus>;
 		status = "disabled";
@@ -442,6 +448,9 @@ 
 		dma-names = "tx", "rx";
 		clocks = <&clock CLK_I2S2>, <&clock CLK_SCLK_I2S2>;
 		clock-names = "iis", "i2s_opclk0";
+		#clock-cells = <1>;
+		clock-output-names = "i2s_cdclk2";
+		#sound-dai-cells = <1>;
 		pinctrl-names = "default";
 		pinctrl-0 = <&i2s2_bus>;
 		status = "disabled";
diff --git a/arch/arm/boot/dts/exynos5422-odroidxu3.dts b/arch/arm/boot/dts/exynos5422-odroidxu3.dts
index edc25cf..c038f0d 100644
--- a/arch/arm/boot/dts/exynos5422-odroidxu3.dts
+++ b/arch/arm/boot/dts/exynos5422-odroidxu3.dts
@@ -11,6 +11,7 @@ 
 */
 
 /dts-v1/;
+#include <dt-bindings/sound/samsung-i2s.h>
 #include "exynos5800.dtsi"
 
 / {
@@ -285,6 +286,64 @@ 
 	rtc@101E0000 {
 		status = "okay";
 	};
+
+	sound: sound {
+		compatible = "simple-audio-card";
+
+		simple-audio-card,name = "Odroid-XU3";
+		simple-audio-card,widgets =
+			"Headphone", "Headphone Jack",
+			"Speakers", "Speakers";
+		simple-audio-card,routing =
+			"Headphone Jack", "HPL",
+			"Headphone Jack", "HPR",
+			"Headphone Jack", "MICBIAS",
+			"IN1", "Headphone Jack",
+			"Speakers", "SPKL",
+			"Speakers", "SPKR";
+
+		simple-audio-card,format = "i2s";
+		simple-audio-card,bitclock-master = <&link0_codec>;
+		simple-audio-card,frame-master = <&link0_codec>;
+
+		simple-audio-card,cpu {
+			sound-dai = <&i2s0 0>;
+			system-clock-frequency = <19200000>;
+		};
+
+		link0_codec: simple-audio-card,codec {
+			sound-dai = <&max98090>;
+			clocks = <&i2s0 CLK_I2S_CDCLK>;
+		};
+	};
+};
+
+&clock_audss {
+	assigned-clocks = <&clock_audss EXYNOS_MOUT_AUDSS>,
+			<&clock_audss EXYNOS_MOUT_I2S>,
+			<&clock_audss EXYNOS_DOUT_AUD_BUS>;
+	assigned-clock-parents = <&clock CLK_FIN_PLL>,
+			<&clock_audss EXYNOS_MOUT_AUDSS>;
+	assigned-clock-rates = <0>,
+			<0>,
+			<19200000>;
+};
+
+&hsi2c_5 {
+	status = "okay";
+	max98090: max98090@10 {
+		compatible = "maxim,max98090";
+		reg = <0x10>;
+		interrupt-parent = <&gpx3>;
+		interrupts = <2 0>;
+		clocks = <&i2s0 CLK_I2S_CDCLK>;
+		clock-names = "mclk";
+		#sound-dai-cells = <0>;
+	};
+};
+
+&i2s0 {
+	status = "okay";
 };
 
 &hdmi {