diff --git a/drivers/flash/flash_gecko.c b/drivers/flash/flash_gecko.c index 5aec65af34c..b2e7084f98a 100644 --- a/drivers/flash/flash_gecko.c +++ b/drivers/flash/flash_gecko.c @@ -4,7 +4,8 @@ * SPDX-License-Identifier: Apache-2.0 */ -#define DT_DRV_COMPAT soc_nv_flash +#define DT_DRV_COMPAT silabs_gecko_flash_controller +#define SOC_NV_FLASH_NODE DT_INST(0, soc_nv_flash) #include #include @@ -163,9 +164,9 @@ static int erase_flash_block(off_t offset, size_t size) #if CONFIG_FLASH_PAGE_LAYOUT static const struct flash_pages_layout flash_gecko_0_pages_layout = { - .pages_count = (CONFIG_FLASH_SIZE * 1024) / - DT_INST_PROP(0, erase_block_size), - .pages_size = DT_INST_PROP(0, erase_block_size), + .pages_count = DT_REG_SIZE(SOC_NV_FLASH_NODE) / + DT_PROP(SOC_NV_FLASH_NODE, erase_block_size), + .pages_size = DT_PROP(SOC_NV_FLASH_NODE, erase_block_size), }; void flash_gecko_page_layout(struct device *dev, @@ -201,7 +202,7 @@ static const struct flash_driver_api flash_gecko_driver_api = { #ifdef CONFIG_FLASH_PAGE_LAYOUT .page_layout = flash_gecko_page_layout, #endif - .write_block_size = DT_INST_PROP(0, write_block_size), + .write_block_size = DT_PROP(SOC_NV_FLASH_NODE, write_block_size), }; static struct flash_gecko_data flash_gecko_0_data;