Commit edc19bd0 authored by Fabrice Gasnier's avatar Fabrice Gasnier Committed by Uwe Kleine-König
Browse files

pwm: stm32: Fix complementary output in round_waveform_tohw()



When the timer supports complementary output, the CCxNE bit must be set
additionally to the CCxE bit. So to not overwrite the latter use |=
instead of = to set the former.

Fixes: deaba9cf ("pwm: stm32: Implementation of the waveform callbacks")
Signed-off-by: default avatarFabrice Gasnier <fabrice.gasnier@foss.st.com>
Link: https://lore.kernel.org/r/20241217150021.2030213-1-fabrice.gasnier@foss.st.com


[ukleinek: Slightly improve commit log]
Signed-off-by: default avatarUwe Kleine-König <ukleinek@kernel.org>
parent 40384c84
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -84,7 +84,7 @@ static int stm32_pwm_round_waveform_tohw(struct pwm_chip *chip,

	wfhw->ccer = TIM_CCER_CCxE(ch + 1);
	if (priv->have_complementary_output)
		wfhw->ccer = TIM_CCER_CCxNE(ch + 1);
		wfhw->ccer |= TIM_CCER_CCxNE(ch + 1);

	rate = clk_get_rate(priv->clk);