diff mbox

[alsa-devel,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

Markus Reichl April 10, 2015, 9:02 a.m. UTC | #1
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 {
>
Anand Moon April 10, 2015, 9:18 a.m. UTC | #2
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
Inha Song May 6, 2015, 1:47 a.m. UTC | #3
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
--
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 | #4
+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
--
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
Krzysztof Kozlowski May 6, 2015, 11:49 p.m. UTC | #5
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

--
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/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 {