You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
if (cfg->pclk_len>1) {
if (clock_control_get_rate(DEVICE_DT_GET(STM32_CLOCK_CONTROL_NODE),
(clock_control_subsys_t)&cfg->pclken[1],
&freq_in) <0) {
LOG_ERR("Failed call clock_control_get_rate(pclken[1])");
return-EIO;
}
}
/* * The ratio between input clock (I2SxClk) and output * clock on the pad (I2S_CK) is obtained using the * following formula: * (i2s_div * 2) + i2s_odd */i2s_div=div_round_closest(freq_in, bit_clk_freq);
i2s_odd= (i2s_div&0x1) ? 1 : 0;
i2s_div >>= 1;
Hello, I am a bit confused by this code snippet in the i2s_ll_stm32.c driver. This snippet comes from the i2s_stm32_set_clock function. I don't expect pclk_len to ever be greater than 1, so freq_in is never set. Am I missing something in my understanding of the I2S and clocking drivers?
For context I am trying to run the i2s output sample application on an STM32 Nucelo F401RE to verify a sine wave output. My overlay and clock configuration are here: 8c9c638
The text was updated successfully, but these errors were encountered:
Discussed in #77480
Originally posted by rriveramcrus August 23, 2024
Hello, I am a bit confused by this code snippet in the
i2s_ll_stm32.c
driver. This snippet comes from thei2s_stm32_set_clock
function. I don't expectpclk_len
to ever be greater than 1, sofreq_in
is never set. Am I missing something in my understanding of the I2S and clocking drivers?For context I am trying to run the i2s output sample application on an STM32 Nucelo F401RE to verify a sine wave output. My overlay and clock configuration are here: 8c9c638
The text was updated successfully, but these errors were encountered: