diff --git a/docs/feature_rgb_matrix.md b/docs/feature_rgb_matrix.md
index 25ba3ffe32..925c9de6e4 100644
--- a/docs/feature_rgb_matrix.md
+++ b/docs/feature_rgb_matrix.md
@@ -250,6 +250,7 @@ You can use up to 2 AW20216 IC's. Do not specify `DRIVER_<N>_xxx` defines for IC
 | `DRIVER_LED_TOTAL` | (Required) How many RGB lights are present across all drivers | |
 | `AW_SCALING_MAX` | (Optional) LED current scaling value (0-255, higher values mean LED is brighter at full PWM) | 150 |
 | `AW_GLOBAL_CURRENT_MAX` | (Optional) Driver global current limit (0-255, higher values means the driver may consume more power) | 150 |
+| `AW_SPI_DIVISOR` | (Optional) Clock divisor for SPI communication (powers of 2, smaller numbers means faster communication, should not be less than 4) | 4 |
 
 Here is an example using 2 drivers.
 
diff --git a/drivers/awinic/aw20216.c b/drivers/awinic/aw20216.c
index 236c42a3cd..269bb3a59a 100644
--- a/drivers/awinic/aw20216.c
+++ b/drivers/awinic/aw20216.c
@@ -59,13 +59,17 @@
 #    define DRIVER_1_EN C13
 #endif
 
+#ifndef AW_SPI_DIVISOR
+#    define AW_SPI_DIVISOR 4
+#endif
+
 uint8_t g_spi_transfer_buffer[20] = {0};
 aw_led  g_pwm_buffer[DRIVER_LED_TOTAL];
 bool    g_pwm_buffer_update_required[DRIVER_LED_TOTAL];
 
 bool AW20216_write_register(pin_t slave_pin, uint8_t page, uint8_t reg, uint8_t data) {
     // Do we need to call spi_stop() if this fails?
-    if (!spi_start(slave_pin, false, 0, 16)) {
+    if (!spi_start(slave_pin, false, 0, AW_SPI_DIVISOR)) {
         return false;
     }