[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <051ceb69-2f6b-4944-4fbe-0ced66f0b669@theobroma-systems.com>
Date: Fri, 1 Sep 2023 10:06:59 +0200
From: quentin.schulz@...obroma-systems.com
To: Jakob Unterwurzacher <jakobunt@...il.com>,
Rob Herring <robh+dt@...nel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
Heiko Stuebner <heiko@...ech.de>,
jakob.unterwurzacher@...obroma-systems.com,
Ermin Sunj <ermin.sunj@...obroma-systems.com>,
devicetree@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
linux-rockchip@...ts.infradead.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2 1/2] arm64: dts: rockchip: use codec as clock master on
px30-ringneck-haikou
Hi Jakob,
On 8/23/23 3:16 PM, Jakob Unterwurzacher <jakobunt@...il.com> wrote:
> From: Ermin Sunj <ermin.sunj@...obroma-systems.com>
>
> If the codec is not the clock master, the MCLK needs to be
> synchronous to both I2S_SCL ans I2S_LRCLK. We do not have that
> on Haikou, causing distorted audio.
>
> Before:
>
> Running an audio test script on Ringneck, 1kHz
> output sine wave is not stable and shows distortion.
>
> After:
>
> 10h audio test script loop failed only one time.
> That is 0.00014% failure rate.
>
> Signed-off-by: Ermin Sunj <ermin.sunj@...obroma-systems.com>
> Signed-off-by: Jakob Unterwurzacher <jakob.unterwurzacher@...obroma-systems.com>
> ---
> arch/arm64/boot/dts/rockchip/px30-ringneck-haikou.dts | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/arch/arm64/boot/dts/rockchip/px30-ringneck-haikou.dts b/arch/arm64/boot/dts/rockchip/px30-ringneck-haikou.dts
> index 3a447d03e2a8..dafeef0c2dab 100644
> --- a/arch/arm64/boot/dts/rockchip/px30-ringneck-haikou.dts
> +++ b/arch/arm64/boot/dts/rockchip/px30-ringneck-haikou.dts
> @@ -68,8 +68,10 @@ i2s0-sound {
> simple-audio-card,format = "i2s";
> simple-audio-card,name = "Haikou,I2S-codec";
> simple-audio-card,mclk-fs = <512>;
> + simple-audio-card,frame-master = <&sgtl5000_codec>;
> + simple-audio-card,bitclock-master = <&sgtl5000_codec>;
>
> - simple-audio-card,codec {
> + sgtl5000_codec: simple-audio-card,codec {
> clocks = <&sgtl5000_clk>;
> sound-dai = <&sgtl5000>;
> };
>
It isn't actually shown in the diff here but we now have two different bitclock and frame masters, specified differently, c.f.:
https://gitlab.com/linux-kernel/linux/-/blob/master/arch/arm64/boot/dts/rockchip/px30-ringneck-haikou.dts?ref_type=heads#L78-L79
So I very much assume we should also delete those two lines in the simple-audio-card,cpu node?
Cheers,
Quentin
Powered by blists - more mailing lists