| # Copyright (c) 2020 STMicroelectronics |
| # |
| # SPDX-License-Identifier: Apache-2.0 |
| |
| if BOARD_NUCLEO_F411RE |
| |
| if I2S |
| |
| # The I2S should be configured in such a way it generates a 2MHz |
| # clock to the MP34DT05 microphone. |
| # |
| # The input clock to I2S block is I2SClk. This clock is generated |
| # by the PLLI2S from either HSI or HSE osci using this formula: |
| # |
| # Fin = HSE or HSI osci |
| # Fvco = Fin x (PLLN/PLLM) |
| # I2SClk = Fvco / PLLR |
| # |
| # For example, if Fin is HSE at 8MHz and PLLM=8, PLLN=192, PLLR=3, |
| # the resulting I2SCLk is 64MHz. On the contrary if HSI at 16MHz is |
| # used the resulting I2SClk frequency would be 128MHz. |
| # The shield user is invited to verify which osci is configured on |
| # Nucleo F441RE board defconfig file and calculate the final frequency. |
| # |
| # The I2S block then uses I2SDIV and I2SODD register fields to further |
| # divide I2SClk. These parameters are automatically calculated by |
| # I2S driver, in order to obtain the requested output @2MHz, so |
| # having a I2SClk in input at 64MHz or 128MHz does not make a any |
| # difference. |
| |
| config I2S_STM32_USE_PLLI2S_ENABLE |
| default y |
| |
| config I2S_STM32_PLLI2S_PLLM |
| default 8 |
| |
| config I2S_STM32_PLLI2S_PLLN |
| default 192 |
| |
| config I2S_STM32_PLLI2S_PLLR |
| default 3 |
| |
| endif # I2S |
| |
| endif # BOARD_NUCLEO_F411RE |