mirror of
https://github.com/qmk/qmk_firmware.git
synced 2026-09-07 19:02:35 +02:00
71 lines
2.4 KiB
CMake
71 lines
2.4 KiB
CMake
set(EEPROM_DRIVER "vendor" CACHE STRING "EEPROM driver")
|
|
set_property(CACHE EEPROM_DRIVER PROPERTY STRINGS vendor custom transient i2c spi wear_leveling legacy_stm32_flash)
|
|
set(WEAR_LEVELING_DRIVER "none" CACHE STRING "EEPROM wear-leveling driver")
|
|
set_property(CACHE WEAR_LEVELING_DRIVER PROPERTY STRINGS custom embedded_flash spi_flash rp2040_flash legacy)
|
|
|
|
target_compile_definitions(qmk PUBLIC
|
|
EEPROM_ENABLE
|
|
)
|
|
target_include_directories(qmk PUBLIC
|
|
platforms/${QMK_PLATFORM}/drivers/eeprom
|
|
drivers/eeprom
|
|
platforms/common
|
|
)
|
|
|
|
if(${EEPROM_DRIVER} STREQUAL "wear_leveling")
|
|
target_compile_definitions(qmk PUBLIC
|
|
EEPROM_DRIVER
|
|
EEPROM_WEAR_LEVELING
|
|
)
|
|
target_sources(qmk PUBLIC
|
|
drivers/eeprom/eeprom_driver.c
|
|
drivers/eeprom/eeprom_wear_leveling.c
|
|
)
|
|
elseif(${EEPROM_DRIVER} STREQUAL "vendor")
|
|
target_compile_definitions(qmk PUBLIC
|
|
EEPROM_VENDOR
|
|
)
|
|
if(${QMK_PLATFORM} STREQUAL "chibios")
|
|
if(${QMK_MCU} MATCHES "STM32F[1-9].*" OR ${QMK_MCU} MATCHES "WB32.*" OR ${QMK_MCU} MATCHES "GD32.*")
|
|
target_compile_definitions(qmk PUBLIC
|
|
EEPROM_DRIVER
|
|
EEPROM_WEAR_LEVELING
|
|
)
|
|
target_sources(qmk PUBLIC
|
|
drivers/eeprom/eeprom_driver.c
|
|
drivers/eeprom/eeprom_wear_leveling.c
|
|
)
|
|
set(WEAR_LEVELING_DRIVER "embedded_flash")
|
|
endif()
|
|
endif()
|
|
endif()
|
|
|
|
if(NOT ${WEAR_LEVELING_DRIVER} STREQUAL "none")
|
|
set(FNV_ENABLE TRUE)
|
|
target_compile_definitions(qmk PUBLIC
|
|
WEAR_LEVELING_ENABLE
|
|
)
|
|
target_include_directories(qmk PUBLIC
|
|
platforms/${QMK_PLATFORM}/drivers/wear_leveling
|
|
drivers/wear_leveling
|
|
quantum/wear_leveling
|
|
)
|
|
target_sources(qmk PUBLIC quantum/wear_leveling/wear_leveling.c)
|
|
|
|
if(${WEAR_LEVELING_DRIVER} STREQUAL "embedded_flash")
|
|
target_compile_definitions(qmk PUBLIC
|
|
HAL_USE_EFL
|
|
WEAR_LEVELING_EMBEDDED_FLASH
|
|
)
|
|
target_sources(qmk PUBLIC
|
|
platforms/${QMK_PLATFORM}/drivers/wear_leveling/wear_leveling_efl.c
|
|
)
|
|
# target_compile_options(qmk PUBLIC
|
|
# -include ${CMAKE_SOURCE_DIR}/platforms/${QMK_PLATFORM}/drivers/wear_leveling/wear_leveling_efl_config.h
|
|
# )
|
|
target_precompile_headers(qmk PUBLIC
|
|
${CMAKE_SOURCE_DIR}/platforms/${QMK_PLATFORM}/drivers/wear_leveling/wear_leveling_efl_config.h
|
|
)
|
|
endif()
|
|
endif()
|