summaryrefslogtreecommitdiff
path: root/platforms/chibios/drivers/eeprom/eeprom_kinetis_flexram.h
diff options
context:
space:
mode:
authorNick Brassel <nick@tzarc.org>2022-11-23 19:50:19 +1100
committerGitHub <noreply@github.com>2022-11-23 08:50:19 +0000
commitbebfdad795add9fbc8c6c1393d1b817d542474ed (patch)
tree1d09d181a2c6a3be74d3e9125f952afe0f1f5ab4 /platforms/chibios/drivers/eeprom/eeprom_kinetis_flexram.h
parentbfdc76181980545b18d9e4d909b62d09895bca9d (diff)
NVRAM refactor, phase 1. (#18969)
* Rename `eeprom_stm32` to `eeprom_legacy_emulated_flash`. * Rename `flash_stm32` to `legacy_flash_ops`. * Rename `eeprom_teensy` to `eeprom_kinetis_flexram`.
Diffstat (limited to 'platforms/chibios/drivers/eeprom/eeprom_kinetis_flexram.h')
-rwxr-xr-xplatforms/chibios/drivers/eeprom/eeprom_kinetis_flexram.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/platforms/chibios/drivers/eeprom/eeprom_kinetis_flexram.h b/platforms/chibios/drivers/eeprom/eeprom_kinetis_flexram.h
new file mode 100755
index 0000000000..9a14a1fa79
--- /dev/null
+++ b/platforms/chibios/drivers/eeprom/eeprom_kinetis_flexram.h
@@ -0,0 +1,25 @@
+// Copyright 2022 Nick Brassel (@tzarc)
+// SPDX-License-Identifier: GPL-2.0-or-later
+#pragma once
+
+#include <ch.h>
+#include <hal.h>
+
+#if defined(K20x)
+/* Teensy 3.0, 3.1, 3.2; mchck; infinity keyboard */
+// The EEPROM is really RAM with a hardware-based backup system to
+// flash memory. Selecting a smaller size EEPROM allows more wear
+// leveling, for higher write endurance. If you edit this file,
+// set this to the smallest size your application can use. Also,
+// due to Freescale's implementation, writing 16 or 32 bit words
+// (aligned to 2 or 4 byte boundaries) has twice the endurance
+// compared to writing 8 bit bytes.
+//
+# ifndef EEPROM_SIZE
+# define EEPROM_SIZE 32
+# endif
+#elif defined(KL2x) /* Teensy LC (emulated) */
+# define EEPROM_SIZE 128
+#else
+# error Unsupported Teensy EEPROM.
+#endif