From 9b4298c20d2caec178e533db1f1027abaadce19b Mon Sep 17 00:00:00 2001 From: Kumar Gala Date: Thu, 23 Apr 2020 17:55:58 -0500 Subject: [PATCH] arm: Convert DT_CCM_* to new devicetree.h macros Convert various DT_CCM_* macros to use DT_CHOSEN(zephyr_ccm) and associated macros from devicetree.h. We remove CCM references from cortex_a and cortex_r linker scripts as its only a feature on Cortex-M STM32 SoCs. Signed-off-by: Kumar Gala --- include/arch/arm/aarch32/cortex_a_r/scripts/linker.ld | 3 --- include/arch/arm/aarch32/cortex_m/scripts/linker.ld | 4 ++-- include/arch/arm/aarch64/scripts/linker.ld | 3 --- include/linker/linker-defs.h | 4 ++-- kernel/init.c | 4 ++-- 5 files changed, 6 insertions(+), 12 deletions(-) diff --git a/include/arch/arm/aarch32/cortex_a_r/scripts/linker.ld b/include/arch/arm/aarch32/cortex_a_r/scripts/linker.ld index f2725e36b2f..57c73e680a8 100644 --- a/include/arch/arm/aarch32/cortex_a_r/scripts/linker.ld +++ b/include/arch/arm/aarch32/cortex_a_r/scripts/linker.ld @@ -81,9 +81,6 @@ _region_min_align = 4; MEMORY { FLASH (rx) : ORIGIN = ROM_ADDR, LENGTH = ROM_SIZE -#ifdef DT_CCM_BASE_ADDRESS - CCM (rw) : ORIGIN = DT_CCM_BASE_ADDRESS, LENGTH = DT_CCM_SIZE * 1K -#endif SRAM (wx) : ORIGIN = RAM_ADDR, LENGTH = RAM_SIZE /* Used by and documented in include/linker/intlist.ld */ IDT_LIST (wx) : ORIGIN = (RAM_ADDR + RAM_SIZE), LENGTH = 2K diff --git a/include/arch/arm/aarch32/cortex_m/scripts/linker.ld b/include/arch/arm/aarch32/cortex_m/scripts/linker.ld index 92e80ee97fb..9805765e904 100644 --- a/include/arch/arm/aarch32/cortex_m/scripts/linker.ld +++ b/include/arch/arm/aarch32/cortex_m/scripts/linker.ld @@ -95,8 +95,8 @@ MEMORY #ifdef CONFIG_HAS_TI_CCFG FLASH_CCFG (rwx): ORIGIN = CCFG_ADDR, LENGTH = CCFG_SIZE #endif -#ifdef DT_CCM_BASE_ADDRESS - CCM (rw) : ORIGIN = DT_CCM_BASE_ADDRESS, LENGTH = DT_CCM_SIZE * 1K +#if DT_HAS_NODE(DT_CHOSEN(zephyr_ccm)) + CCM (rw) : ORIGIN = DT_REG_ADDR(DT_CHOSEN(zephyr_ccm)), LENGTH = DT_REG_SIZE(DT_CHOSEN(zephyr_ccm)) #endif #if DT_HAS_NODE(DT_CHOSEN(zephyr_dtcm)) DTCM (rw) : ORIGIN = DT_REG_ADDR(DT_CHOSEN(zephyr_dtcm)), LENGTH = DT_REG_SIZE(DT_CHOSEN(zephyr_dtcm)) diff --git a/include/arch/arm/aarch64/scripts/linker.ld b/include/arch/arm/aarch64/scripts/linker.ld index 6f270968e56..ddb4458cf1d 100644 --- a/include/arch/arm/aarch64/scripts/linker.ld +++ b/include/arch/arm/aarch64/scripts/linker.ld @@ -77,9 +77,6 @@ MEMORY { FLASH (rx) : ORIGIN = ROM_ADDR, LENGTH = ROM_SIZE -#ifdef DT_CCM_BASE_ADDRESS - CCM (rw) : ORIGIN = DT_CCM_BASE_ADDRESS, LENGTH = DT_CCM_SIZE * 1K -#endif SRAM (wx) : ORIGIN = RAM_ADDR, LENGTH = RAM_SIZE /* Used by and documented in include/linker/intlist.ld */ IDT_LIST (wx) : ORIGIN = (RAM_ADDR + RAM_SIZE), LENGTH = 2K diff --git a/include/linker/linker-defs.h b/include/linker/linker-defs.h index 8b2549e0313..95904b229aa 100644 --- a/include/linker/linker-defs.h +++ b/include/linker/linker-defs.h @@ -215,7 +215,7 @@ extern char __gcov_bss_size[]; /* end address of image, used by newlib for the heap */ extern char _end[]; -#ifdef DT_CCM_BASE_ADDRESS +#if DT_HAS_NODE(DT_CHOSEN(zephyr_ccm)) extern char __ccm_data_rom_start[]; extern char __ccm_start[]; extern char __ccm_data_start[]; @@ -225,7 +225,7 @@ extern char __ccm_bss_end[]; extern char __ccm_noinit_start[]; extern char __ccm_noinit_end[]; extern char __ccm_end[]; -#endif /* DT_CCM_BASE_ADDRESS */ +#endif #if DT_HAS_NODE(DT_CHOSEN(zephyr_dtcm)) extern char __dtcm_data_start[]; diff --git a/kernel/init.c b/kernel/init.c index fecbb73b6e5..4eff8f5983e 100644 --- a/kernel/init.c +++ b/kernel/init.c @@ -106,7 +106,7 @@ extern void idle(void *unused1, void *unused2, void *unused3); void z_bss_zero(void) { (void)memset(__bss_start, 0, __bss_end - __bss_start); -#ifdef DT_CCM_BASE_ADDRESS +#if DT_HAS_NODE(DT_CHOSEN(zephyr_ccm)) (void)memset(&__ccm_bss_start, 0, ((u32_t) &__ccm_bss_end - (u32_t) &__ccm_bss_start)); #endif @@ -147,7 +147,7 @@ void z_data_copy(void) (void)memcpy(&_ramfunc_ram_start, &_ramfunc_rom_start, (uintptr_t) &_ramfunc_ram_size); #endif /* CONFIG_ARCH_HAS_RAMFUNC_SUPPORT */ -#ifdef DT_CCM_BASE_ADDRESS +#if DT_HAS_NODE(DT_CHOSEN(zephyr_ccm)) (void)memcpy(&__ccm_data_start, &__ccm_data_rom_start, __ccm_data_end - __ccm_data_start); #endif