diff options
author | Jakob Unterwurzacher <jakobunt@gmail.com> | 2023-09-07 17:17:16 +0200 |
---|---|---|
committer | Heiko Stuebner <heiko@sntech.de> | 2023-10-04 23:14:45 +0200 |
commit | 1e585cd0aad3d491938230318d6d479f09589fd8 (patch) | |
tree | 84fab0720424998ffa1609e8e6a24ac0d153cc13 /arch/arm64/boot/dts | |
parent | 84fa1865edbb3800f3344e2a5bc73c187adf42d0 (diff) | |
download | linux-stable-1e585cd0aad3d491938230318d6d479f09589fd8.tar.gz linux-stable-1e585cd0aad3d491938230318d6d479f09589fd8.tar.bz2 linux-stable-1e585cd0aad3d491938230318d6d479f09589fd8.zip |
arm64: dts: rockchip: set codec system-clock-fixed on px30-ringneck-haikou
Having sgtl5000_clk defines as "fixed-clock" is not enough to prevent
the dai subsystem from overwriting the frequency via sgtl5000_set_dai_sysclk.
Setting system-clock-fixed does the job, and now a 1kHz sine wave
comes out as actually 1kHz, no matter the sample rate of the source.
Testcase: These should sound the same:
speaker-test -r 48000 -t sine -f 1000
speaker-test -r 24000 -t sine -f 1000
Also remove the clock link here as having it in sgtl5000 and
sgtl5000_codec causes duplicate clock unprepares with associated
backtrace.
Cc: stable@vger.kernel.org
Fixes: c484cf93f61b ("arm64: dts: rockchip: add PX30-µQ7 (Ringneck) SoM with Haikou baseboard")
Signed-off-by: Jakob Unterwurzacher <jakob.unterwurzacher@theobroma-systems.com>
Link: https://lore.kernel.org/r/20230907151725.198347-2-jakob.unterwurzacher@theobroma-systems.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Diffstat (limited to 'arch/arm64/boot/dts')
-rw-r--r-- | arch/arm64/boot/dts/rockchip/px30-ringneck-haikou.dts | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/arm64/boot/dts/rockchip/px30-ringneck-haikou.dts b/arch/arm64/boot/dts/rockchip/px30-ringneck-haikou.dts index 8792fae50257..de0a1f2af983 100644 --- a/arch/arm64/boot/dts/rockchip/px30-ringneck-haikou.dts +++ b/arch/arm64/boot/dts/rockchip/px30-ringneck-haikou.dts @@ -72,8 +72,10 @@ simple-audio-card,bitclock-master = <&sgtl5000_codec>; sgtl5000_codec: simple-audio-card,codec { - clocks = <&sgtl5000_clk>; sound-dai = <&sgtl5000>; + // Prevent the dai subsystem from overwriting the clock + // frequency. We are using a fixed-frequency oscillator. + system-clock-fixed; }; simple-audio-card,cpu { |