[PATCH] ARM: dts: stm32: add system-clock-direction-out on stm32mp15xx-dkx

Olivier Moysan posted 1 patch 6 months, 3 weeks ago
arch/arm/boot/dts/st/stm32mp15xx-dkx.dtsi | 1 +
1 file changed, 1 insertion(+)
[PATCH] ARM: dts: stm32: add system-clock-direction-out on stm32mp15xx-dkx
Posted by Olivier Moysan 6 months, 3 weeks ago
The commit 5725bce709db
("ASoC: simple-card-utils: Unify clock direction by clk_direction")
corrupts the audio on STM32MP15 DK sound cards.
The parent clock is not correctly set, because set_sai_ck_rate() is not
executed in stm32_sai_set_sysclk() callback.
This occurs because set_sysclk() is called with the wrong direction,
SND_SOC_CLOCK_IN instead of SND_SOC_CLOCK_OUT.

Add system-clock-direction-out property in SAI2A endpoint node of
STM32MP15XX-DKX device tree, to specify the MCLK clock direction.

Signed-off-by: Olivier Moysan <olivier.moysan@foss.st.com>
---
 arch/arm/boot/dts/st/stm32mp15xx-dkx.dtsi | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm/boot/dts/st/stm32mp15xx-dkx.dtsi b/arch/arm/boot/dts/st/stm32mp15xx-dkx.dtsi
index a5511b1f0ce3..c74e36676d1b 100644
--- a/arch/arm/boot/dts/st/stm32mp15xx-dkx.dtsi
+++ b/arch/arm/boot/dts/st/stm32mp15xx-dkx.dtsi
@@ -515,6 +515,7 @@ sai2a_endpoint: endpoint {
 				remote-endpoint = <&cs42l51_tx_endpoint>;
 				dai-format = "i2s";
 				mclk-fs = <256>;
+				system-clock-direction-out;
 				dai-tdm-slot-num = <2>;
 				dai-tdm-slot-width = <32>;
 			};
-- 
2.25.1
Re: [PATCH] ARM: dts: stm32: add system-clock-direction-out on stm32mp15xx-dkx
Posted by Alexandre TORGUE 5 months, 1 week ago
Hi Olivier

On 5/21/25 17:04, Olivier Moysan wrote:
> The commit 5725bce709db
> ("ASoC: simple-card-utils: Unify clock direction by clk_direction")
> corrupts the audio on STM32MP15 DK sound cards.
> The parent clock is not correctly set, because set_sai_ck_rate() is not
> executed in stm32_sai_set_sysclk() callback.
> This occurs because set_sysclk() is called with the wrong direction,
> SND_SOC_CLOCK_IN instead of SND_SOC_CLOCK_OUT.
> 
> Add system-clock-direction-out property in SAI2A endpoint node of
> STM32MP15XX-DKX device tree, to specify the MCLK clock direction.
> 
> Signed-off-by: Olivier Moysan <olivier.moysan@foss.st.com>
> ---
>   arch/arm/boot/dts/st/stm32mp15xx-dkx.dtsi | 1 +
>   1 file changed, 1 insertion(+)
> 
> diff --git a/arch/arm/boot/dts/st/stm32mp15xx-dkx.dtsi b/arch/arm/boot/dts/st/stm32mp15xx-dkx.dtsi
> index a5511b1f0ce3..c74e36676d1b 100644
> --- a/arch/arm/boot/dts/st/stm32mp15xx-dkx.dtsi
> +++ b/arch/arm/boot/dts/st/stm32mp15xx-dkx.dtsi
> @@ -515,6 +515,7 @@ sai2a_endpoint: endpoint {
>   				remote-endpoint = <&cs42l51_tx_endpoint>;
>   				dai-format = "i2s";
>   				mclk-fs = <256>;
> +				system-clock-direction-out;
>   				dai-tdm-slot-num = <2>;
>   				dai-tdm-slot-width = <32>;
>   			};

Applied on stm32-next.

Thanks !!
Alex