From 4680aa659cc9deef619faf2b0a58f2a626c28e0c Mon Sep 17 00:00:00 2001
From: Jason Smith <jason.inet@gmail.com>
Date: Sun, 10 May 2020 23:12:11 -0700
Subject: [PATCH] EEPROM Flash Leveling enabled for more STM32F4 (#17948)

---
 Marlin/src/pins/stm32f4/pins_BTT_BTT002_V1_0.h  | 6 ++++++
 Marlin/src/pins/stm32f4/pins_BTT_GTR_V1_0.h     | 6 ++++++
 Marlin/src/pins/stm32f4/pins_BTT_SKR_PRO_V1_1.h | 6 ++++++
 Marlin/src/pins/stm32f4/pins_FYSETC_S6.h        | 2 ++
 4 files changed, 20 insertions(+)

diff --git a/Marlin/src/pins/stm32f4/pins_BTT_BTT002_V1_0.h b/Marlin/src/pins/stm32f4/pins_BTT_BTT002_V1_0.h
index 838a5e9447..ae4d611865 100644
--- a/Marlin/src/pins/stm32f4/pins_BTT_BTT002_V1_0.h
+++ b/Marlin/src/pins/stm32f4/pins_BTT_BTT002_V1_0.h
@@ -35,6 +35,12 @@
   #define FLASH_EEPROM_EMULATION                  // Use Flash-based EEPROM emulation
 #endif
 
+#if ENABLED(FLASH_EEPROM_EMULATION)
+  // Decrease delays and flash wear by spreading writes across the
+  // 128 kB sector allocated for EEPROM emulation.
+  #define FLASH_EEPROM_LEVELING
+#endif
+
 // Ignore temp readings during development.
 //#define BOGUS_TEMPERATURE_GRACE_PERIOD 2000
 
diff --git a/Marlin/src/pins/stm32f4/pins_BTT_GTR_V1_0.h b/Marlin/src/pins/stm32f4/pins_BTT_GTR_V1_0.h
index a61ef1afaf..ce3a282b5e 100644
--- a/Marlin/src/pins/stm32f4/pins_BTT_GTR_V1_0.h
+++ b/Marlin/src/pins/stm32f4/pins_BTT_GTR_V1_0.h
@@ -38,6 +38,12 @@
   //#define FLASH_EEPROM_EMULATION                // Use Flash-based EEPROM emulation
 #endif
 
+#if ENABLED(FLASH_EEPROM_EMULATION)
+  // Decrease delays and flash wear by spreading writes across the
+  // 128 kB sector allocated for EEPROM emulation.
+  #define FLASH_EEPROM_LEVELING
+#endif
+
 #define TP                                        // Enable to define servo and probe pins
 
 //
diff --git a/Marlin/src/pins/stm32f4/pins_BTT_SKR_PRO_V1_1.h b/Marlin/src/pins/stm32f4/pins_BTT_SKR_PRO_V1_1.h
index 8eadf523f3..3df81a7842 100644
--- a/Marlin/src/pins/stm32f4/pins_BTT_SKR_PRO_V1_1.h
+++ b/Marlin/src/pins/stm32f4/pins_BTT_SKR_PRO_V1_1.h
@@ -35,6 +35,12 @@
   #define FLASH_EEPROM_EMULATION                  // Use Flash-based EEPROM emulation
 #endif
 
+#if ENABLED(FLASH_EEPROM_EMULATION)
+  // Decrease delays and flash wear by spreading writes across the
+  // 128 kB sector allocated for EEPROM emulation.
+  #define FLASH_EEPROM_LEVELING
+#endif
+
 //
 // Servos
 //
diff --git a/Marlin/src/pins/stm32f4/pins_FYSETC_S6.h b/Marlin/src/pins/stm32f4/pins_FYSETC_S6.h
index e3f02bb73a..18a91d3ea0 100644
--- a/Marlin/src/pins/stm32f4/pins_FYSETC_S6.h
+++ b/Marlin/src/pins/stm32f4/pins_FYSETC_S6.h
@@ -47,6 +47,8 @@
 #endif
 
 #if ENABLED(FLASH_EEPROM_EMULATION)
+  // Decrease delays and flash wear by spreading writes across the
+  // 128 kB sector allocated for EEPROM emulation.
   #define FLASH_EEPROM_LEVELING
 #elif ENABLED(I2C_EEPROM)
   #undef E2END                                    // Defined in Arduino Core STM32 to be used with EEPROM emulation. This board uses a real EEPROM.