diff --git a/qmk_firmware b/qmk_firmware
index 1355eb49..5d76c528 160000
--- a/qmk_firmware
+++ b/qmk_firmware
@@ -1 +1 @@
-Subproject commit 1355eb493fd3a8ad4b88773d230d29326f326187
+Subproject commit 5d76c5280dc0aff398cdce19fa54d0e0725c418d
diff --git a/qmk_porting/common_features.cmake b/qmk_porting/common_features.cmake
index 29e1b7ad..6a1a404d 100644
--- a/qmk_porting/common_features.cmake
+++ b/qmk_porting/common_features.cmake
@@ -209,6 +209,7 @@ if(RGB_MATRIX_ENABLE)
"${QMK_BASE_DIR}/quantum/rgb_matrix/*.c"
"${QMK_BASE_DIR}/quantum/color.c"
"${QMK_BASE_DIR}/quantum/process_keycode/process_rgb.c"
+ "${QMK_BASE_DIR}/quantum/process_keycode/process_rgb_matrix.c"
"${QMK_BASE_DIR}/lib/lib8tion/*.c"
)
set(CIE1931_CURVE ON CACHE BOOL "KB")
diff --git a/qmk_porting/keyboards/AM78-2/qmk_config.h b/qmk_porting/keyboards/AM78-2/qmk_config.h
index e9c183ff..2ababc43 100644
--- a/qmk_porting/keyboards/AM78-2/qmk_config.h
+++ b/qmk_porting/keyboards/AM78-2/qmk_config.h
@@ -54,11 +54,11 @@ along with this program. If not, see .
#define BATTERY_INDICATOR_END_INDEX 0
#ifdef ENCODER_ENABLE
-#define ENCODERS_PAD_A \
+#define ENCODER_A_PINS \
{ \
B2 \
}
-#define ENCODERS_PAD_B \
+#define ENCODER_B_PINS \
{ \
B1 \
}
diff --git a/qmk_porting/keyboards/AM78/qmk_config.h b/qmk_porting/keyboards/AM78/qmk_config.h
index bdf07039..c8fda662 100755
--- a/qmk_porting/keyboards/AM78/qmk_config.h
+++ b/qmk_porting/keyboards/AM78/qmk_config.h
@@ -54,11 +54,11 @@ along with this program. If not, see .
#define BATTERY_INDICATOR_END_INDEX 0
#ifdef ENCODER_ENABLE
-#define ENCODERS_PAD_A \
+#define ENCODER_A_PINS \
{ \
B2 \
}
-#define ENCODERS_PAD_B \
+#define ENCODER_B_PINS \
{ \
B1 \
}
diff --git a/qmk_porting/keyboards/ClassPad/qmk_config.h b/qmk_porting/keyboards/ClassPad/qmk_config.h
index 1da2813e..34b0850e 100644
--- a/qmk_porting/keyboards/ClassPad/qmk_config.h
+++ b/qmk_porting/keyboards/ClassPad/qmk_config.h
@@ -58,11 +58,11 @@ along with this program. If not, see .
#define BATTERY_INDICATOR_END_INDEX 3
#ifdef ENCODER_ENABLE
-#define ENCODERS_PAD_A \
+#define ENCODER_A_PINS \
{ \
A3, A14 \
}
-#define ENCODERS_PAD_B \
+#define ENCODER_B_PINS \
{ \
A15, A13 \
}
diff --git a/qmk_porting/keyboards/Melting65/qmk_config.h b/qmk_porting/keyboards/Melting65/qmk_config.h
index 52c38b14..e3316cc0 100755
--- a/qmk_porting/keyboards/Melting65/qmk_config.h
+++ b/qmk_porting/keyboards/Melting65/qmk_config.h
@@ -132,11 +132,11 @@ along with this program. If not, see .
// #define NO_ACTION_ONESHOT
#ifdef ENCODER_ENABLE
-#define ENCODERS_PAD_A \
+#define ENCODER_A_PINS \
{ \
B22 \
}
-#define ENCODERS_PAD_B \
+#define ENCODER_B_PINS \
{ \
B0 \
}
diff --git a/qmk_porting/keyboards/TychePad/qmk_config.h b/qmk_porting/keyboards/TychePad/qmk_config.h
index 63630d3b..cf8a5b41 100755
--- a/qmk_porting/keyboards/TychePad/qmk_config.h
+++ b/qmk_porting/keyboards/TychePad/qmk_config.h
@@ -43,11 +43,11 @@ along with this program. If not, see .
#define HOLD_ON_OTHER_KEY_PRESS
#ifdef ENCODER_ENABLE
-#define ENCODERS_PAD_A \
+#define ENCODER_A_PINS \
{ \
B2 \
}
-#define ENCODERS_PAD_B \
+#define ENCODER_B_PINS \
{ \
B1 \
}
diff --git a/qmk_porting/keyboards/m2wired/qmk_config.h b/qmk_porting/keyboards/m2wired/qmk_config.h
index 336bec1e..7fd202db 100755
--- a/qmk_porting/keyboards/m2wired/qmk_config.h
+++ b/qmk_porting/keyboards/m2wired/qmk_config.h
@@ -46,11 +46,11 @@ along with this program. If not, see .
#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP FALSE
#ifdef ENCODER_ENABLE
-#define ENCODERS_PAD_A \
+#define ENCODER_A_PINS \
{ \
B5 \
}
-#define ENCODERS_PAD_B \
+#define ENCODER_B_PINS \
{ \
B6 \
}
diff --git a/qmk_porting/keyboards/m8rev1/qmk_config.h b/qmk_porting/keyboards/m8rev1/qmk_config.h
index bd280e5e..e9d98aec 100644
--- a/qmk_porting/keyboards/m8rev1/qmk_config.h
+++ b/qmk_porting/keyboards/m8rev1/qmk_config.h
@@ -23,11 +23,11 @@
#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP FALSE
#ifdef ENCODER_ENABLE
-#define ENCODERS_PAD_A \
+#define ENCODER_A_PINS \
{ \
A10 \
}
-#define ENCODERS_PAD_B \
+#define ENCODER_B_PINS \
{ \
A11 \
}
diff --git a/qmk_porting/platforms/ch58x/eeprom/eeprom_ch58x_custom.c b/qmk_porting/platforms/ch58x/eeprom/eeprom_ch58x_custom.c
index c9ca6c7f..abd9a01f 100644
--- a/qmk_porting/platforms/ch58x/eeprom/eeprom_ch58x_custom.c
+++ b/qmk_porting/platforms/ch58x/eeprom/eeprom_ch58x_custom.c
@@ -89,3 +89,9 @@ void eeprom_write_block(const void *buf, void *addr, size_t len)
EEPROM_WRITE(QMK_EEPROM_START_POSITION + offset / EEPROM_PAGE_SIZE * EEPROM_PAGE_SIZE, buffer, sizeof(buffer));
}
}
+
+void eeprom_driver_format(bool erase)
+{
+ (void)erase;
+ eeprom_driver_erase();
+}
\ No newline at end of file
diff --git a/qmk_porting/platforms/ch58x/platform.c b/qmk_porting/platforms/ch58x/platform.c
index b07573ac..7bc48398 100644
--- a/qmk_porting/platforms/ch58x/platform.c
+++ b/qmk_porting/platforms/ch58x/platform.c
@@ -46,7 +46,7 @@ bool shutdown_kb(bool jump_to_bootloader)
#endif
#ifdef ENCODER_ENABLE
- pin_t encoders_pad_a[] = ENCODERS_PAD_A, encoders_pad_b[] = ENCODERS_PAD_B;
+ pin_t encoders_pad_a[] = ENCODER_A_PINS, encoders_pad_b[] = ENCODER_B_PINS;
for (uint8_t i = 0; i < sizeof(encoders_pad_a) / sizeof(encoders_pad_a[0]); i++) {
gpio_set_pin_input_low(encoders_pad_a[i]);