drivers: flash: stm32: Convert to new DT macros

Replace DT_FLASH_SIZE with new DT_REG_SIZE macro.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
This commit is contained in:
Kumar Gala 2020-04-09 13:02:07 -05:00 committed by Kumar Gala
commit 613dba7fac
2 changed files with 9 additions and 6 deletions

View file

@ -153,8 +153,8 @@ void flash_stm32_page_layout(struct device *dev,
ARG_UNUSED(dev);
if (stm32f3_flash_layout.pages_count == 0) {
stm32f3_flash_layout.pages_count = DT_FLASH_SIZE \
* 1024 / FLASH_PAGE_SIZE;
stm32f3_flash_layout.pages_count =
DT_REG_SIZE(DT_INST(0, soc_nv_flash)) / FLASH_PAGE_SIZE;
stm32f3_flash_layout.pages_size = FLASH_PAGE_SIZE;
}

View file

@ -111,6 +111,8 @@ static int write_dword(struct device *dev, off_t offset, u64_t val)
return rc;
}
#define SOC_NV_FLASH_SIZE DT_REG_SIZE(DT_INST(0, soc_nv_flash))
static int erase_page(struct device *dev, unsigned int page)
{
FLASH_TypeDef *regs = FLASH_STM32_REGS(dev);
@ -120,13 +122,14 @@ static int erase_page(struct device *dev, unsigned int page)
#if !defined(FLASH_OPTR_DUALBANK) && !defined(FLASH_OPTR_DBANK)
/* Single bank device. Each page is of 2KB size */
pages_per_bank = DT_FLASH_SIZE >> 1;
pages_per_bank = SOC_NV_FLASH_SIZE >> 11;
#elif defined(FLASH_OPTR_DUALBANK)
/* L4 series (2K page size) with configurable Dual Bank (default y) */
/* Dual Bank is only option for 1M devices */
if ((regs->OPTR & FLASH_OPTR_DUALBANK) || (DT_FLASH_SIZE == 1024)) {
if ((regs->OPTR & FLASH_OPTR_DUALBANK) ||
(SOC_NV_FLASH_SIZE == (1024*1024))) {
/* Dual Bank configuration (nbr pages = flash size / 2 / 2K) */
pages_per_bank = DT_FLASH_SIZE >> 2;
pages_per_bank = SOC_NV_FLASH_SIZE >> 12;
} else {
/* Single bank configuration. This has not been validated. */
/* Not supported for now. */
@ -136,7 +139,7 @@ static int erase_page(struct device *dev, unsigned int page)
/* L4+ series (4K page size) with configurable Dual Bank (default y)*/
if (regs->OPTR & FLASH_OPTR_DBANK) {
/* Dual Bank configuration (nbre pags = flash size / 2 / 4K) */
pages_per_bank = DT_FLASH_SIZE >> 3;
pages_per_bank = SOC_NV_FLASH_SIZE >> 13;
} else {
/* Single bank configuration */
/* Requires 128 bytes data read. This config is not supported */