diff --git a/cpu/atmega1281/include/cpu_conf.h b/cpu/atmega1281/include/cpu_conf.h index 5109c6074d5bf7b5aa9ddffc409178be0444329a..438cbc70ed6368c41fab0af13a111b229279fee7 100644 --- a/cpu/atmega1281/include/cpu_conf.h +++ b/cpu/atmega1281/include/cpu_conf.h @@ -43,13 +43,6 @@ extern "C" { #endif /** @} */ -/** - * @name EEPROM configuration - * @{ - */ -#define EEPROM_SIZE (4096U) /* 4kB */ -/** @} */ - #ifdef __cplusplus } #endif diff --git a/cpu/atmega1281/include/periph_cpu.h b/cpu/atmega1281/include/periph_cpu.h index 9f69d979e7e1ca5508d57bb7af193783f3b858ac..07ebe56a75fdb02cdb16bc27e48b31fce99fdc90 100644 --- a/cpu/atmega1281/include/periph_cpu.h +++ b/cpu/atmega1281/include/periph_cpu.h @@ -64,6 +64,13 @@ enum { #define I2C_PIN_MASK (1 << PORTD0) | (1 << PORTD1) /** @} */ +/** + * @name EEPROM configuration + * @{ + */ +#define EEPROM_SIZE (4096U) /* 4kB */ +/** @} */ + #ifdef __cplusplus } #endif diff --git a/cpu/atmega1284p/include/cpu_conf.h b/cpu/atmega1284p/include/cpu_conf.h index 0731dc3964b576184d20bf3147b84103d2a35cf6..e87b7d2a01553ae7ecc01ed334e79544af6c4931 100644 --- a/cpu/atmega1284p/include/cpu_conf.h +++ b/cpu/atmega1284p/include/cpu_conf.h @@ -44,13 +44,6 @@ extern "C" { #define THREAD_STACKSIZE_IDLE (128) /** @} */ -/** - * @name EEPROM configuration - * @{ - */ -#define EEPROM_SIZE (4096U) /* 4kB */ -/** @} */ - #ifdef __cplusplus } #endif diff --git a/cpu/atmega1284p/include/periph_cpu.h b/cpu/atmega1284p/include/periph_cpu.h index 047dae07c172faf185130d13d489b26b9d81d49f..e61349c6e45a19e2a1b05b356e454fb3d0bbea2c 100644 --- a/cpu/atmega1284p/include/periph_cpu.h +++ b/cpu/atmega1284p/include/periph_cpu.h @@ -61,6 +61,13 @@ enum { #define I2C_PIN_MASK (1 << PORTC0) | (1 << PORTC1) /** @} */ +/** + * @name EEPROM configuration + * @{ + */ +#define EEPROM_SIZE (4096U) /* 4kB */ +/** @} */ + #ifdef __cplusplus } #endif diff --git a/cpu/atmega2560/include/cpu_conf.h b/cpu/atmega2560/include/cpu_conf.h index a070cccca24590685d0e7ab8b934818a2a750fd9..1e7f0eac9a056e7c7a63dfb7efbe5935dd7315c6 100644 --- a/cpu/atmega2560/include/cpu_conf.h +++ b/cpu/atmega2560/include/cpu_conf.h @@ -42,14 +42,6 @@ extern "C" { #define THREAD_STACKSIZE_IDLE (128) /** @} */ -/** - * @name EEPROM configuration - * @{ - */ -#define EEPROM_SIZE (4096U) /* 4kB */ -/** @} */ - - #ifdef __cplusplus } #endif diff --git a/cpu/atmega2560/include/periph_cpu.h b/cpu/atmega2560/include/periph_cpu.h index 10cd8acc1e1e66de3d5a1f47fcddbb982a62fa15..2002edc28cb19cb873c4645090e9d23ec606ae48 100644 --- a/cpu/atmega2560/include/periph_cpu.h +++ b/cpu/atmega2560/include/periph_cpu.h @@ -66,6 +66,13 @@ enum { #define I2C_PIN_MASK (1 << PORTD0) | (1 << PORTD1) /** @} */ +/** + * @name EEPROM configuration + * @{ + */ +#define EEPROM_SIZE (4096U) /* 4kB */ +/** @} */ + #ifdef __cplusplus } #endif diff --git a/cpu/atmega256rfr2/include/cpu_conf.h b/cpu/atmega256rfr2/include/cpu_conf.h index b21ef3c3c5d0ccb3926728148fd9c58fe24816c3..e7eb3c681e113e89a9415707e25c8afde91a4897 100644 --- a/cpu/atmega256rfr2/include/cpu_conf.h +++ b/cpu/atmega256rfr2/include/cpu_conf.h @@ -48,12 +48,5 @@ extern "C" { } #endif -/** - * @name EEPROM configuration - * @{ - */ -#define EEPROM_SIZE (8192U) /* 8kB */ -/** @} */ - #endif /* CPU_CONF_H */ /** @} */ diff --git a/cpu/atmega256rfr2/include/periph_cpu.h b/cpu/atmega256rfr2/include/periph_cpu.h index 03562a2402d5d35b39d3357b1c0f982aa43687f1..8ea19709043a88bbd7ededa70d5300d805178aca 100644 --- a/cpu/atmega256rfr2/include/periph_cpu.h +++ b/cpu/atmega256rfr2/include/periph_cpu.h @@ -77,6 +77,13 @@ enum { #endif /** @}*/ +/** + * @name EEPROM configuration + * @{ + */ +#define EEPROM_SIZE (8192U) /* 8kB */ +/** @} */ + #ifdef __cplusplus } #endif diff --git a/cpu/atmega328p/include/cpu_conf.h b/cpu/atmega328p/include/cpu_conf.h index 1f0aab3eab7a8d9ba8826c28d8d081ef388960e6..91ac74da4d81e946d804bd006fd074b0edc69e34 100644 --- a/cpu/atmega328p/include/cpu_conf.h +++ b/cpu/atmega328p/include/cpu_conf.h @@ -42,13 +42,6 @@ extern "C" { #define THREAD_STACKSIZE_IDLE (128) /** @} */ -/** - * @name EEPROM configuration - * @{ - */ -#define EEPROM_SIZE (1024U) /* 1kB */ -/** @} */ - #ifdef __cplusplus } #endif diff --git a/cpu/atmega328p/include/periph_cpu.h b/cpu/atmega328p/include/periph_cpu.h index 03ab92365fd9c6e1d5893a2f682e8d688df300ce..ac4be4cd09cea64cf5c0c8faaf25c42ffc1c9460 100644 --- a/cpu/atmega328p/include/periph_cpu.h +++ b/cpu/atmega328p/include/periph_cpu.h @@ -57,6 +57,13 @@ enum { #define I2C_PIN_MASK (1 << PORTC4) | (1 << PORTC5) /** @} */ +/** + * @name EEPROM configuration + * @{ + */ +#define EEPROM_SIZE (1024U) /* 1kB */ +/** @} */ + #ifdef __cplusplus } #endif diff --git a/cpu/atmega_common/Makefile.features b/cpu/atmega_common/Makefile.features index ac0dd81727799a51f1c69a5b98e50cfa993506c7..2adc58bc7b14636dc5f388ec132999abbc2c65f0 100644 --- a/cpu/atmega_common/Makefile.features +++ b/cpu/atmega_common/Makefile.features @@ -1,2 +1,2 @@ -FEATURES_PROVIDED += periph_pm FEATURES_PROVIDED += periph_eeprom +FEATURES_PROVIDED += periph_pm diff --git a/cpu/stm32l0/Makefile.features b/cpu/stm32l0/Makefile.features index 79346e3fde7d24e7bad26dc3f25c3642a1ffe49a..5c7e361aee0902133b466163c65fe96d697a2bd3 100644 --- a/cpu/stm32l0/Makefile.features +++ b/cpu/stm32l0/Makefile.features @@ -1,7 +1,7 @@ +FEATURES_PROVIDED += periph_eeprom FEATURES_PROVIDED += periph_flash_common FEATURES_PROVIDED += periph_flashpage FEATURES_PROVIDED += periph_flashpage_raw -FEATURES_PROVIDED += periph_eeprom FEATURES_PROVIDED += periph_hwrng BOARDS_WITHOUT_HWRNG += nucleo-l031k6 diff --git a/cpu/stm32l0/include/cpu_conf.h b/cpu/stm32l0/include/cpu_conf.h index bae780aef6d9ef6ba880d7eab0c640b2c0728df9..d8cb2b5ed42303acd4869aad8cb40dc549ac4a7b 100644 --- a/cpu/stm32l0/include/cpu_conf.h +++ b/cpu/stm32l0/include/cpu_conf.h @@ -79,20 +79,6 @@ extern "C" { #define FLASHPAGE_RAW_ALIGNMENT (4U) /** @} */ -/** - * @name EEPROM configuration - * @{ - */ -#define EEPROM_START_ADDR (0x08080000) -#if defined(CPU_MODEL_STM32L073RZ) || defined(CPU_MODEL_STM32L072CZ) -#define EEPROM_SIZE (6144U) /* 6kB */ -#elif defined(CPU_MODEL_STM32L053R8) -#define EEPROM_SIZE (2048U) /* 2kB */ -#elif defined(CPU_MODEL_STM32L031K6) -#define EEPROM_SIZE (1024U) /* 1kB */ -#endif -/** @} */ - #ifdef __cplusplus } #endif diff --git a/cpu/stm32l0/include/periph_cpu.h b/cpu/stm32l0/include/periph_cpu.h index edac77599ffe49c3e51c722025cecbeaedaa47d5..a586a7bfc48bac7127b68dc7b935f356fee01ff8 100644 --- a/cpu/stm32l0/include/periph_cpu.h +++ b/cpu/stm32l0/include/periph_cpu.h @@ -76,6 +76,20 @@ typedef struct { */ #define PM_BLOCKER_INITIAL { .val_u32 = 0x01010101 } +/** + * @name EEPROM configuration + * @{ + */ +#define EEPROM_START_ADDR (0x08080000) +#if defined(CPU_MODEL_STM32L073RZ) || defined(CPU_MODEL_STM32L072CZ) +#define EEPROM_SIZE (6144U) /* 6kB */ +#elif defined(CPU_MODEL_STM32L053R8) +#define EEPROM_SIZE (2048U) /* 2kB */ +#elif defined(CPU_MODEL_STM32L031K6) +#define EEPROM_SIZE (1024U) /* 1kB */ +#endif +/** @} */ + #ifdef __cplusplus } #endif diff --git a/cpu/stm32l1/Makefile.features b/cpu/stm32l1/Makefile.features index a49d3982606d994b90b0c56290c1cea3d5fafd48..d93fc23829633db33c1e7399a1e747fa2e418594 100644 --- a/cpu/stm32l1/Makefile.features +++ b/cpu/stm32l1/Makefile.features @@ -1,6 +1,6 @@ +FEATURES_PROVIDED += periph_eeprom FEATURES_PROVIDED += periph_flash_common FEATURES_PROVIDED += periph_flashpage FEATURES_PROVIDED += periph_flashpage_raw -FEATURES_PROVIDED += periph_eeprom -include $(RIOTCPU)/stm32_common/Makefile.features diff --git a/cpu/stm32l1/include/cpu_conf.h b/cpu/stm32l1/include/cpu_conf.h index af78bf0516f48af5d2ece40c9dce5f1ef9168175..cb86a3bf531cc7ea6612740562f7c76b8f47ada5 100644 --- a/cpu/stm32l1/include/cpu_conf.h +++ b/cpu/stm32l1/include/cpu_conf.h @@ -93,18 +93,6 @@ extern "C" { #define FLASHPAGE_RAW_ALIGNMENT (4U) /** @} */ -/** - * @name EEPROM configuration - * @{ - */ -#define EEPROM_START_ADDR (0x08080000) -#if defined(CPU_MODEL_STM32L152RE) -#define EEPROM_SIZE (16384UL) /* 16kB */ -#elif defined(CPU_MODEL_STM32L151RC) -#define EEPROM_SIZE (8192U) /* 8kB */ -#endif -/** @} */ - #ifdef __cplusplus } #endif diff --git a/cpu/stm32l1/include/periph_cpu.h b/cpu/stm32l1/include/periph_cpu.h index 9144f9e5ffc6c7c6be604aa1a107da013f4660d9..2e453ac0f797d61e4d384d2eab76e2c3a54aa629 100644 --- a/cpu/stm32l1/include/periph_cpu.h +++ b/cpu/stm32l1/include/periph_cpu.h @@ -73,6 +73,18 @@ typedef enum { } adc_res_t; /** @} */ +/** + * @name EEPROM configuration + * @{ + */ +#define EEPROM_START_ADDR (0x08080000) +#if defined(CPU_MODEL_STM32L152RE) +#define EEPROM_SIZE (16384UL) /* 16kB */ +#elif defined(CPU_MODEL_STM32L151RC) +#define EEPROM_SIZE (8192U) /* 8kB */ +#endif +/** @} */ + #ifdef __cplusplus } #endif diff --git a/drivers/include/periph/eeprom.h b/drivers/include/periph/eeprom.h index 14750c594ee3c8b97dc5b376d7dbe40fb44e3560..09dd5034ee8b0b30ff031ca2f1762a5e942023c1 100644 --- a/drivers/include/periph/eeprom.h +++ b/drivers/include/periph/eeprom.h @@ -24,7 +24,6 @@ #include <stdint.h> -#include "cpu.h" #include "periph_cpu.h" #ifdef __cplusplus diff --git a/drivers/periph_common/eeprom.c b/drivers/periph_common/eeprom.c index f04c7af866ca9d0b4ce0e2e6a7503b59ed009d91..07fd94e6db61d3a57566ebb5d6afd3c360c95f56 100644 --- a/drivers/periph_common/eeprom.c +++ b/drivers/periph_common/eeprom.c @@ -19,7 +19,8 @@ */ #include <string.h> -#include "cpu.h" + +#include "periph_cpu.h" #include "assert.h" /* guard this file, must be done before including periph/eeprom.h */