Skip to content

Commit 66555da

Browse files
committed
Fix clock speed freq due to masked bits.
1 parent 3766960 commit 66555da

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

hw/arm/prusa/stm32f407/stm32f2xx_rcc.c

+3-3
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ static const stm32_reginfo_t stm32f407_rcc_reginfo[RI_END] =
141141
{
142142
[RI_CR] = {.mask = 0x0F0FFFFB, .reset_val = 0x83},
143143

144-
[RI_PLLCFGR] = {.mask = 0x7FFF, .reset_val = 0x24003010, .unimp_mask = 0x7FFF}, //
144+
[RI_PLLCFGR] = {.mask = 0xF437FFF, .reset_val = 0x24003010, .unimp_mask = 0xF437FFF}, //
145145
[RI_CFGR] = {.mask = 0xFFFF7F3F, .unimp_mask = 0xFFFF0000}, //
146146
[RI_CIR] = {.mask = 0xFF3F7F73, .reset_val = 0x1000, .unimp_mask = UINT32_MAX}, //
147147
[RI_AHB1RSTR] = {.mask = 0x226011FF},
@@ -485,7 +485,7 @@ static void stm32_rcc_hclk_upd_irq_handler(void *opaque, int n, int level)
485485
hclk_freq = clktree_get_output_freq(&s->HCLK);
486486

487487
/* Only update the scales if the frequency is not zero. */
488-
clock_set_hz(s->parent.REFCLK, hclk_freq);
488+
clock_set_hz(s->parent.REFCLK, hclk_freq / 8U);
489489
clock_propagate(s->parent.REFCLK);
490490
}
491491

@@ -509,7 +509,7 @@ static void stm32_rcc_realize(DeviceState *dev, Error **errp)
509509

510510
clktree_create_clk(&s->PLLM, "PLLM", 1, 16, true, CLKTREE_NO_MAX_FREQ, 0, &s->parent.HSICLK,
511511
&s->parent.HSECLK, NULL);
512-
clktree_create_clk(&s->PLLCLK, "PLLCLK", 1, 2, false, 120000000, 0, &s->PLLM, NULL);
512+
clktree_create_clk(&s->PLLCLK, "PLLCLK", 1, 2, false, 168000000, 0, &s->PLLM, NULL);
513513
clktree_create_clk(&s->PLL48CLK, "PLL48CLK", 1, 1, false, 48000000, 0, &s->PLLM, NULL);
514514

515515
clktree_create_clk(&s->PLLI2SM, "PLLI2SM", 1, 16, true, CLKTREE_NO_MAX_FREQ, 0, &s->PLLM, NULL);

0 commit comments

Comments
 (0)