diff mbox

ARM: dts: exynos: Use dedicated DT bindings for Odroid X/X2, U3

Message ID 20180511080947.3057-1-s.nawrocki@samsung.com (mailing list archive)
State New, archived
Headers show

Commit Message

Use dedicated Odroid audio subsystem DT bindings instead of the simple-card.
This adds support for audio on the HDMI interface.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
---
 arch/arm/boot/dts/exynos4412-odroid-common.dtsi | 33 ++++++++++++++-----------
 arch/arm/boot/dts/exynos4412-odroidu3.dts       |  7 +++---
 arch/arm/boot/dts/exynos4412-odroidx.dts        |  7 +++---
 3 files changed, 27 insertions(+), 20 deletions(-)

Comments

Krzysztof Kozlowski May 13, 2018, 12:24 p.m. UTC | #1
On Fri, May 11, 2018 at 10:09:47AM +0200, Sylwester Nawrocki wrote:
> Use dedicated Odroid audio subsystem DT bindings instead of the simple-card.
> This adds support for audio on the HDMI interface.

How about changing the subject to "Add suppor for audio over HDMI for
Odroid X/X2/U3"?


> 
> Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
> ---
>  arch/arm/boot/dts/exynos4412-odroid-common.dtsi | 33 ++++++++++++++-----------
>  arch/arm/boot/dts/exynos4412-odroidu3.dts       |  7 +++---
>  arch/arm/boot/dts/exynos4412-odroidx.dts        |  7 +++---
>  3 files changed, 27 insertions(+), 20 deletions(-)
> 
> diff --git a/arch/arm/boot/dts/exynos4412-odroid-common.dtsi b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
> index d7ad07fd48f9..bad08e70358a 100644
> --- a/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
> +++ b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
> @@ -37,20 +37,12 @@
>  	};
>  
>  	sound: sound {
> -		compatible = "simple-audio-card";
> -
> -		simple-audio-card,format = "i2s";
> -		simple-audio-card,bitclock-master = <&link0_codec>;
> -		simple-audio-card,frame-master = <&link0_codec>;
> -
> -		simple-audio-card,cpu {
> +		cpu {
>  			sound-dai = <&i2s0 0>;
> -			system-clock-frequency = <19200000>;
>  		};
>  
> -		link0_codec: simple-audio-card,codec {
> -			sound-dai = <&max98090>;
> -			clocks = <&i2s0 CLK_I2S_CDCLK>;
> +		codec {
> +			sound-dai = <&hdmi>, <&max98090>;
>  		};
>  	};
>  
> @@ -142,14 +134,25 @@
>  	pinctrl-0 = <>;
>  };
>  
> +&clock {
> +	assigned-clocks = <&clock CLK_FOUT_EPLL>;
> +	assigned-clock-rates = <45158401>;
> +};
> +
>  &clock_audss {
>  	assigned-clocks = <&clock_audss EXYNOS_MOUT_AUDSS>,
>  			<&clock_audss EXYNOS_MOUT_I2S>,
>  			<&clock_audss EXYNOS_DOUT_SRP>,
> -			<&clock_audss EXYNOS_DOUT_AUD_BUS>;
> +			<&clock_audss EXYNOS_DOUT_AUD_BUS>,
> +			<&clock_audss EXYNOS_DOUT_I2S>;
> +
>  	assigned-clock-parents = <&clock CLK_FOUT_EPLL>,
> -			<&clock_audss EXYNOS_MOUT_AUDSS>;
> -	assigned-clock-rates = <0>, <0>, <192000000>, <19200000>;
> +			  <&clock_audss EXYNOS_MOUT_AUDSS>;
> +
> +	assigned-clock-rates = <0>, <0>,
> +			<196608001>,
> +			<(196608001 / 2)>,
> +			<(196608001 / 8)>;
>  };
>  
>  &cpu0 {
> @@ -498,6 +501,8 @@
>  	pinctrl-0 = <&i2s0_bus>;
>  	pinctrl-names = "default";
>  	status = "okay";
> +	assigned-clocks = <&i2s0 CLK_I2S_RCLK_SRC>;
> +	assigned-clock-parents = <&clock_audss EXYNOS_SCLK_I2S>;
>  };
>  
>  &mixer {
> diff --git a/arch/arm/boot/dts/exynos4412-odroidu3.dts b/arch/arm/boot/dts/exynos4412-odroidu3.dts
> index bdcd4523cc1c..7a94a423097d 100644
> --- a/arch/arm/boot/dts/exynos4412-odroidu3.dts
> +++ b/arch/arm/boot/dts/exynos4412-odroidu3.dts
> @@ -113,11 +113,12 @@
>  };
>  
>  &sound {
> -	simple-audio-card,name = "Odroid-U3";
> -	simple-audio-card,widgets =
> +	compatible = "hardkernel,odroid-xu4-audio";

The compatible is the same for all users using DTSI so it could be moved
to the exynos4412-odroid-common.dtsi itself.

Best regards,
Krzysztof

> +	model = "Odroid-U3";
> +	samsung,audio-widgets =
>  		"Headphone", "Headphone Jack",
>  		"Speakers", "Speakers";
> -	simple-audio-card,routing =
> +	samsung,audio-routing =
>  		"Headphone Jack", "HPL",
>  		"Headphone Jack", "HPR",
>  		"Headphone Jack", "MICBIAS",
> diff --git a/arch/arm/boot/dts/exynos4412-odroidx.dts b/arch/arm/boot/dts/exynos4412-odroidx.dts
> index 2dff129bc2ad..f0d5037f3a5d 100644
> --- a/arch/arm/boot/dts/exynos4412-odroidx.dts
> +++ b/arch/arm/boot/dts/exynos4412-odroidx.dts
> @@ -97,12 +97,13 @@
>  };
>  
>  &sound {
> -	simple-audio-card,name = "Odroid-X";
> -	simple-audio-card,widgets =
> +	compatible = "hardkernel,odroid-xu4-audio";
> +	model = "Odroid-X";
> +	samsung,audio-widgets =
>  		"Headphone", "Headphone Jack",
>  		"Microphone", "Mic Jack",
>  		"Microphone", "DMIC";
> -	simple-audio-card,routing =
> +	samsung,audio-routing =
>  		"Headphone Jack", "HPL",
>  		"Headphone Jack", "HPR",
>  		"IN1", "Mic Jack",
> -- 
> 2.14.2
>
On 05/13/2018 02:24 PM, Krzysztof Kozlowski wrote:
> On Fri, May 11, 2018 at 10:09:47AM +0200, Sylwester Nawrocki wrote:
>> Use dedicated Odroid audio subsystem DT bindings instead of the simple-card.
>> This adds support for audio on the HDMI interface.

> How about changing the subject to "Add suppor for audio over HDMI for
> Odroid X/X2/U3"?

Sure, I don't mind.

>> diff --git a/arch/arm/boot/dts/exynos4412-odroidu3.dts b/arch/arm/boot/dts/exynos4412-odroidu3.dts
>> index bdcd4523cc1c..7a94a423097d 100644
>> --- a/arch/arm/boot/dts/exynos4412-odroidu3.dts
>> +++ b/arch/arm/boot/dts/exynos4412-odroidu3.dts
>> @@ -113,11 +113,12 @@
>>  };
>>  
>>  &sound {
>> -	simple-audio-card,name = "Odroid-U3";
>> -	simple-audio-card,widgets =
>> +	compatible = "hardkernel,odroid-xu4-audio";

> The compatible is the same for all users using DTSI so it could be moved
> to the exynos4412-odroid-common.dtsi itself.

Corrected.
diff mbox

Patch

diff --git a/arch/arm/boot/dts/exynos4412-odroid-common.dtsi b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
index d7ad07fd48f9..bad08e70358a 100644
--- a/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
+++ b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
@@ -37,20 +37,12 @@ 
 	};
 
 	sound: sound {
-		compatible = "simple-audio-card";
-
-		simple-audio-card,format = "i2s";
-		simple-audio-card,bitclock-master = <&link0_codec>;
-		simple-audio-card,frame-master = <&link0_codec>;
-
-		simple-audio-card,cpu {
+		cpu {
 			sound-dai = <&i2s0 0>;
-			system-clock-frequency = <19200000>;
 		};
 
-		link0_codec: simple-audio-card,codec {
-			sound-dai = <&max98090>;
-			clocks = <&i2s0 CLK_I2S_CDCLK>;
+		codec {
+			sound-dai = <&hdmi>, <&max98090>;
 		};
 	};
 
@@ -142,14 +134,25 @@ 
 	pinctrl-0 = <>;
 };
 
+&clock {
+	assigned-clocks = <&clock CLK_FOUT_EPLL>;
+	assigned-clock-rates = <45158401>;
+};
+
 &clock_audss {
 	assigned-clocks = <&clock_audss EXYNOS_MOUT_AUDSS>,
 			<&clock_audss EXYNOS_MOUT_I2S>,
 			<&clock_audss EXYNOS_DOUT_SRP>,
-			<&clock_audss EXYNOS_DOUT_AUD_BUS>;
+			<&clock_audss EXYNOS_DOUT_AUD_BUS>,
+			<&clock_audss EXYNOS_DOUT_I2S>;
+
 	assigned-clock-parents = <&clock CLK_FOUT_EPLL>,
-			<&clock_audss EXYNOS_MOUT_AUDSS>;
-	assigned-clock-rates = <0>, <0>, <192000000>, <19200000>;
+			  <&clock_audss EXYNOS_MOUT_AUDSS>;
+
+	assigned-clock-rates = <0>, <0>,
+			<196608001>,
+			<(196608001 / 2)>,
+			<(196608001 / 8)>;
 };
 
 &cpu0 {
@@ -498,6 +501,8 @@ 
 	pinctrl-0 = <&i2s0_bus>;
 	pinctrl-names = "default";
 	status = "okay";
+	assigned-clocks = <&i2s0 CLK_I2S_RCLK_SRC>;
+	assigned-clock-parents = <&clock_audss EXYNOS_SCLK_I2S>;
 };
 
 &mixer {
diff --git a/arch/arm/boot/dts/exynos4412-odroidu3.dts b/arch/arm/boot/dts/exynos4412-odroidu3.dts
index bdcd4523cc1c..7a94a423097d 100644
--- a/arch/arm/boot/dts/exynos4412-odroidu3.dts
+++ b/arch/arm/boot/dts/exynos4412-odroidu3.dts
@@ -113,11 +113,12 @@ 
 };
 
 &sound {
-	simple-audio-card,name = "Odroid-U3";
-	simple-audio-card,widgets =
+	compatible = "hardkernel,odroid-xu4-audio";
+	model = "Odroid-U3";
+	samsung,audio-widgets =
 		"Headphone", "Headphone Jack",
 		"Speakers", "Speakers";
-	simple-audio-card,routing =
+	samsung,audio-routing =
 		"Headphone Jack", "HPL",
 		"Headphone Jack", "HPR",
 		"Headphone Jack", "MICBIAS",
diff --git a/arch/arm/boot/dts/exynos4412-odroidx.dts b/arch/arm/boot/dts/exynos4412-odroidx.dts
index 2dff129bc2ad..f0d5037f3a5d 100644
--- a/arch/arm/boot/dts/exynos4412-odroidx.dts
+++ b/arch/arm/boot/dts/exynos4412-odroidx.dts
@@ -97,12 +97,13 @@ 
 };
 
 &sound {
-	simple-audio-card,name = "Odroid-X";
-	simple-audio-card,widgets =
+	compatible = "hardkernel,odroid-xu4-audio";
+	model = "Odroid-X";
+	samsung,audio-widgets =
 		"Headphone", "Headphone Jack",
 		"Microphone", "Mic Jack",
 		"Microphone", "DMIC";
-	simple-audio-card,routing =
+	samsung,audio-routing =
 		"Headphone Jack", "HPL",
 		"Headphone Jack", "HPR",
 		"IN1", "Mic Jack",