diff options
author | Gregory Nutt <gnutt@nuttx.org> | 2014-12-19 13:30:58 -0600 |
---|---|---|
committer | Gregory Nutt <gnutt@nuttx.org> | 2014-12-19 13:30:58 -0600 |
commit | b6f4931674bb2fa9099ed7bac7992bd4a84fc4f3 (patch) | |
tree | e37bf83d7d7b146c47bc4d5e65745830cb9099c6 /nuttx/arch | |
parent | f778e40143751058a37e9515d61ed5f610d1c07e (diff) | |
download | nuttx-b6f4931674bb2fa9099ed7bac7992bd4a84fc4f3.tar.gz nuttx-b6f4931674bb2fa9099ed7bac7992bd4a84fc4f3.tar.bz2 nuttx-b6f4931674bb2fa9099ed7bac7992bd4a84fc4f3.zip |
stm32: configure PLLSAI clock to enable ltdc register access
Signed-off-by: Marco Krahl <ocram.lhark@gmail.com>
Diffstat (limited to 'nuttx/arch')
-rw-r--r-- | nuttx/arch/arm/src/stm32/stm32f40xxx_rcc.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/nuttx/arch/arm/src/stm32/stm32f40xxx_rcc.c b/nuttx/arch/arm/src/stm32/stm32f40xxx_rcc.c index 0f8847f10..b15b383fc 100644 --- a/nuttx/arch/arm/src/stm32/stm32f40xxx_rcc.c +++ b/nuttx/arch/arm/src/stm32/stm32f40xxx_rcc.c @@ -746,6 +746,32 @@ static void stm32_stdclockconfig(void) while ((getreg32(STM32_RCC_CFGR) & RCC_CFGR_SWS_MASK) != RCC_CFGR_SWS_PLL) { } + +#ifdef CONFIG_STM32_LTDC + /* Configure PLLSAI */ + + regval = getreg32(STM32_RCC_PLLSAICFGR); + regval |= (STM32_RCC_PLLSAICFGR_PLLSAIN + | STM32_RCC_PLLSAICFGR_PLLSAIR + | STM32_RCC_PLLSAICFGR_PLLSAIQ); + putreg32(regval, STM32_RCC_PLLSAICFGR); + + regval = getreg32(STM32_RCC_DCKCFGR); + regval |= STM32_RCC_DCKCFGR_PLLSAIDIVR; + putreg32(regval, STM32_RCC_DCKCFGR); + + /* Enable PLLSAI */ + + regval = getreg32(STM32_RCC_CR); + regval |= RCC_CR_PLLSAION; + putreg32(regval, STM32_RCC_CR); + + /* Wait until the PLLSAI is ready */ + + while ((getreg32(STM32_RCC_CR) & RCC_CR_PLLSAIRDY) == 0) + { + } +#endif } } #endif |