drivers: flash: stm32: Convert to use device tree

Convert STM32 flash drivers to use device tree to get the flash
controller name and base address.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
This commit is contained in:
Kumar Gala 2018-01-19 14:58:39 -06:00 committed by Kumar Gala
commit dc98605f4a
10 changed files with 33 additions and 16 deletions

View file

@ -0,0 +1,6 @@
/* SoC level DTS fixup file */
#define FLASH_DEV_BASE_ADDRESS ST_STM32F0_FLASH_CONTROLLER_40022000_BASE_ADDRESS_0
#define FLASH_DEV_NAME ST_STM32F0_FLASH_CONTROLLER_40022000_LABEL
/* End of SoC Level DTS fixup file */

View file

@ -0,0 +1,6 @@
/* SoC level DTS fixup file */
#define FLASH_DEV_BASE_ADDRESS ST_STM32F3_FLASH_CONTROLLER_40022000_BASE_ADDRESS_0
#define FLASH_DEV_NAME ST_STM32F3_FLASH_CONTROLLER_40022000_LABEL
/* End of SoC Level DTS fixup file */

View file

@ -0,0 +1,6 @@
/* SoC level DTS fixup file */
#define FLASH_DEV_BASE_ADDRESS ST_STM32F4_FLASH_CONTROLLER_40023C00_BASE_ADDRESS_0
#define FLASH_DEV_NAME ST_STM32F4_FLASH_CONTROLLER_40023C00_LABEL
/* End of SoC Level DTS fixup file */

View file

@ -58,7 +58,7 @@
/* For IMG_MANAGER */
#if defined(CONFIG_SOC_FLASH_STM32)
#define FLASH_DRIVER_NAME CONFIG_SOC_FLASH_STM32_DEV_NAME
#define FLASH_DRIVER_NAME FLASH_DEV_NAME
#endif
#endif /* !_ASMLANGUAGE */

View file

@ -0,0 +1,6 @@
/* SoC level DTS fixup file */
#define FLASH_DEV_BASE_ADDRESS ST_STM32L4_FLASH_CONTROLLER_40022000_BASE_ADDRESS_0
#define FLASH_DEV_NAME ST_STM32L4_FLASH_CONTROLLER_40022000_LABEL
/* End of SoC Level DTS fixup file */

View file

@ -57,7 +57,7 @@
/* For IMG_MANAGER */
#if defined(CONFIG_SOC_FLASH_STM32)
#define FLASH_DRIVER_NAME CONFIG_SOC_FLASH_STM32_DEV_NAME
#define FLASH_DRIVER_NAME FLASH_DEV_NAME
#endif
#endif /* !_ASMLANGUAGE */

View file

@ -22,11 +22,4 @@ menuconfig SOC_FLASH_STM32
help
Enable STM32F0x, STM32F3x, STM32F4x OR STM32L4x series flash driver.
config SOC_FLASH_STM32_DEV_NAME
string "STM32 flash device name"
depends on SOC_FLASH_STM32
default "FLASH_STM32"
help
Specify the device name for the flash driver.
endif

View file

@ -204,13 +204,13 @@ static int flash_stm32_write_protection(struct device *dev, bool enable)
static struct flash_stm32_priv flash_data = {
#if defined(CONFIG_SOC_SERIES_STM32F0X)
.regs = (struct stm32f0x_flash *) FLASH_R_BASE,
.regs = (struct stm32f0x_flash *) FLASH_DEV_BASE_ADDRESS,
.pclken = { .bus = STM32_CLOCK_BUS_AHB1,
.enr = LL_AHB1_GRP1_PERIPH_FLASH },
#elif defined(CONFIG_SOC_SERIES_STM32F4X)
.regs = (struct stm32f4x_flash *) FLASH_R_BASE,
.regs = (struct stm32f4x_flash *) FLASH_DEV_BASE_ADDRESS,
#elif defined(CONFIG_SOC_SERIES_STM32L4X)
.regs = (struct stm32l4x_flash *) FLASH_R_BASE,
.regs = (struct stm32l4x_flash *) FLASH_DEV_BASE_ADDRESS,
.pclken = { .bus = STM32_CLOCK_BUS_AHB1,
.enr = LL_AHB1_GRP1_PERIPH_FLASH },
#endif
@ -260,6 +260,6 @@ static int stm32_flash_init(struct device *dev)
return flash_stm32_write_protection(dev, false);
}
DEVICE_AND_API_INIT(stm32_flash, CONFIG_SOC_FLASH_STM32_DEV_NAME,
DEVICE_AND_API_INIT(stm32_flash, FLASH_DEV_NAME,
stm32_flash_init, &flash_data, NULL, POST_KERNEL,
CONFIG_KERNEL_INIT_PRIORITY_DEVICE, &flash_stm32_api);

View file

@ -133,7 +133,7 @@ static const struct flash_driver_api flash_stm32_api = {
};
static const struct flash_stm32_dev_config flash_device_config = {
.base = (u32_t *)FLASH_R_BASE,
.base = (u32_t *)FLASH_DEV_BASE_ADDRESS,
.pclken = { .bus = STM32_CLOCK_BUS_APB1,
.enr = LL_AHB1_GRP1_PERIPH_FLASH},
};
@ -142,7 +142,7 @@ static struct flash_stm32_dev_data flash_device_data = {
};
DEVICE_AND_API_INIT(flash_stm32, CONFIG_SOC_FLASH_STM32_DEV_NAME,
DEVICE_AND_API_INIT(flash_stm32, FLASH_DEV_NAME,
flash_stm32_init,
&flash_device_data,
&flash_device_config,

View file

@ -72,7 +72,7 @@ static int shell_cmd_write_stm32(int argc, char *argv[])
ARG_UNUSED(argv);
struct device *flash_dev;
flash_dev = device_get_binding(CONFIG_SOC_FLASH_STM32_DEV_NAME);
flash_dev = device_get_binding(FLASH_DEV_NAME);
/* 16K reserved to the application */
u32_t offset = FLASH_MEM + 0x4000;