hal/ports/STM32/STM32F4xx/hal_lld.h defines the following:
Code: Select all
#define STM32_PLLVCO_MIN 192000000
And performs following check:
Code: Select all
#if ((STM32_PLLI2SN_VALUE >= 192) && (STM32_PLLI2SN_VALUE <= 432)) ...
...
#else
#error
#endif
However, reference manual page 205 says that valid values for PLLI2SN are comprised between 50 & 432. It also states that "The software has to set these bits correctly to ensure that the VCO output frequency is between 100 and 432 MHz."
Therefore it seems that STM32_PLLVCO_MIN should be 100000000 and the test should be STM32_PLLI2SN_VALUE >= 50.
I2S is working on my board with multipliers and VCO clocks that do not comply with the ChibiOS checks but with the reference manual. Those multipliers are also valid in CubeMX.
Best,
-l