From dd64a4e73868027b44a018278039cc42a01e730b Mon Sep 17 00:00:00 2001
From: Drashna Jaelre <drashna@live.com>
Date: Mon, 4 Mar 2019 22:10:13 -0800
Subject: [PATCH] Init RGB Matrix EEPROM

I'm not sure how to check if it's the same as RGBLIGHT's EEPROM, but if you don't init it, it **will not** work properly until it is initialized.
---
 docs/feature_rgb_matrix.md | 4 ++--
 tmk_core/common/eeconfig.c | 5 +++--
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/docs/feature_rgb_matrix.md b/docs/feature_rgb_matrix.md
index e744ecc492..05c1ebba81 100644
--- a/docs/feature_rgb_matrix.md
+++ b/docs/feature_rgb_matrix.md
@@ -253,10 +253,10 @@ A similar function works in the keymap as `rgb_matrix_indicators_user`.
 The EEPROM for it is currently shared with the RGBLIGHT system (it's generally assumed only one RGB would be used at a time), but could be configured to use its own 32bit address with:
 
 ```C
-#define EECONFIG_RGB_MATRIX (uint32_t *)16
+#define EECONFIG_RGB_MATRIX (uint32_t *)28
 ```
 
-Where `16` is an unused index from `eeconfig.h`.
+Where `28` is an unused index from `eeconfig.h`.
 
 ## Suspended state
 
diff --git a/tmk_core/common/eeconfig.c b/tmk_core/common/eeconfig.c
index 9c1e3520ee..30dc7a48d4 100644
--- a/tmk_core/common/eeconfig.c
+++ b/tmk_core/common/eeconfig.c
@@ -47,6 +47,9 @@ void eeconfig_init_quantum(void) {
   eeprom_update_byte(EECONFIG_STENOMODE,      0);
   eeprom_update_dword(EECONFIG_HAPTIC,        0);
   eeprom_update_byte(EECONFIG_VELOCIKEY,      0);
+#ifdef EECONFIG_RGB_MATRIX
+  eeprom_update_dword(EECONFIG_RGB_MATRIX,    0);
+#endif
 
   eeconfig_init_kb();
 }
@@ -185,5 +188,3 @@ uint32_t eeconfig_read_haptic(void)      { return eeprom_read_dword(EECONFIG_HAP
  * FIXME: needs doc
  */
 void eeconfig_update_haptic(uint32_t val) { eeprom_update_dword(EECONFIG_HAPTIC, val); }
-
-