mirror of
https://github.com/qmk/qmk_firmware.git
synced 2025-06-03 06:52:44 +00:00
Allow for disabling EEPROM subsystem entirely. (#25173)
This commit is contained in:
parent
ea85ace4a9
commit
5c39722ab9
@ -171,80 +171,82 @@ endif
|
|||||||
|
|
||||||
VALID_EEPROM_DRIVER_TYPES := vendor custom transient i2c spi wear_leveling legacy_stm32_flash
|
VALID_EEPROM_DRIVER_TYPES := vendor custom transient i2c spi wear_leveling legacy_stm32_flash
|
||||||
EEPROM_DRIVER ?= vendor
|
EEPROM_DRIVER ?= vendor
|
||||||
ifeq ($(filter $(EEPROM_DRIVER),$(VALID_EEPROM_DRIVER_TYPES)),)
|
ifneq ($(strip $(EEPROM_DRIVER)),none)
|
||||||
|
ifeq ($(filter $(EEPROM_DRIVER),$(VALID_EEPROM_DRIVER_TYPES)),)
|
||||||
$(call CATASTROPHIC_ERROR,Invalid EEPROM_DRIVER,EEPROM_DRIVER="$(EEPROM_DRIVER)" is not a valid EEPROM driver)
|
$(call CATASTROPHIC_ERROR,Invalid EEPROM_DRIVER,EEPROM_DRIVER="$(EEPROM_DRIVER)" is not a valid EEPROM driver)
|
||||||
else
|
else
|
||||||
OPT_DEFS += -DEEPROM_ENABLE
|
OPT_DEFS += -DEEPROM_ENABLE
|
||||||
COMMON_VPATH += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_DIR)/eeprom
|
COMMON_VPATH += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_DIR)/eeprom
|
||||||
COMMON_VPATH += $(DRIVER_PATH)/eeprom
|
COMMON_VPATH += $(DRIVER_PATH)/eeprom
|
||||||
COMMON_VPATH += $(PLATFORM_COMMON_DIR)
|
COMMON_VPATH += $(PLATFORM_COMMON_DIR)
|
||||||
ifeq ($(strip $(EEPROM_DRIVER)), custom)
|
ifeq ($(strip $(EEPROM_DRIVER)), custom)
|
||||||
# Custom EEPROM implementation -- only needs to implement init/erase/read_block/write_block
|
# Custom EEPROM implementation -- only needs to implement init/erase/read_block/write_block
|
||||||
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_CUSTOM
|
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_CUSTOM
|
||||||
SRC += eeprom_driver.c
|
SRC += eeprom_driver.c
|
||||||
else ifeq ($(strip $(EEPROM_DRIVER)), wear_leveling)
|
else ifeq ($(strip $(EEPROM_DRIVER)), wear_leveling)
|
||||||
# Wear-leveling EEPROM implementation
|
# Wear-leveling EEPROM implementation
|
||||||
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_WEAR_LEVELING
|
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_WEAR_LEVELING
|
||||||
SRC += eeprom_driver.c eeprom_wear_leveling.c
|
SRC += eeprom_driver.c eeprom_wear_leveling.c
|
||||||
else ifeq ($(strip $(EEPROM_DRIVER)), i2c)
|
else ifeq ($(strip $(EEPROM_DRIVER)), i2c)
|
||||||
# External I2C EEPROM implementation
|
# External I2C EEPROM implementation
|
||||||
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_I2C
|
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_I2C
|
||||||
I2C_DRIVER_REQUIRED = yes
|
I2C_DRIVER_REQUIRED = yes
|
||||||
SRC += eeprom_driver.c eeprom_i2c.c
|
SRC += eeprom_driver.c eeprom_i2c.c
|
||||||
else ifeq ($(strip $(EEPROM_DRIVER)), spi)
|
else ifeq ($(strip $(EEPROM_DRIVER)), spi)
|
||||||
# External SPI EEPROM implementation
|
# External SPI EEPROM implementation
|
||||||
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_SPI
|
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_SPI
|
||||||
SPI_DRIVER_REQUIRED = yes
|
SPI_DRIVER_REQUIRED = yes
|
||||||
SRC += eeprom_driver.c eeprom_spi.c
|
SRC += eeprom_driver.c eeprom_spi.c
|
||||||
else ifeq ($(strip $(EEPROM_DRIVER)), legacy_stm32_flash)
|
else ifeq ($(strip $(EEPROM_DRIVER)), legacy_stm32_flash)
|
||||||
# STM32 Emulated EEPROM, backed by MCU flash (soon to be deprecated)
|
# STM32 Emulated EEPROM, backed by MCU flash (soon to be deprecated)
|
||||||
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_LEGACY_EMULATED_FLASH
|
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_LEGACY_EMULATED_FLASH
|
||||||
COMMON_VPATH += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_DIR)/flash
|
COMMON_VPATH += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_DIR)/flash
|
||||||
COMMON_VPATH += $(DRIVER_PATH)/flash
|
COMMON_VPATH += $(DRIVER_PATH)/flash
|
||||||
SRC += eeprom_driver.c eeprom_legacy_emulated_flash.c legacy_flash_ops.c
|
SRC += eeprom_driver.c eeprom_legacy_emulated_flash.c legacy_flash_ops.c
|
||||||
else ifeq ($(strip $(EEPROM_DRIVER)), transient)
|
else ifeq ($(strip $(EEPROM_DRIVER)), transient)
|
||||||
# Transient EEPROM implementation -- no data storage but provides runtime area for it
|
# Transient EEPROM implementation -- no data storage but provides runtime area for it
|
||||||
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_TRANSIENT
|
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_TRANSIENT
|
||||||
SRC += eeprom_driver.c eeprom_transient.c
|
SRC += eeprom_driver.c eeprom_transient.c
|
||||||
else ifeq ($(strip $(EEPROM_DRIVER)), vendor)
|
else ifeq ($(strip $(EEPROM_DRIVER)), vendor)
|
||||||
# Vendor-implemented EEPROM
|
# Vendor-implemented EEPROM
|
||||||
OPT_DEFS += -DEEPROM_VENDOR
|
OPT_DEFS += -DEEPROM_VENDOR
|
||||||
ifeq ($(PLATFORM),AVR)
|
ifeq ($(PLATFORM),AVR)
|
||||||
# Automatically provided by avr-libc, nothing required
|
# Automatically provided by avr-libc, nothing required
|
||||||
else ifeq ($(PLATFORM),CHIBIOS)
|
else ifeq ($(PLATFORM),CHIBIOS)
|
||||||
ifneq ($(filter %_STM32F072xB %_STM32F042x6, $(MCU_SERIES)_$(MCU_LDSCRIPT)),)
|
ifneq ($(filter %_STM32F072xB %_STM32F042x6, $(MCU_SERIES)_$(MCU_LDSCRIPT)),)
|
||||||
# STM32 Emulated EEPROM, backed by MCU flash (soon to be deprecated)
|
# STM32 Emulated EEPROM, backed by MCU flash (soon to be deprecated)
|
||||||
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_LEGACY_EMULATED_FLASH
|
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_LEGACY_EMULATED_FLASH
|
||||||
COMMON_VPATH += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_DIR)/flash
|
COMMON_VPATH += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_DIR)/flash
|
||||||
COMMON_VPATH += $(DRIVER_PATH)/flash
|
COMMON_VPATH += $(DRIVER_PATH)/flash
|
||||||
SRC += eeprom_driver.c eeprom_legacy_emulated_flash.c legacy_flash_ops.c
|
SRC += eeprom_driver.c eeprom_legacy_emulated_flash.c legacy_flash_ops.c
|
||||||
else ifneq ($(filter $(MCU_SERIES),STM32F1xx STM32F3xx STM32F4xx STM32L4xx STM32G4xx WB32F3G71xx WB32FQ95xx AT32F415 GD32VF103),)
|
else ifneq ($(filter $(MCU_SERIES),STM32F1xx STM32F3xx STM32F4xx STM32L4xx STM32G4xx WB32F3G71xx WB32FQ95xx AT32F415 GD32VF103),)
|
||||||
# Wear-leveling EEPROM implementation, backed by MCU flash
|
# Wear-leveling EEPROM implementation, backed by MCU flash
|
||||||
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_WEAR_LEVELING
|
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_WEAR_LEVELING
|
||||||
SRC += eeprom_driver.c eeprom_wear_leveling.c
|
SRC += eeprom_driver.c eeprom_wear_leveling.c
|
||||||
WEAR_LEVELING_DRIVER ?= embedded_flash
|
WEAR_LEVELING_DRIVER ?= embedded_flash
|
||||||
else ifneq ($(filter $(MCU_SERIES),STM32L0xx STM32L1xx),)
|
else ifneq ($(filter $(MCU_SERIES),STM32L0xx STM32L1xx),)
|
||||||
# True EEPROM on STM32L0xx, L1xx
|
# True EEPROM on STM32L0xx, L1xx
|
||||||
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_STM32_L0_L1
|
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_STM32_L0_L1
|
||||||
SRC += eeprom_driver.c eeprom_stm32_L0_L1.c
|
SRC += eeprom_driver.c eeprom_stm32_L0_L1.c
|
||||||
else ifneq ($(filter $(MCU_SERIES),RP2040),)
|
else ifneq ($(filter $(MCU_SERIES),RP2040),)
|
||||||
# Wear-leveling EEPROM implementation, backed by RP2040 flash
|
# Wear-leveling EEPROM implementation, backed by RP2040 flash
|
||||||
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_WEAR_LEVELING
|
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_WEAR_LEVELING
|
||||||
SRC += eeprom_driver.c eeprom_wear_leveling.c
|
SRC += eeprom_driver.c eeprom_wear_leveling.c
|
||||||
WEAR_LEVELING_DRIVER ?= rp2040_flash
|
WEAR_LEVELING_DRIVER ?= rp2040_flash
|
||||||
else ifneq ($(filter $(MCU_SERIES),KL2x K20x),)
|
else ifneq ($(filter $(MCU_SERIES),KL2x K20x),)
|
||||||
# Teensy EEPROM implementations
|
# Teensy EEPROM implementations
|
||||||
OPT_DEFS += -DEEPROM_KINETIS_FLEXRAM
|
OPT_DEFS += -DEEPROM_KINETIS_FLEXRAM
|
||||||
SRC += eeprom_kinetis_flexram.c
|
SRC += eeprom_kinetis_flexram.c
|
||||||
else
|
else
|
||||||
# Fall back to transient, i.e. non-persistent
|
# Fall back to transient, i.e. non-persistent
|
||||||
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_TRANSIENT
|
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_TRANSIENT
|
||||||
SRC += eeprom_driver.c eeprom_transient.c
|
SRC += eeprom_driver.c eeprom_transient.c
|
||||||
|
endif
|
||||||
|
else ifeq ($(PLATFORM),TEST)
|
||||||
|
# Test harness "EEPROM"
|
||||||
|
OPT_DEFS += -DEEPROM_TEST_HARNESS
|
||||||
|
SRC += eeprom.c
|
||||||
endif
|
endif
|
||||||
else ifeq ($(PLATFORM),TEST)
|
|
||||||
# Test harness "EEPROM"
|
|
||||||
OPT_DEFS += -DEEPROM_TEST_HARNESS
|
|
||||||
SRC += eeprom.c
|
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
@ -319,7 +319,7 @@
|
|||||||
"properties": {
|
"properties": {
|
||||||
"driver": {
|
"driver": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"enum": ["custom", "embedded_flash", "legacy", "rp2040_flash", "spi_flash"]
|
"enum": ["none", "custom", "embedded_flash", "legacy", "rp2040_flash", "spi_flash"]
|
||||||
},
|
},
|
||||||
"backing_size": {"$ref": "qmk.definitions.v1#/unsigned_int"},
|
"backing_size": {"$ref": "qmk.definitions.v1#/unsigned_int"},
|
||||||
"logical_size": {"$ref": "qmk.definitions.v1#/unsigned_int"}
|
"logical_size": {"$ref": "qmk.definitions.v1#/unsigned_int"}
|
||||||
|
@ -18,8 +18,6 @@
|
|||||||
#include "dynamic_keymap.h"
|
#include "dynamic_keymap.h"
|
||||||
#include "keymap_introspection.h"
|
#include "keymap_introspection.h"
|
||||||
#include "action.h"
|
#include "action.h"
|
||||||
#include "eeprom.h"
|
|
||||||
#include "progmem.h"
|
|
||||||
#include "send_string.h"
|
#include "send_string.h"
|
||||||
#include "keycodes.h"
|
#include "keycodes.h"
|
||||||
#include "nvm_dynamic_keymap.h"
|
#include "nvm_dynamic_keymap.h"
|
||||||
|
@ -2,16 +2,11 @@
|
|||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
#include "debug.h"
|
#include "debug.h"
|
||||||
#include "eeprom.h"
|
|
||||||
#include "eeconfig.h"
|
#include "eeconfig.h"
|
||||||
#include "action_layer.h"
|
#include "action_layer.h"
|
||||||
#include "nvm_eeconfig.h"
|
#include "nvm_eeconfig.h"
|
||||||
#include "keycode_config.h"
|
#include "keycode_config.h"
|
||||||
|
|
||||||
#ifdef EEPROM_DRIVER
|
|
||||||
# include "eeprom_driver.h"
|
|
||||||
#endif // EEPROM_DRIVER
|
|
||||||
|
|
||||||
#ifdef BACKLIGHT_ENABLE
|
#ifdef BACKLIGHT_ENABLE
|
||||||
# include "backlight.h"
|
# include "backlight.h"
|
||||||
#endif // BACKLIGHT_ENABLE
|
#endif // BACKLIGHT_ENABLE
|
||||||
|
@ -19,7 +19,6 @@
|
|||||||
|
|
||||||
#include "led_matrix.h"
|
#include "led_matrix.h"
|
||||||
#include "progmem.h"
|
#include "progmem.h"
|
||||||
#include "eeprom.h"
|
|
||||||
#include "eeconfig.h"
|
#include "eeconfig.h"
|
||||||
#include "keyboard.h"
|
#include "keyboard.h"
|
||||||
#include "sync_timer.h"
|
#include "sync_timer.h"
|
||||||
|
@ -18,7 +18,6 @@
|
|||||||
|
|
||||||
#include "rgb_matrix.h"
|
#include "rgb_matrix.h"
|
||||||
#include "progmem.h"
|
#include "progmem.h"
|
||||||
#include "eeprom.h"
|
|
||||||
#include "eeconfig.h"
|
#include "eeconfig.h"
|
||||||
#include "keyboard.h"
|
#include "keyboard.h"
|
||||||
#include "sync_timer.h"
|
#include "sync_timer.h"
|
||||||
|
@ -16,7 +16,6 @@
|
|||||||
|
|
||||||
#include "unicode.h"
|
#include "unicode.h"
|
||||||
|
|
||||||
#include "eeprom.h"
|
|
||||||
#include "eeconfig.h"
|
#include "eeconfig.h"
|
||||||
#include "action.h"
|
#include "action.h"
|
||||||
#include "action_util.h"
|
#include "action_util.h"
|
||||||
|
@ -26,7 +26,6 @@
|
|||||||
|
|
||||||
#include "raw_hid.h"
|
#include "raw_hid.h"
|
||||||
#include "dynamic_keymap.h"
|
#include "dynamic_keymap.h"
|
||||||
#include "eeprom.h"
|
|
||||||
#include "eeconfig.h"
|
#include "eeconfig.h"
|
||||||
#include "matrix.h"
|
#include "matrix.h"
|
||||||
#include "timer.h"
|
#include "timer.h"
|
||||||
|
Loading…
Reference in New Issue
Block a user