diff --git a/Marlin/src/HAL/DUE/EepromEmulation.cpp b/Marlin/src/HAL/DUE/EepromEmulation.cpp
index 66af50cfd2..8be9affa68 100644
--- a/Marlin/src/HAL/DUE/EepromEmulation.cpp
+++ b/Marlin/src/HAL/DUE/EepromEmulation.cpp
@@ -992,7 +992,7 @@ void eeprom_write_byte(uint8_t* addr, uint8_t value) {
ee_Write((uint32_t)addr, value);
}
-void eeprom_update_block(const void* __src, void* __dst, size_t __n) {
+void eeprom_update_block(const void *__src, void *__dst, size_t __n) {
uint8_t* dst = (uint8_t*)__dst;
const uint8_t* src = (const uint8_t*)__src;
while (__n--) {
@@ -1002,7 +1002,7 @@ void eeprom_update_block(const void* __src, void* __dst, size_t __n) {
}
}
-void eeprom_read_block(void* __dst, const void* __src, size_t __n) {
+void eeprom_read_block(void *__dst, const void *__src, size_t __n) {
uint8_t* dst = (uint8_t*)__dst;
uint8_t* src = (uint8_t*)__src;
while (__n--) {
diff --git a/Marlin/src/HAL/LPC1768/eeprom_wired.cpp b/Marlin/src/HAL/LPC1768/eeprom_wired.cpp
new file mode 100644
index 0000000000..3395601a24
--- /dev/null
+++ b/Marlin/src/HAL/LPC1768/eeprom_wired.cpp
@@ -0,0 +1,86 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ */
+
+/**
+ * I2C/SPI EEPROM interface for LPC1768
+ */
+
+#ifdef TARGET_LPC1768
+
+#include "../../inc/MarlinConfig.h"
+
+#if USE_WIRED_EEPROM
+
+#include "../shared/eeprom_api.h"
+#include
+
+#ifndef EEPROM_SIZE
+ #define EEPROM_SIZE 0x8000 // 32kB
+#endif
+
+bool PersistentStore::access_start() {
+ TERN_(SPI_EEPROM, eeprom_init());
+ return true;
+}
+
+bool PersistentStore::access_finish() { return true; }
+
+bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, uint16_t *crc) {
+ while (size--) {
+ uint8_t v = *value;
+
+ // EEPROM has only ~100,000 write cycles,
+ // so only write bytes that have changed!
+ uint8_t * const p = (uint8_t * const)pos;
+ if (v != eeprom_read_byte(p)) {
+ eeprom_write_byte(p, v);
+ if (eeprom_read_byte(p) != v) {
+ SERIAL_ECHO_MSG(STR_ERR_EEPROM_WRITE);
+ return true;
+ }
+ }
+
+ crc16(crc, &v, 1);
+ pos++;
+ value++;
+ };
+
+ return false;
+}
+
+bool PersistentStore::read_data(int &pos, uint8_t* value, size_t size, uint16_t *crc, const bool writing/*=true*/) {
+ do {
+ // Read from external EEPROM
+ const uint8_t c = eeprom_read_byte((uint8_t*)pos);
+
+ if (writing) *value = c;
+ crc16(crc, &c, 1);
+ pos++;
+ value++;
+ } while (--size);
+ return false;
+}
+
+size_t PersistentStore::capacity() { return EEPROM_SIZE; }
+
+#endif // USE_WIRED_EEPROM
+#endif // TARGET_LPC1768
diff --git a/Marlin/src/HAL/STM32/eeprom_wired.cpp b/Marlin/src/HAL/STM32/eeprom_wired.cpp
index cd0f93e8d8..b83a2eb2bb 100644
--- a/Marlin/src/HAL/STM32/eeprom_wired.cpp
+++ b/Marlin/src/HAL/STM32/eeprom_wired.cpp
@@ -28,13 +28,8 @@
#include "../shared/eeprom_api.h"
-bool PersistentStore::access_start() {
- return true;
-}
-
-bool PersistentStore::access_finish() {
- return true;
-}
+bool PersistentStore::access_start() { return true; }
+bool PersistentStore::access_finish() { return true; }
bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, uint16_t *crc) {
while (size--) {
@@ -84,13 +79,7 @@ bool PersistentStore::read_data(int &pos, uint8_t* value, size_t size, uint16_t
}
size_t PersistentStore::capacity() {
- return (
- #if USE_WIRED_EEPROM
- E2END + 1
- #else
- 4096 // 4kB
- #endif
- );
+ return TERN(USE_WIRED_EEPROM, E2END + 1, 4096); // 4K for emulated
}
#endif // USE_WIRED_EEPROM || SRAM_EEPROM_EMULATION
diff --git a/Marlin/src/HAL/STM32/inc/Conditionals_post.h b/Marlin/src/HAL/STM32/inc/Conditionals_post.h
index 32ad3a57b9..27e814a0a6 100644
--- a/Marlin/src/HAL/STM32/inc/Conditionals_post.h
+++ b/Marlin/src/HAL/STM32/inc/Conditionals_post.h
@@ -21,7 +21,7 @@
*/
#pragma once
-// If no real EEPROM, Flash emulation, or SRAM emulation is available fall back to SD emulation
+// If no real or emulated EEPROM selected, fall back to SD emulation
#if USE_FALLBACK_EEPROM
#define SDCARD_EEPROM_EMULATION
#endif
diff --git a/Marlin/src/HAL/STM32_F4_F7/EmulatedEeprom.cpp b/Marlin/src/HAL/STM32_F4_F7/EmulatedEeprom.cpp
index cc1a1bb01e..3249ef2b7c 100644
--- a/Marlin/src/HAL/STM32_F4_F7/EmulatedEeprom.cpp
+++ b/Marlin/src/HAL/STM32_F4_F7/EmulatedEeprom.cpp
@@ -80,7 +80,7 @@ void eeprom_write_byte(uint8_t *pos, unsigned char value) {
HAL_FLASH_Unlock();
__HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_EOP | FLASH_FLAG_OPERR | FLASH_FLAG_WRPERR |FLASH_FLAG_PGAERR | FLASH_FLAG_PGPERR | FLASH_FLAG_PGSERR);
- uint16_t eeprom_address = unsigned(pos);
+ const unsigned eeprom_address = (unsigned)pos;
if (EE_WriteVariable(eeprom_address, uint16_t(value)) != EE_OK)
for (;;) HAL_Delay(1); // Spin forever until watchdog reset
@@ -91,7 +91,7 @@ uint8_t eeprom_read_byte(uint8_t *pos) {
eeprom_init();
uint16_t data = 0xFF;
- uint16_t eeprom_address = unsigned(pos);
+ const unsigned eeprom_address = (unsigned)pos;
(void)EE_ReadVariable(eeprom_address, &data); // Data unchanged on error
return uint8_t(data);
@@ -101,7 +101,7 @@ void eeprom_read_block(void *__dst, const void *__src, size_t __n) {
eeprom_init();
uint16_t data = 0xFF;
- uint16_t eeprom_address = unsigned(__src);
+ const unsigned eeprom_address = (unsigned)__src;
LOOP_L_N(c, __n) {
EE_ReadVariable(eeprom_address+c, &data);
*((uint8_t*)__dst + c) = data;
diff --git a/Marlin/src/HAL/STM32_F4_F7/inc/Conditionals_post.h b/Marlin/src/HAL/STM32_F4_F7/inc/Conditionals_post.h
index d21624955e..a96352376e 100644
--- a/Marlin/src/HAL/STM32_F4_F7/inc/Conditionals_post.h
+++ b/Marlin/src/HAL/STM32_F4_F7/inc/Conditionals_post.h
@@ -26,4 +26,5 @@
#undef SRAM_EEPROM_EMULATION
#undef SDCARD_EEPROM_EMULATION
#define FLASH_EEPROM_EMULATION
+ #warning "Forcing use of FLASH_EEPROM_EMULATION."
#endif
diff --git a/Marlin/src/HAL/shared/eeprom_i2c.cpp b/Marlin/src/HAL/shared/eeprom_i2c.cpp
index 8ce3b88c48..cc60c8d196 100644
--- a/Marlin/src/HAL/shared/eeprom_i2c.cpp
+++ b/Marlin/src/HAL/shared/eeprom_i2c.cpp
@@ -35,44 +35,50 @@
#include "../HAL.h"
#include
+#ifndef EEPROM_WRITE_DELAY
+ #define EEPROM_WRITE_DELAY 5
+#endif
+
// ------------------------
// Private Variables
// ------------------------
-static constexpr uint8_t eeprom_device_address = I2C_ADDRESS(0x50);
+#ifndef EEPROM_DEVICE_ADDRESS
+ #define EEPROM_DEVICE_ADDRESS 0x50
+#endif
+
+static constexpr uint8_t eeprom_device_address = I2C_ADDRESS(EEPROM_DEVICE_ADDRESS);
// ------------------------
// Public functions
// ------------------------
-static void eeprom_init() {
- Wire.begin();
-}
+static void eeprom_init() { Wire.begin(); }
void eeprom_write_byte(uint8_t *pos, unsigned char value) {
- unsigned eeprom_address = (unsigned) pos;
-
- eeprom_init();
+ const unsigned eeprom_address = (unsigned)pos;
Wire.beginTransmission(eeprom_device_address);
- Wire.write((int)(eeprom_address >> 8)); // MSB
- Wire.write((int)(eeprom_address & 0xFF)); // LSB
+ Wire.write(int(eeprom_address >> 8)); // MSB
+ Wire.write(int(eeprom_address & 0xFF)); // LSB
Wire.write(value);
Wire.endTransmission();
// wait for write cycle to complete
// this could be done more efficiently with "acknowledge polling"
- delay(5);
+ delay(EEPROM_WRITE_DELAY);
}
// WARNING: address is a page address, 6-bit end will wrap around
// also, data can be maximum of about 30 bytes, because the Wire library has a buffer of 32 bytes
-void eeprom_update_block(const void *pos, void* eeprom_address, size_t n) {
+void eeprom_update_block(const void *pos, void *__dst, size_t n) {
+ const unsigned eeprom_address = (unsigned)__dst;
+
eeprom_init();
Wire.beginTransmission(eeprom_device_address);
- Wire.write((int)((unsigned)eeprom_address >> 8)); // MSB
- Wire.write((int)((unsigned)eeprom_address & 0xFF)); // LSB
+ Wire.write(int(eeprom_address >> 8)); // MSB
+ Wire.write(int(eeprom_address & 0xFF)); // LSB
Wire.endTransmission();
uint8_t *ptr = (uint8_t*)pos;
@@ -83,37 +89,37 @@ void eeprom_update_block(const void *pos, void* eeprom_address, size_t n) {
if (flag) {
Wire.beginTransmission(eeprom_device_address);
- Wire.write((int)((unsigned)eeprom_address >> 8)); // MSB
- Wire.write((int)((unsigned)eeprom_address & 0xFF)); // LSB
+ Wire.write(int(eeprom_address >> 8)); // MSB
+ Wire.write(int(eeprom_address & 0xFF)); // LSB
Wire.write((uint8_t*)pos, n);
Wire.endTransmission();
// wait for write cycle to complete
// this could be done more efficiently with "acknowledge polling"
- delay(5);
+ delay(EEPROM_WRITE_DELAY);
}
}
uint8_t eeprom_read_byte(uint8_t *pos) {
- unsigned eeprom_address = (unsigned)pos;
-
- eeprom_init();
+ const unsigned eeprom_address = (unsigned)pos;
Wire.beginTransmission(eeprom_device_address);
- Wire.write((int)(eeprom_address >> 8)); // MSB
- Wire.write((int)(eeprom_address & 0xFF)); // LSB
+ Wire.write(int(eeprom_address >> 8)); // MSB
+ Wire.write(int(eeprom_address & 0xFF)); // LSB
Wire.endTransmission();
Wire.requestFrom(eeprom_device_address, (byte)1);
return Wire.available() ? Wire.read() : 0xFF;
}
// Don't read more than 30..32 bytes at a time!
-void eeprom_read_block(void* pos, const void* eeprom_address, size_t n) {
+void eeprom_read_block(void* pos, const void *__dst, size_t n) {
+ const unsigned eeprom_address = (unsigned)__dst;
+
eeprom_init();
Wire.beginTransmission(eeprom_device_address);
- Wire.write((int)((unsigned)eeprom_address >> 8)); // MSB
- Wire.write((int)((unsigned)eeprom_address & 0xFF)); // LSB
+ Wire.write(int(eeprom_address >> 8)); // MSB
+ Wire.write(int(eeprom_address & 0xFF)); // LSB
Wire.endTransmission();
Wire.requestFrom(eeprom_device_address, (byte)n);
for (byte c = 0; c < n; c++ )
diff --git a/Marlin/src/HAL/shared/eeprom_spi.cpp b/Marlin/src/HAL/shared/eeprom_spi.cpp
index ce7479aedb..73602feaaf 100644
--- a/Marlin/src/HAL/shared/eeprom_spi.cpp
+++ b/Marlin/src/HAL/shared/eeprom_spi.cpp
@@ -35,6 +35,10 @@
#define CMD_READ 2 // WRITE
#define CMD_WRITE 2 // WRITE
+#ifndef EEPROM_WRITE_DELAY
+ #define EEPROM_WRITE_DELAY 7
+#endif
+
uint8_t eeprom_read_byte(uint8_t* pos) {
uint8_t v;
uint8_t eeprom_temp[3];
@@ -90,7 +94,7 @@ void eeprom_write_byte(uint8_t* pos, uint8_t value) {
spiSend(SPI_CHAN_EEPROM1, value);
WRITE(SPI_EEPROM1_CS, HIGH);
- delay(7); // wait for page write to complete
+ delay(EEPROM_WRITE_DELAY); // wait for page write to complete
}
void eeprom_update_block(const void* src, void* eeprom_address, size_t n) {
@@ -112,7 +116,7 @@ void eeprom_update_block(const void* src, void* eeprom_address, size_t n) {
spiSend(SPI_CHAN_EEPROM1, (const uint8_t*)src, n);
WRITE(SPI_EEPROM1_CS, HIGH);
- delay(7); // wait for page write to complete
+ delay(EEPROM_WRITE_DELAY); // wait for page write to complete
}
#endif // SPI_EEPROM
diff --git a/Marlin/src/pins/lpc1768/pins_AZSMZ_MINI.h b/Marlin/src/pins/lpc1768/pins_AZSMZ_MINI.h
index bba63febd9..4561ff0163 100644
--- a/Marlin/src/pins/lpc1768/pins_AZSMZ_MINI.h
+++ b/Marlin/src/pins/lpc1768/pins_AZSMZ_MINI.h
@@ -31,14 +31,6 @@
#define BOARD_INFO_NAME "AZSMZ MINI"
-//
-// EEPROM
-//
-#if NONE(FLASH_EEPROM_EMULATION, SDCARD_EEPROM_EMULATION)
- #define FLASH_EEPROM_EMULATION
- //#define SDCARD_EEPROM_EMULATION
-#endif
-
//
// Servos
//
diff --git a/Marlin/src/pins/lpc1768/pins_BIQU_B300_V1.0.h b/Marlin/src/pins/lpc1768/pins_BIQU_B300_V1.0.h
index fa3a2cc844..75dcbe06c9 100644
--- a/Marlin/src/pins/lpc1768/pins_BIQU_B300_V1.0.h
+++ b/Marlin/src/pins/lpc1768/pins_BIQU_B300_V1.0.h
@@ -38,14 +38,6 @@
#define BOARD_INFO_NAME "BIQU Thunder B300 V1.0"
#endif
-//
-// EEPROM
-//
-#if NONE(FLASH_EEPROM_EMULATION, SDCARD_EEPROM_EMULATION)
- #define FLASH_EEPROM_EMULATION
- //#define SDCARD_EEPROM_EMULATION
-#endif
-
//
// Limit Switches
//
diff --git a/Marlin/src/pins/lpc1768/pins_BIQU_BQ111_A4.h b/Marlin/src/pins/lpc1768/pins_BIQU_BQ111_A4.h
index eb384f4566..98ce887886 100644
--- a/Marlin/src/pins/lpc1768/pins_BIQU_BQ111_A4.h
+++ b/Marlin/src/pins/lpc1768/pins_BIQU_BQ111_A4.h
@@ -36,14 +36,6 @@
#define BOARD_INFO_NAME "BIQU BQ111-A4"
-//
-// EEPROM
-//
-#if NONE(FLASH_EEPROM_EMULATION, SDCARD_EEPROM_EMULATION)
- #define FLASH_EEPROM_EMULATION
- //#define SDCARD_EEPROM_EMULATION
-#endif
-
//
// Limit Switches
//
diff --git a/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_1.h b/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_1.h
index 4a029db60f..391f475fef 100644
--- a/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_1.h
+++ b/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_1.h
@@ -23,14 +23,6 @@
#define BOARD_INFO_NAME "BIGTREE SKR 1.1"
-//
-// EEPROM
-//
-#if NONE(FLASH_EEPROM_EMULATION, SDCARD_EEPROM_EMULATION)
- #define FLASH_EEPROM_EMULATION
- //#define SDCARD_EEPROM_EMULATION
-#endif
-
//
// Limit Switches
//
diff --git a/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_3.h b/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_3.h
index a9d333721f..48b9711366 100644
--- a/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_3.h
+++ b/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_3.h
@@ -23,14 +23,6 @@
#define BOARD_INFO_NAME "BIGTREE SKR 1.3"
-//
-// EEPROM
-//
-#if NONE(FLASH_EEPROM_EMULATION, SDCARD_EEPROM_EMULATION)
- #define FLASH_EEPROM_EMULATION
- //#define SDCARD_EEPROM_EMULATION
-#endif
-
//
// Trinamic Stallguard pins
//
diff --git a/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h b/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h
index 5004d166cd..85e477a5c2 100644
--- a/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h
+++ b/Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h
@@ -25,14 +25,6 @@
#define BOARD_INFO_NAME "BIGTREE SKR 1.4"
#endif
-//
-// EEPROM
-//
-#if NONE(FLASH_EEPROM_EMULATION, SDCARD_EEPROM_EMULATION)
- #define FLASH_EEPROM_EMULATION
- //#define SDCARD_EEPROM_EMULATION
-#endif
-
//
// SD Connection
//
diff --git a/Marlin/src/pins/lpc1768/pins_BTT_SKR_common.h b/Marlin/src/pins/lpc1768/pins_BTT_SKR_common.h
index 63e160d8a0..2ca8f86f1d 100644
--- a/Marlin/src/pins/lpc1768/pins_BTT_SKR_common.h
+++ b/Marlin/src/pins/lpc1768/pins_BTT_SKR_common.h
@@ -32,10 +32,6 @@
// Ignore temp readings during development.
//#define BOGUS_TEMPERATURE_GRACE_PERIOD 2000
-#if DISABLED(SDCARD_EEPROM_EMULATION)
- #define FLASH_EEPROM_EMULATION
-#endif
-
//
// Steppers
//
diff --git a/Marlin/src/pins/lpc1768/pins_GMARSH_X6_REV1.h b/Marlin/src/pins/lpc1768/pins_GMARSH_X6_REV1.h
index b272575e19..8ff565fa8f 100644
--- a/Marlin/src/pins/lpc1768/pins_GMARSH_X6_REV1.h
+++ b/Marlin/src/pins/lpc1768/pins_GMARSH_X6_REV1.h
@@ -30,14 +30,6 @@
// Ignore temp readings during develpment.
//#define BOGUS_TEMPERATURE_GRACE_PERIOD 2000
-//
-// EEPROM
-//
-#if NONE(FLASH_EEPROM_EMULATION, SDCARD_EEPROM_EMULATION)
- #define FLASH_EEPROM_EMULATION
- //#define SDCARD_EEPROM_EMULATION
-#endif
-
//
// Enable 12MHz clock output on P1.27 pin to sync TMC2208 chip clocks
//
diff --git a/Marlin/src/pins/lpc1768/pins_MKS_SBASE.h b/Marlin/src/pins/lpc1768/pins_MKS_SBASE.h
index 0cd10ebc05..054f155117 100644
--- a/Marlin/src/pins/lpc1768/pins_MKS_SBASE.h
+++ b/Marlin/src/pins/lpc1768/pins_MKS_SBASE.h
@@ -38,14 +38,6 @@
#define BOARD_WEBSITE_URL "github.com/makerbase-mks/MKS-SBASE"
#endif
-//
-// EEPROM
-//
-#if NONE(FLASH_EEPROM_EMULATION, SDCARD_EEPROM_EMULATION)
- #define FLASH_EEPROM_EMULATION
- //#define SDCARD_EEPROM_EMULATION
-#endif
-
#define LED_PIN P1_18 // Used as a status indicator
#define LED2_PIN P1_19
#define LED3_PIN P1_20
diff --git a/Marlin/src/pins/lpc1768/pins_MKS_SGEN_L.h b/Marlin/src/pins/lpc1768/pins_MKS_SGEN_L.h
index f8fd0afcd3..5a8e1ad635 100644
--- a/Marlin/src/pins/lpc1768/pins_MKS_SGEN_L.h
+++ b/Marlin/src/pins/lpc1768/pins_MKS_SGEN_L.h
@@ -32,14 +32,6 @@
#define BOARD_INFO_NAME "MKS SGen-L"
#define BOARD_WEBSITE_URL "github.com/makerbase-mks/MKS-SGEN_L"
-//
-// EEPROM
-//
-#if NONE(FLASH_EEPROM_EMULATION, SDCARD_EEPROM_EMULATION)
- #define FLASH_EEPROM_EMULATION
- //#define SDCARD_EEPROM_EMULATION
-#endif
-
//
// Servos
//
diff --git a/Marlin/src/pins/lpc1768/pins_RAMPS_RE_ARM.h b/Marlin/src/pins/lpc1768/pins_RAMPS_RE_ARM.h
index f4acfb7ba1..9a74419363 100644
--- a/Marlin/src/pins/lpc1768/pins_RAMPS_RE_ARM.h
+++ b/Marlin/src/pins/lpc1768/pins_RAMPS_RE_ARM.h
@@ -42,14 +42,6 @@
#define BOARD_INFO_NAME "Re-ARM RAMPS 1.4"
-//
-// EEPROM
-//
-#if NONE(FLASH_EEPROM_EMULATION, SDCARD_EEPROM_EMULATION)
- #define FLASH_EEPROM_EMULATION
- //#define SDCARD_EEPROM_EMULATION
-#endif
-
//
// Servos
//
diff --git a/Marlin/src/pins/lpc1768/pins_SELENA_COMPACT.h b/Marlin/src/pins/lpc1768/pins_SELENA_COMPACT.h
index 5e2b10ef6f..df7665f0ee 100644
--- a/Marlin/src/pins/lpc1768/pins_SELENA_COMPACT.h
+++ b/Marlin/src/pins/lpc1768/pins_SELENA_COMPACT.h
@@ -32,14 +32,6 @@
#define BOARD_INFO_NAME "Selena Compact"
#define BOARD_WEBSITE_URL "github.com/Ales2-k/Selena"
-//
-// EEPROM
-//
-#if NONE(FLASH_EEPROM_EMULATION, SDCARD_EEPROM_EMULATION)
- #define FLASH_EEPROM_EMULATION
- //#define SDCARD_EEPROM_EMULATION
-#endif
-
//
// Servos
//
diff --git a/Marlin/src/pins/lpc1769/pins_AZTEEG_X5_GT.h b/Marlin/src/pins/lpc1769/pins_AZTEEG_X5_GT.h
index 5df52908f4..4296f69274 100644
--- a/Marlin/src/pins/lpc1769/pins_AZTEEG_X5_GT.h
+++ b/Marlin/src/pins/lpc1769/pins_AZTEEG_X5_GT.h
@@ -32,14 +32,6 @@
#define BOARD_INFO_NAME "Azteeg X5 GT"
#define BOARD_WEBSITE_URL "tinyurl.com/yx8tdqa3"
-//
-// EEPROM
-//
-#if NONE(FLASH_EEPROM_EMULATION, SDCARD_EEPROM_EMULATION)
- #define FLASH_EEPROM_EMULATION
- //#define SDCARD_EEPROM_EMULATION
-#endif
-
//
// Servos
//
diff --git a/Marlin/src/pins/lpc1769/pins_AZTEEG_X5_MINI.h b/Marlin/src/pins/lpc1769/pins_AZTEEG_X5_MINI.h
index ba1351e6f4..306688bef3 100644
--- a/Marlin/src/pins/lpc1769/pins_AZTEEG_X5_MINI.h
+++ b/Marlin/src/pins/lpc1769/pins_AZTEEG_X5_MINI.h
@@ -187,14 +187,6 @@
#endif // HAS_SPI_LCD
-//
-// EEPROM
-//
-#if NONE(FLASH_EEPROM_EMULATION, SDCARD_EEPROM_EMULATION)
- #define FLASH_EEPROM_EMULATION
- //#define SDCARD_EEPROM_EMULATION
-#endif
-
//
// SD Support
//
diff --git a/Marlin/src/pins/lpc1769/pins_AZTEEG_X5_MINI_WIFI.h b/Marlin/src/pins/lpc1769/pins_AZTEEG_X5_MINI_WIFI.h
index e16a1b90b6..4b731ae9d3 100644
--- a/Marlin/src/pins/lpc1769/pins_AZTEEG_X5_MINI_WIFI.h
+++ b/Marlin/src/pins/lpc1769/pins_AZTEEG_X5_MINI_WIFI.h
@@ -31,14 +31,6 @@
#define BOARD_INFO_NAME "Azteeg X5 MINI WIFI"
-//
-// EEPROM
-//
-#if NONE(FLASH_EEPROM_EMULATION, SDCARD_EEPROM_EMULATION)
- #define FLASH_EEPROM_EMULATION
- //#define SDCARD_EEPROM_EMULATION
-#endif
-
//
// DIGIPOT slave addresses
//
diff --git a/Marlin/src/pins/lpc1769/pins_BTT_SKR_V1_4_TURBO.h b/Marlin/src/pins/lpc1769/pins_BTT_SKR_V1_4_TURBO.h
index 974537ee11..937ba56bb7 100644
--- a/Marlin/src/pins/lpc1769/pins_BTT_SKR_V1_4_TURBO.h
+++ b/Marlin/src/pins/lpc1769/pins_BTT_SKR_V1_4_TURBO.h
@@ -24,14 +24,6 @@
#define BOARD_INFO_NAME "BIGTREE SKR 1.4 TURBO"
#define SKR_HAS_LPC1769
-//
-// EEPROM
-//
-#if NONE(FLASH_EEPROM_EMULATION, SDCARD_EEPROM_EMULATION)
- #define FLASH_EEPROM_EMULATION
- //#define SDCARD_EEPROM_EMULATION
-#endif
-
//
// Include SKR 1.4 pins
//
diff --git a/Marlin/src/pins/lpc1769/pins_COHESION3D_MINI.h b/Marlin/src/pins/lpc1769/pins_COHESION3D_MINI.h
index adb3bc04f5..9efddf210a 100644
--- a/Marlin/src/pins/lpc1769/pins_COHESION3D_MINI.h
+++ b/Marlin/src/pins/lpc1769/pins_COHESION3D_MINI.h
@@ -31,14 +31,6 @@
#define BOARD_INFO_NAME "Cohesion3D Mini"
-//
-// EEPROM
-//
-#if NONE(FLASH_EEPROM_EMULATION, SDCARD_EEPROM_EMULATION)
- #define FLASH_EEPROM_EMULATION
- //#define SDCARD_EEPROM_EMULATION
-#endif
-
//
// Servos
//
diff --git a/Marlin/src/pins/lpc1769/pins_COHESION3D_REMIX.h b/Marlin/src/pins/lpc1769/pins_COHESION3D_REMIX.h
index c9b13b234e..a32e55db92 100644
--- a/Marlin/src/pins/lpc1769/pins_COHESION3D_REMIX.h
+++ b/Marlin/src/pins/lpc1769/pins_COHESION3D_REMIX.h
@@ -31,14 +31,6 @@
#define BOARD_INFO_NAME "Cohesion3D ReMix"
-//
-// EEPROM
-//
-#if NONE(FLASH_EEPROM_EMULATION, SDCARD_EEPROM_EMULATION)
- #define FLASH_EEPROM_EMULATION
- //#define SDCARD_EEPROM_EMULATION
-#endif
-
//
// Servos
//
diff --git a/Marlin/src/pins/lpc1769/pins_MKS_SGEN.h b/Marlin/src/pins/lpc1769/pins_MKS_SGEN.h
index 713eca2944..e683c4e423 100644
--- a/Marlin/src/pins/lpc1769/pins_MKS_SGEN.h
+++ b/Marlin/src/pins/lpc1769/pins_MKS_SGEN.h
@@ -32,14 +32,6 @@
#define BOARD_INFO_NAME "MKS SGen"
#define BOARD_WEBSITE_URL "github.com/makerbase-mks/MKS-SGEN"
-//
-// EEPROM
-//
-#if NONE(FLASH_EEPROM_EMULATION, SDCARD_EEPROM_EMULATION)
- #define FLASH_EEPROM_EMULATION
- //#define SDCARD_EEPROM_EMULATION
-#endif
-
#define MKS_HAS_LPC1769
#include "../lpc1768/pins_MKS_SBASE.h"
diff --git a/Marlin/src/pins/lpc1769/pins_SMOOTHIEBOARD.h b/Marlin/src/pins/lpc1769/pins_SMOOTHIEBOARD.h
index 0a3be9aff4..6b147740a4 100644
--- a/Marlin/src/pins/lpc1769/pins_SMOOTHIEBOARD.h
+++ b/Marlin/src/pins/lpc1769/pins_SMOOTHIEBOARD.h
@@ -32,14 +32,6 @@
#define BOARD_INFO_NAME "Smoothieboard"
#define BOARD_WEBSITE_URL "smoothieware.org/smoothieboard"
-//
-// EEPROM
-//
-#if NONE(FLASH_EEPROM_EMULATION, SDCARD_EEPROM_EMULATION)
- #define FLASH_EEPROM_EMULATION
- //#define SDCARD_EEPROM_EMULATION
-#endif
-
//
// Servos
//
diff --git a/Marlin/src/pins/lpc1769/pins_TH3D_EZBOARD.h b/Marlin/src/pins/lpc1769/pins_TH3D_EZBOARD.h
index 0836e1ff5a..bb03335c57 100644
--- a/Marlin/src/pins/lpc1769/pins_TH3D_EZBOARD.h
+++ b/Marlin/src/pins/lpc1769/pins_TH3D_EZBOARD.h
@@ -32,14 +32,6 @@
#define BOARD_INFO_NAME "TH3D EZBoard"
#define BOARD_WEBSITE_URL "th3dstudio.com"
-//
-// EEPROM
-//
-#if NONE(FLASH_EEPROM_EMULATION, SDCARD_EEPROM_EMULATION)
- #define FLASH_EEPROM_EMULATION
- //#define SDCARD_EEPROM_EMULATION
-#endif
-
//
// Servos
//