[alsa-devel] [PATCH RESEND] ARM: dts: Support audio on Exynos5422-odroidxu3 using simple-audio-card
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 --- arch/arm/boot/dts/exynos5420.dtsi | 9 +++++ arch/arm/boot/dts/exynos5422-odroidxu3.dts | 57 ++++++++++++++++++++++++++++++ 2 files changed, 66 insertions(+)
diff --git a/arch/arm/boot/dts/exynos5420.dtsi b/arch/arm/boot/dts/exynos5420.dtsi index 4eaeabe..e459c1d 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..9275ad6 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,62 @@ rtc@101E0000 { status = "okay"; }; + + sound: sound { + compatible = "simple-audio-card"; + 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>; + + 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>; + }; + }; +}; + +&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 {
On 23/03/15 03:51, Inha Song wrote:
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
arch/arm/boot/dts/exynos5420.dtsi | 9 +++++ arch/arm/boot/dts/exynos5422-odroidxu3.dts | 57 ++++++++++++++++++++++++++++++ 2 files changed, 66 insertions(+)
diff --git a/arch/arm/boot/dts/exynos5420.dtsi b/arch/arm/boot/dts/exynos5420.dtsi index 4eaeabe..e459c1d 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";
samsung,idma-addr = <0x03000000>; pinctrl-names = "default"; pinctrl-0 = <&i2s0_bus>;#sound-dai-cells = <1>;
@@ -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";
pinctrl-names = "default"; pinctrl-0 = <&i2s1_bus>; status = "disabled";#sound-dai-cells = <1>;
@@ -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";
pinctrl-names = "default"; pinctrl-0 = <&i2s2_bus>; status = "disabled";#sound-dai-cells = <1>;
diff --git a/arch/arm/boot/dts/exynos5422-odroidxu3.dts b/arch/arm/boot/dts/exynos5422-odroidxu3.dts index edc25cf..9275ad6 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,62 @@ rtc@101E0000 { status = "okay"; };
- sound: sound {
compatible = "simple-audio-card";
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>;
The patch looks good, except it would be more appropriate to move the above properties to &clock_audss { }; node in this file. With that change feel free to add: Reviewed-by: Sylwester Nawrocki s.nawrocki@samsung.com
As a side note, this is a dts patch and of course Kukjin maintains that. You would likely get it applied sooner if you would have addressed it directly to Kukjin, rather than Mark or me.
Hi Sylwester,
Thanks for your review.
On Mon, 23 Mar 2015 11:54:55 +0100 Sylwester Nawrocki s.nawrocki@samsung.com wrote:
On 23/03/15 03:51, Inha Song wrote:
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
arch/arm/boot/dts/exynos5420.dtsi | 9 +++++ arch/arm/boot/dts/exynos5422-odroidxu3.dts | 57 ++++++++++++++++++++++++++++++ 2 files changed, 66 insertions(+)
diff --git a/arch/arm/boot/dts/exynos5420.dtsi b/arch/arm/boot/dts/exynos5420.dtsi index 4eaeabe..e459c1d 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";
samsung,idma-addr = <0x03000000>; pinctrl-names = "default"; pinctrl-0 = <&i2s0_bus>;#sound-dai-cells = <1>;
@@ -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";
pinctrl-names = "default"; pinctrl-0 = <&i2s1_bus>; status = "disabled";#sound-dai-cells = <1>;
@@ -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";
pinctrl-names = "default"; pinctrl-0 = <&i2s2_bus>; status = "disabled";#sound-dai-cells = <1>;
diff --git a/arch/arm/boot/dts/exynos5422-odroidxu3.dts b/arch/arm/boot/dts/exynos5422-odroidxu3.dts index edc25cf..9275ad6 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,62 @@ rtc@101E0000 { status = "okay"; };
- sound: sound {
compatible = "simple-audio-card";
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>;
The patch looks good, except it would be more appropriate to move the above properties to &clock_audss { }; node in this file.
Ok. I will fix and send v2 with your sign.
-- +++ b/arch/arm/boot/dts/exynos5422-odroidxu3.dts
+&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>; +}; +
With that change feel free to add: Reviewed-by: Sylwester Nawrocki s.nawrocki@samsung.com
As a side note, this is a dts patch and of course Kukjin maintains that. You would likely get it applied sooner if you would have addressed it directly to Kukjin, rather than Mark or me.
Ok.
Best Regrads, Inha Song.
-- Thanks, Sylwester
Sylwester Nawrocki wrote:
On 23/03/15 03:51, Inha Song wrote:
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
arch/arm/boot/dts/exynos5420.dtsi | 9 +++++ arch/arm/boot/dts/exynos5422-odroidxu3.dts | 57 ++++++++++++++++++++++++++++++ 2 files changed, 66 insertions(+)
diff --git a/arch/arm/boot/dts/exynos5420.dtsi b/arch/arm/boot/dts/exynos5420.dtsi index 4eaeabe..e459c1d 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";
samsung,idma-addr = <0x03000000>; pinctrl-names = "default"; pinctrl-0 = <&i2s0_bus>;#sound-dai-cells = <1>;
@@ -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";
pinctrl-names = "default"; pinctrl-0 = <&i2s1_bus>; status = "disabled";#sound-dai-cells = <1>;
@@ -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";
pinctrl-names = "default"; pinctrl-0 = <&i2s2_bus>; status = "disabled";#sound-dai-cells = <1>;
diff --git a/arch/arm/boot/dts/exynos5422-odroidxu3.dts b/arch/arm/boot/dts/exynos5422-odroidxu3.dts index edc25cf..9275ad6 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,62 @@ rtc@101E0000 { status = "okay"; };
- sound: sound {
compatible = "simple-audio-card";
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>;
The patch looks good, except it would be more appropriate to move the above properties to &clock_audss { }; node in this file. With that change feel free to add: Reviewed-by: Sylwester Nawrocki s.nawrocki@samsung.com
As a side note, this is a dts patch and of course Kukjin maintains that. You would likely get it applied sooner if you would have addressed it directly to Kukjin, rather than Mark or me.
Yes, please. I'll apply this once you address comments per Sylwester's suggestion.
Thanks, Kukjin
participants (3)
-
Inha Song
-
Kukjin Kim
-
Sylwester Nawrocki