stm32g4: rcc: Add support for 24MHz external clocks
The ST Nucleo 64 boards NUCLEO-G431RB, NUCLEO-G474RE and NUCLEO-G491RE are equipped with a 24 MHz crystal. Add RCC clock support for these boards. Signed-off-by: Benedikt Spranger <b.spranger@linutronix.de>
This commit is contained in:
committed by
Piotr Esden-Tempski
parent
f8b9b14f83
commit
8526d7095c
@@ -357,7 +357,80 @@ const struct rcc_clock_scale rcc_hse_16mhz_3v3[RCC_CLOCK_3V3_END] = {
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
const struct rcc_clock_scale rcc_hse_24mhz_3v3[RCC_CLOCK_3V3_END] = {
|
||||
{ /* 24MHz */
|
||||
.pllm = 2,
|
||||
.plln = 8,
|
||||
.pllp = 0,
|
||||
.pllq = 2,
|
||||
.pllr = 4,
|
||||
.pll_source = RCC_PLLCFGR_PLLSRC_HSE,
|
||||
.hpre = RCC_CFGR_HPRE_NODIV,
|
||||
.ppre1 = RCC_CFGR_PPREx_NODIV,
|
||||
.ppre2 = RCC_CFGR_PPREx_NODIV,
|
||||
.vos_scale = PWR_SCALE2,
|
||||
.boost = false,
|
||||
.flash_config = FLASH_ACR_DCEN | FLASH_ACR_ICEN,
|
||||
.flash_waitstates = 1,
|
||||
.ahb_frequency = 24e6,
|
||||
.apb1_frequency = 24e6,
|
||||
.apb2_frequency = 24e6,
|
||||
},
|
||||
{ /* 48MHz */
|
||||
.pllm = 2,
|
||||
.plln = 8,
|
||||
.pllp = 0,
|
||||
.pllq = 2,
|
||||
.pllr = 2,
|
||||
.pll_source = RCC_PLLCFGR_PLLSRC_HSE,
|
||||
.hpre = RCC_CFGR_HPRE_NODIV,
|
||||
.ppre1 = RCC_CFGR_PPREx_NODIV,
|
||||
.ppre2 = RCC_CFGR_PPREx_NODIV,
|
||||
.vos_scale = PWR_SCALE1,
|
||||
.boost = false,
|
||||
.flash_config = FLASH_ACR_DCEN | FLASH_ACR_ICEN,
|
||||
.flash_waitstates = 1,
|
||||
.ahb_frequency = 48e6,
|
||||
.apb1_frequency = 48e6,
|
||||
.apb2_frequency = 48e6,
|
||||
},
|
||||
{ /* 96MHz */
|
||||
.pllm = 2,
|
||||
.plln = 16,
|
||||
.pllp = 0,
|
||||
.pllq = 4,
|
||||
.pllr = 2,
|
||||
.pll_source = RCC_PLLCFGR_PLLSRC_HSE,
|
||||
.hpre = RCC_CFGR_HPRE_NODIV,
|
||||
.ppre1 = RCC_CFGR_PPREx_NODIV,
|
||||
.ppre2 = RCC_CFGR_PPREx_NODIV,
|
||||
.vos_scale = PWR_SCALE1,
|
||||
.boost = false,
|
||||
.flash_config = FLASH_ACR_DCEN | FLASH_ACR_ICEN,
|
||||
.flash_waitstates = 3,
|
||||
.ahb_frequency = 96e6,
|
||||
.apb1_frequency = 96e6,
|
||||
.apb2_frequency = 96e6,
|
||||
},
|
||||
{ /* 170MHz */
|
||||
.pllm = 6,
|
||||
.plln = 85,
|
||||
.pllp = 0,
|
||||
.pllq = 0, /* USB requires CRS at this speed. */
|
||||
.pllr = 2,
|
||||
.pll_source = RCC_PLLCFGR_PLLSRC_HSE,
|
||||
.hpre = RCC_CFGR_HPRE_NODIV,
|
||||
.ppre1 = RCC_CFGR_PPREx_NODIV,
|
||||
.ppre2 = RCC_CFGR_PPREx_NODIV,
|
||||
.vos_scale = PWR_SCALE1,
|
||||
.boost = true,
|
||||
.flash_config = FLASH_ACR_DCEN | FLASH_ACR_ICEN,
|
||||
.flash_waitstates = 4,
|
||||
.ahb_frequency = 170e6,
|
||||
.apb1_frequency = 170e6,
|
||||
.apb2_frequency = 170e6,
|
||||
},
|
||||
};
|
||||
|
||||
void rcc_osc_ready_int_clear(enum rcc_osc osc)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user