aboutsummaryrefslogtreecommitdiffstats
path: root/quantum/dynamic_keymap.c
diff options
context:
space:
mode:
Diffstat (limited to 'quantum/dynamic_keymap.c')
-rw-r--r--quantum/dynamic_keymap.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/quantum/dynamic_keymap.c b/quantum/dynamic_keymap.c
index 10d8c9eb6..0608b469c 100644
--- a/quantum/dynamic_keymap.c
+++ b/quantum/dynamic_keymap.c
@@ -35,7 +35,16 @@
// Explicitly override it if the keyboard uses a microcontroller with
// more EEPROM *and* it makes sense to increase it.
#ifndef DYNAMIC_KEYMAP_EEPROM_MAX_ADDR
-# define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR 1023
+# if defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB647__) || defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB1287__)
+# define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR 2047
+# else
+# define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR 1023
+# endif
+#endif
+
+// Due to usage of uint16_t check for max 65535
+#if DYNAMIC_KEYMAP_EEPROM_MAX_ADDR > 65535
+# error DYNAMIC_KEYMAP_EEPROM_MAX_ADDR must be less than 65536
#endif
// If DYNAMIC_KEYMAP_EEPROM_ADDR not explicitly defined in config.h,