@@ -40,14 +40,20 @@ LOG_MODULE_REGISTER(soc, CONFIG_SOC_LOG_LEVEL);
4040 DT_REG_ADDR(COND_CODE_1(DT_FIXED_SUBPARTITION_EXISTS(DT_NODELABEL(label)), \
4141 (DT_GPARENT(DT_PARENT(DT_NODELABEL(label)))), \
4242 (DT_GPARENT(DT_NODELABEL(label))))))
43+ #define FIXED_PARTITION_NODE_MTD (node ) \
44+ COND_CODE_1( \
45+ DT_FIXED_SUBPARTITION_EXISTS(node), \
46+ (DT_MTD_FROM_FIXED_SUBPARTITION(node)), \
47+ (DT_MTD_FROM_FIXED_PARTITION(node)))
4348
4449#ifdef CONFIG_USE_DT_CODE_PARTITION
4550#define FLASH_LOAD_OFFSET DT_REG_ADDR(DT_CHOSEN(zephyr_code_partition))
4651#elif defined(CONFIG_FLASH_LOAD_OFFSET )
4752#define FLASH_LOAD_OFFSET CONFIG_FLASH_LOAD_OFFSET
4853#endif
49-
50- #define PARTITION_IS_RUNNING_APP_PARTITION (label ) \
54+ #define FIXED_PARTITION_IS_RUNNING_APP_PARTITION (label ) \
55+ DT_SAME_NODE(FIXED_PARTITION_NODE_MTD(DT_CHOSEN(zephyr_code_partition)), \
56+ FIXED_PARTITION_NODE_MTD(DT_NODELABEL(label))) && \
5157 (DT_REG_ADDR(DT_NODELABEL(label)) <= FLASH_LOAD_OFFSET && \
5258 DT_REG_ADDR(DT_NODELABEL(label)) + DT_REG_SIZE(DT_NODELABEL(label)) > FLASH_LOAD_OFFSET)
5359
@@ -198,7 +204,7 @@ void soc_late_init_hook(void)
198204 void * radiocore_address = NULL ;
199205
200206#if DT_NODE_EXISTS (DT_NODELABEL (cpurad_slot1_partition ))
201- if (PARTITION_IS_RUNNING_APP_PARTITION (cpuapp_slot1_partition )) {
207+ if (FIXED_PARTITION_IS_RUNNING_APP_PARTITION (cpuapp_slot1_partition )) {
202208 radiocore_address = (void * )(FIXED_PARTITION_ADDRESS (cpurad_slot1_partition ) +
203209 CONFIG_ROM_START_OFFSET );
204210 } else {
0 commit comments