diff --git a/keyboards/4pplet/perk60_iso/rev_a/config.h b/keyboards/4pplet/perk60_iso/rev_a/config.h
index 53ff93cc1c5c..bd24723df085 100644
--- a/keyboards/4pplet/perk60_iso/rev_a/config.h
+++ b/keyboards/4pplet/perk60_iso/rev_a/config.h
@@ -36,8 +36,6 @@ along with this program. If not, see .
#define DRIVER_LED_TOTAL 62
#define ISSI_PWM_FREQUENCY 0b010
-#define STM32_HSECLK 8000000
-
#define RGB_MATRIX_STARTUP_VAL 80
#define RGB_MATRIX_KEYPRESSES
diff --git a/keyboards/4pplet/perk60_iso/rev_a/mcuconf.h b/keyboards/4pplet/perk60_iso/rev_a/mcuconf.h
index 97f2ee51ee08..dd68a8c1e778 100644
--- a/keyboards/4pplet/perk60_iso/rev_a/mcuconf.h
+++ b/keyboards/4pplet/perk60_iso/rev_a/mcuconf.h
@@ -22,19 +22,6 @@
#pragma once
#include_next
-#undef STM32_PLLM_VALUE
-#undef STM32_PLLN_VALUE
-#undef STM32_PLLP_VALUE
-#undef STM32_PLLQ_VALUE
-#undef STM32_PPRE1
-#undef STM32_PPRE2
-
-#define STM32_PLLM_VALUE 4
-#define STM32_PLLN_VALUE 168
-#define STM32_PLLP_VALUE 4
-#define STM32_PLLQ_VALUE 7
-#define STM32_PPRE1 STM32_PPRE1_DIV2
-#define STM32_PPRE2 STM32_PPRE2_DIV1
#undef STM32_I2C_USE_I2C1
#define STM32_I2C_USE_I2C1 TRUE
diff --git a/keyboards/4pplet/perk60_iso/rev_a/rules.mk b/keyboards/4pplet/perk60_iso/rev_a/rules.mk
index 697898ae8ebf..8182d9e7e262 100644
--- a/keyboards/4pplet/perk60_iso/rev_a/rules.mk
+++ b/keyboards/4pplet/perk60_iso/rev_a/rules.mk
@@ -1,5 +1,6 @@
# MCU name
MCU = STM32F411
+BOARD = GENERIC_STM32_F411XE
# Bootloader selection
BOOTLOADER = stm32-dfu
diff --git a/keyboards/acheron/apollo/87h/delta/config.h b/keyboards/acheron/apollo/87h/delta/config.h
index 1365b8177432..85909af20884 100644
--- a/keyboards/acheron/apollo/87h/delta/config.h
+++ b/keyboards/acheron/apollo/87h/delta/config.h
@@ -44,8 +44,6 @@ along with this program. If not, see .
#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE
-#define STM32_HSECLK 8000000
-
#define RGB_DI_PIN B15
#define DRIVER_LED_TOTAL 87
diff --git a/keyboards/acheron/apollo/87h/delta/mcuconf.h b/keyboards/acheron/apollo/87h/delta/mcuconf.h
index fb972b86adec..29a62a94c2d5 100644
--- a/keyboards/acheron/apollo/87h/delta/mcuconf.h
+++ b/keyboards/acheron/apollo/87h/delta/mcuconf.h
@@ -17,19 +17,6 @@
#pragma once
#include_next
-#undef STM32_PLLM_VALUE
-#undef STM32_PLLN_VALUE
-#undef STM32_PLLP_VALUE
-#undef STM32_PLLQ_VALUE
-#undef STM32_PPRE1
-#undef STM32_PPRE2
-
-#define STM32_PLLM_VALUE 4
-#define STM32_PLLN_VALUE 168
-#define STM32_PLLP_VALUE 4
-#define STM32_PLLQ_VALUE 7
-#define STM32_PPRE1 STM32_PPRE1_DIV2
-#define STM32_PPRE2 STM32_PPRE2_DIV1
#undef STM32_I2C_USE_I2C1
#define STM32_I2C_USE_I2C1 TRUE
diff --git a/keyboards/acheron/apollo/87h/delta/rules.mk b/keyboards/acheron/apollo/87h/delta/rules.mk
index 1711dd486d78..c51942540807 100644
--- a/keyboards/acheron/apollo/87h/delta/rules.mk
+++ b/keyboards/acheron/apollo/87h/delta/rules.mk
@@ -1,5 +1,6 @@
# MCU name
MCU = STM32F401
+BOARD = GENERIC_STM32_F401XC
# Bootloader selection
BOOTLOADER = stm32-dfu
diff --git a/keyboards/acheron/apollo/87htsc/config.h b/keyboards/acheron/apollo/87htsc/config.h
index 0cb3d3812805..30021a51b95e 100644
--- a/keyboards/acheron/apollo/87htsc/config.h
+++ b/keyboards/acheron/apollo/87htsc/config.h
@@ -40,8 +40,6 @@ along with this program. If not, see .
#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE
-#define STM32_HSECLK 8000000
-
#define RGB_DI_PIN B15
#define DRIVER_LED_TOTAL 86
diff --git a/keyboards/acheron/apollo/87htsc/mcuconf.h b/keyboards/acheron/apollo/87htsc/mcuconf.h
index fb972b86adec..29a62a94c2d5 100644
--- a/keyboards/acheron/apollo/87htsc/mcuconf.h
+++ b/keyboards/acheron/apollo/87htsc/mcuconf.h
@@ -17,19 +17,6 @@
#pragma once
#include_next
-#undef STM32_PLLM_VALUE
-#undef STM32_PLLN_VALUE
-#undef STM32_PLLP_VALUE
-#undef STM32_PLLQ_VALUE
-#undef STM32_PPRE1
-#undef STM32_PPRE2
-
-#define STM32_PLLM_VALUE 4
-#define STM32_PLLN_VALUE 168
-#define STM32_PLLP_VALUE 4
-#define STM32_PLLQ_VALUE 7
-#define STM32_PPRE1 STM32_PPRE1_DIV2
-#define STM32_PPRE2 STM32_PPRE2_DIV1
#undef STM32_I2C_USE_I2C1
#define STM32_I2C_USE_I2C1 TRUE
diff --git a/keyboards/acheron/apollo/87htsc/rules.mk b/keyboards/acheron/apollo/87htsc/rules.mk
index 2d2908dc6ca3..696b52991920 100644
--- a/keyboards/acheron/apollo/87htsc/rules.mk
+++ b/keyboards/acheron/apollo/87htsc/rules.mk
@@ -1,5 +1,6 @@
# MCU name
MCU = STM32F401
+BOARD = GENERIC_STM32_F401XC
# Bootloader selection
BOOTLOADER = stm32-dfu
diff --git a/keyboards/acheron/apollo/88htsc/config.h b/keyboards/acheron/apollo/88htsc/config.h
index 7df9fc3e6b6e..5df3628db2e8 100644
--- a/keyboards/acheron/apollo/88htsc/config.h
+++ b/keyboards/acheron/apollo/88htsc/config.h
@@ -40,8 +40,6 @@ along with this program. If not, see .
#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE
-#define STM32_HSECLK 8000000
-
#define RGB_DI_PIN B15
#define DRIVER_LED_TOTAL 87
diff --git a/keyboards/acheron/apollo/88htsc/mcuconf.h b/keyboards/acheron/apollo/88htsc/mcuconf.h
index fb972b86adec..29a62a94c2d5 100644
--- a/keyboards/acheron/apollo/88htsc/mcuconf.h
+++ b/keyboards/acheron/apollo/88htsc/mcuconf.h
@@ -17,19 +17,6 @@
#pragma once
#include_next
-#undef STM32_PLLM_VALUE
-#undef STM32_PLLN_VALUE
-#undef STM32_PLLP_VALUE
-#undef STM32_PLLQ_VALUE
-#undef STM32_PPRE1
-#undef STM32_PPRE2
-
-#define STM32_PLLM_VALUE 4
-#define STM32_PLLN_VALUE 168
-#define STM32_PLLP_VALUE 4
-#define STM32_PLLQ_VALUE 7
-#define STM32_PPRE1 STM32_PPRE1_DIV2
-#define STM32_PPRE2 STM32_PPRE2_DIV1
#undef STM32_I2C_USE_I2C1
#define STM32_I2C_USE_I2C1 TRUE
diff --git a/keyboards/acheron/apollo/88htsc/rules.mk b/keyboards/acheron/apollo/88htsc/rules.mk
index 1711dd486d78..c51942540807 100644
--- a/keyboards/acheron/apollo/88htsc/rules.mk
+++ b/keyboards/acheron/apollo/88htsc/rules.mk
@@ -1,5 +1,6 @@
# MCU name
MCU = STM32F401
+BOARD = GENERIC_STM32_F401XC
# Bootloader selection
BOOTLOADER = stm32-dfu
diff --git a/keyboards/acheron/athena/alpha/config.h b/keyboards/acheron/athena/alpha/config.h
index fca0450cefb6..99dbd76c6fbd 100644
--- a/keyboards/acheron/athena/alpha/config.h
+++ b/keyboards/acheron/athena/alpha/config.h
@@ -41,8 +41,6 @@ along with this program. If not, see .
#define BREATHING_PERIOD 5
#define BACKLIGHT_ON_STATE 0
-#define STM32_HSECLK 8000000
-
#define RGB_DI_PIN B15
#define RGBLED_NUM 34
#define RGBLIGHT_EFFECT_BREATHING
diff --git a/keyboards/acheron/athena/alpha/mcuconf.h b/keyboards/acheron/athena/alpha/mcuconf.h
index 35d7e95f57e0..63f1e30e6410 100644
--- a/keyboards/acheron/athena/alpha/mcuconf.h
+++ b/keyboards/acheron/athena/alpha/mcuconf.h
@@ -17,19 +17,6 @@
#pragma once
#include_next
-#undef STM32_PLLM_VALUE
-#undef STM32_PLLN_VALUE
-#undef STM32_PLLP_VALUE
-#undef STM32_PLLQ_VALUE
-#undef STM32_PPRE1
-#undef STM32_PPRE2
-
-#define STM32_PLLM_VALUE 4
-#define STM32_PLLN_VALUE 96
-#define STM32_PLLP_VALUE 2
-#define STM32_PLLQ_VALUE 4
-#define STM32_PPRE1 STM32_PPRE1_DIV2
-#define STM32_PPRE2 STM32_PPRE2_DIV1
#undef STM32_I2C_USE_I2C1
#define STM32_I2C_USE_I2C1 TRUE
diff --git a/keyboards/acheron/athena/alpha/rules.mk b/keyboards/acheron/athena/alpha/rules.mk
index 246db1d2e55f..7711254bbe34 100644
--- a/keyboards/acheron/athena/alpha/rules.mk
+++ b/keyboards/acheron/athena/alpha/rules.mk
@@ -1,4 +1,6 @@
+# MCU name
MCU = STM32F411
+BOARD = GENERIC_STM32_F411XE
# Bootloader selection
BOOTLOADER = stm32-dfu
diff --git a/keyboards/acheron/athena/beta/config.h b/keyboards/acheron/athena/beta/config.h
index e9f653e3c718..4b2ae3f06b83 100644
--- a/keyboards/acheron/athena/beta/config.h
+++ b/keyboards/acheron/athena/beta/config.h
@@ -40,8 +40,6 @@ along with this program. If not, see .
#define BACKLIGHT_BREATHING
#define BREATHING_PERIOD 5
-#define STM32_HSECLK 8000000
-
#define RGB_DI_PIN B15
#define RGBLED_NUM 34
#define RGBLIGHT_EFFECT_BREATHING
diff --git a/keyboards/acheron/athena/beta/mcuconf.h b/keyboards/acheron/athena/beta/mcuconf.h
index 2f3b3e812a3d..63f1e30e6410 100644
--- a/keyboards/acheron/athena/beta/mcuconf.h
+++ b/keyboards/acheron/athena/beta/mcuconf.h
@@ -17,19 +17,6 @@
#pragma once
#include_next
-#undef STM32_PLLM_VALUE
-#undef STM32_PLLN_VALUE
-#undef STM32_PLLP_VALUE
-#undef STM32_PLLQ_VALUE
-#undef STM32_PPRE1
-#undef STM32_PPRE2
-
-#define STM32_PLLM_VALUE 4
-#define STM32_PLLN_VALUE 168
-#define STM32_PLLP_VALUE 4
-#define STM32_PLLQ_VALUE 7
-#define STM32_PPRE1 STM32_PPRE1_DIV2
-#define STM32_PPRE2 STM32_PPRE2_DIV1
#undef STM32_I2C_USE_I2C1
#define STM32_I2C_USE_I2C1 TRUE
diff --git a/keyboards/acheron/athena/beta/rules.mk b/keyboards/acheron/athena/beta/rules.mk
index 388b1e6a96d5..81bbce68c194 100644
--- a/keyboards/acheron/athena/beta/rules.mk
+++ b/keyboards/acheron/athena/beta/rules.mk
@@ -1,4 +1,5 @@
MCU = STM32F401
+BOARD = GENERIC_STM32_F401XC
# Bootloader selection
BOOTLOADER = stm32-dfu
diff --git a/keyboards/mechwild/puckbuddy/rules.mk b/keyboards/mechwild/puckbuddy/rules.mk
index b7699320647b..a2837f921673 100644
--- a/keyboards/mechwild/puckbuddy/rules.mk
+++ b/keyboards/mechwild/puckbuddy/rules.mk
@@ -1,5 +1,6 @@
# MCU name
MCU = STM32F401
+BOARD = BLACKPILL_STM32_F401
# Bootloader selection
BOOTLOADER = stm32-dfu
diff --git a/keyboards/mlego/m48/rev1/rules.mk b/keyboards/mlego/m48/rev1/rules.mk
index da2734ff63c7..8ddaf1d5bea6 100644
--- a/keyboards/mlego/m48/rev1/rules.mk
+++ b/keyboards/mlego/m48/rev1/rules.mk
@@ -1,5 +1,6 @@
# MCU name
MCU = STM32F401
+BOARD = BLACKPILL_STM32_F401
# Bootloader selection
BOOTLOADER = tinyuf2
diff --git a/keyboards/mlego/m60/rev1/rules.mk b/keyboards/mlego/m60/rev1/rules.mk
index 6b119a1f3774..4e071f302fe5 100644
--- a/keyboards/mlego/m60/rev1/rules.mk
+++ b/keyboards/mlego/m60/rev1/rules.mk
@@ -1,5 +1,6 @@
# MCU name
MCU = STM32F401
+BOARD = BLACKPILL_STM32_F401
# Bootloader selection
BOOTLOADER = tinyuf2
diff --git a/keyboards/mlego/m65/rev3/rules.mk b/keyboards/mlego/m65/rev3/rules.mk
index 558accd5b15c..59eebe9489a5 100644
--- a/keyboards/mlego/m65/rev3/rules.mk
+++ b/keyboards/mlego/m65/rev3/rules.mk
@@ -1,5 +1,6 @@
# MCU name
MCU = STM32F401
+BOARD = BLACKPILL_STM32_F401
# Bootloader selection
BOOTLOADER = tinyuf2
diff --git a/keyboards/mlego/m65/rev4/rules.mk b/keyboards/mlego/m65/rev4/rules.mk
index bf4285383a0b..2a7cc748894f 100644
--- a/keyboards/mlego/m65/rev4/rules.mk
+++ b/keyboards/mlego/m65/rev4/rules.mk
@@ -1,5 +1,6 @@
# MCU name
MCU = STM32F401
+BOARD = BLACKPILL_STM32_F401
# Bootloader selection
BOOTLOADER = tinyuf2
diff --git a/keyboards/yandrstudio/nz64/rules.mk b/keyboards/yandrstudio/nz64/rules.mk
index 298305d3f9db..8debea0e6630 100644
--- a/keyboards/yandrstudio/nz64/rules.mk
+++ b/keyboards/yandrstudio/nz64/rules.mk
@@ -1,5 +1,6 @@
# MCU name
MCU = STM32F401
+BOARD = GENERIC_STM32_F401XC
# Bootloader selection
BOOTLOADER = stm32-dfu
diff --git a/keyboards/yandrstudio/zhou65/rules.mk b/keyboards/yandrstudio/zhou65/rules.mk
index 35a39a549a60..0a84b0a1fe49 100644
--- a/keyboards/yandrstudio/zhou65/rules.mk
+++ b/keyboards/yandrstudio/zhou65/rules.mk
@@ -1,5 +1,6 @@
# MCU name
MCU = STM32F401
+BOARD = GENERIC_STM32_F401XC
# Bootloader selection
BOOTLOADER = stm32-dfu