From ec15c1ca64fbfa8311be5ac22de11b8e41764ff0 Mon Sep 17 00:00:00 2001 From: Karl Palsson Date: Wed, 17 Dec 2014 15:54:03 +0000 Subject: [PATCH] stm32: f24: flash: Make code match documentation This removes the shift from the defines, and includes them in the helper function, making the code match the documentation, and following how the rest of the library commonly operates. Code using the existing defines will continue to work. --- include/libopencm3/stm32/common/flash_common_f24.h | 10 ++++++---- lib/stm32/common/flash_common_f24.c | 4 ++-- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/include/libopencm3/stm32/common/flash_common_f24.h b/include/libopencm3/stm32/common/flash_common_f24.h index 79b1d248..c33d2dba 100644 --- a/include/libopencm3/stm32/common/flash_common_f24.h +++ b/include/libopencm3/stm32/common/flash_common_f24.h @@ -76,10 +76,12 @@ #define FLASH_CR_PG (1 << 0) #define FLASH_CR_SNB_SHIFT 3 #define FLASH_CR_SNB_MASK 0x1f -#define FLASH_CR_PROGRAM_X8 (0x00 << 8) -#define FLASH_CR_PROGRAM_X16 (0x01 << 8) -#define FLASH_CR_PROGRAM_X32 (0x02 << 8) -#define FLASH_CR_PROGRAM_X64 (0x03 << 8) +#define FLASH_CR_PROGRAM_MASK 0x3 +#define FLASH_CR_PROGRAM_SHIFT 8 +#define FLASH_CR_PROGRAM_X8 0 +#define FLASH_CR_PROGRAM_X16 1 +#define FLASH_CR_PROGRAM_X32 2 +#define FLASH_CR_PROGRAM_X64 3 /* --- FLASH_OPTCR values -------------------------------------------------- */ diff --git a/lib/stm32/common/flash_common_f24.c b/lib/stm32/common/flash_common_f24.c index 29f2b9e1..7d1ad373 100644 --- a/lib/stm32/common/flash_common_f24.c +++ b/lib/stm32/common/flash_common_f24.c @@ -38,8 +38,8 @@ programming manual for more information. static inline void flash_set_program_size(uint32_t psize) { - FLASH_CR &= ~(((1 << 0) | (1 << 1)) << 8); - FLASH_CR |= psize; + FLASH_CR &= ~(FLASH_CR_PROGRAM_MASK << FLASH_CR_PROGRAM_SHIFT); + FLASH_CR |= psize << FLASH_CR_PROGRAM_SHIFT; } /*---------------------------------------------------------------------------*/