linker: remove manual name specification
As memory region names are now derived purely from devicetree, remove the `name` parameter from `DT_REGION_FROM_NODE_STATUS_OKAY`. Name is `zephyr,linker-region` if it exists, otherwise the node path. Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
This commit is contained in:
parent
749b112fa8
commit
7b2a388d1d
5 changed files with 35 additions and 31 deletions
|
@ -81,7 +81,7 @@ MEMORY
|
|||
{
|
||||
FLASH (rx) : ORIGIN = ROM_ADDR, LENGTH = ROM_SIZE
|
||||
SRAM (wx) : ORIGIN = RAM_ADDR, LENGTH = RAM_SIZE
|
||||
LINKER_DT_REGION_FROM_NODE(OCM, rw, DT_CHOSEN(zephyr_ocm))
|
||||
LINKER_DT_REGION_FROM_NODE(DT_CHOSEN(zephyr_ocm), rw)
|
||||
/* Used by and documented in include/linker/intlist.ld */
|
||||
IDT_LIST (wx) : ORIGIN = 0xFFFFF7FF, LENGTH = 2K
|
||||
}
|
||||
|
|
|
@ -82,21 +82,21 @@ MEMORY
|
|||
FLASH (rx) : ORIGIN = ROM_ADDR, LENGTH = ROM_SIZE
|
||||
SRAM (wx) : ORIGIN = RAM_ADDR, LENGTH = RAM_SIZE
|
||||
/* TI CCFG Registers */
|
||||
LINKER_DT_REGION_FROM_NODE(FLASH_CCFG, rwx, DT_NODELABEL(ti_ccfg_partition))
|
||||
LINKER_DT_REGION_FROM_NODE(DT_NODELABEL(ti_ccfg_partition), rwx)
|
||||
/* Data & Instruction Tightly Coupled Memory */
|
||||
LINKER_DT_REGION_FROM_NODE(ITCM, rw, DT_CHOSEN(zephyr_itcm))
|
||||
LINKER_DT_REGION_FROM_NODE(DTCM, rw, DT_CHOSEN(zephyr_dtcm))
|
||||
LINKER_DT_REGION_FROM_NODE(DT_CHOSEN(zephyr_itcm), rw)
|
||||
LINKER_DT_REGION_FROM_NODE(DT_CHOSEN(zephyr_dtcm), rw)
|
||||
/* STM32 Core Coupled Memory */
|
||||
LINKER_DT_REGION_FROM_NODE(CCM, rw, DT_CHOSEN(zephyr_ccm))
|
||||
LINKER_DT_REGION_FROM_NODE(DT_CHOSEN(zephyr_ccm), rw)
|
||||
/* STM32WB IPC RAM */
|
||||
LINKER_DT_REGION_FROM_NODE(SRAM1, rw, DT_NODELABEL(sram1))
|
||||
LINKER_DT_REGION_FROM_NODE(SRAM2, rw, DT_NODELABEL(sram2))
|
||||
LINKER_DT_REGION_FROM_NODE(DT_NODELABEL(sram1), rw)
|
||||
LINKER_DT_REGION_FROM_NODE(DT_NODELABEL(sram2), rw)
|
||||
/* STM32 alternate RAM configurations */
|
||||
LINKER_DT_REGION_FROM_NODE(SRAM3, rw, DT_NODELABEL(sram3))
|
||||
LINKER_DT_REGION_FROM_NODE(SRAM4, rw, DT_NODELABEL(sram4))
|
||||
LINKER_DT_REGION_FROM_NODE(SDRAM1, rw, DT_NODELABEL(sdram1))
|
||||
LINKER_DT_REGION_FROM_NODE(SDRAM2, rw, DT_NODELABEL(sdram2))
|
||||
LINKER_DT_REGION_FROM_NODE(BACKUP_SRAM, rw, DT_NODELABEL(backup_sram))
|
||||
LINKER_DT_REGION_FROM_NODE(DT_NODELABEL(sram3), rw)
|
||||
LINKER_DT_REGION_FROM_NODE(DT_NODELABEL(sram4), rw)
|
||||
LINKER_DT_REGION_FROM_NODE(DT_NODELABEL(sdram1), rw)
|
||||
LINKER_DT_REGION_FROM_NODE(DT_NODELABEL(sdram2), rw)
|
||||
LINKER_DT_REGION_FROM_NODE(DT_NODELABEL(backup_sram), rw)
|
||||
/* Used by and documented in include/linker/intlist.ld */
|
||||
IDT_LIST (wx) : ORIGIN = 0xFFFFF7FF, LENGTH = 2K
|
||||
}
|
||||
|
|
|
@ -82,8 +82,8 @@ MEMORY
|
|||
RAM (rwx) : ORIGIN = RAM_BASE, LENGTH = RAM_SIZE
|
||||
|
||||
/* Data & Instruction Tightly Coupled Memory */
|
||||
LINKER_DT_REGION_FROM_NODE(ITCM, rw, DT_CHOSEN(zephyr_itcm))
|
||||
LINKER_DT_REGION_FROM_NODE(DTCM, rw, DT_CHOSEN(zephyr_dtcm))
|
||||
LINKER_DT_REGION_FROM_NODE(DT_CHOSEN(zephyr_itcm), rw)
|
||||
LINKER_DT_REGION_FROM_NODE(DT_CHOSEN(zephyr_dtcm), rw)
|
||||
|
||||
/* Used by and documented in include/linker/intlist.ld */
|
||||
IDT_LIST (wx) : ORIGIN = 0xFFFFF7FF, LENGTH = 2K
|
||||
|
|
|
@ -35,25 +35,29 @@
|
|||
#define LINKER_DT_NODE_REGION_NAME(node_id) \
|
||||
DT_PROP_OR(node_id, zephyr_memory_region, DT_NODE_PATH(node_id))
|
||||
|
||||
/* Declare a memory region */
|
||||
#define _REGION_DECLARE(name, attr, node) name(attr) : \
|
||||
ORIGIN = DT_REG_ADDR(node), \
|
||||
LENGTH = DT_REG_SIZE(node)
|
||||
/** @cond INTERNAL_HIDDEN */
|
||||
|
||||
/**
|
||||
* @brief Declare a memory region
|
||||
*
|
||||
* @param node_id devicetree node identifier
|
||||
* @param attr region attributes
|
||||
*/
|
||||
#define _REGION_DECLARE(node_id, attr) \
|
||||
LINKER_DT_NODE_REGION_NAME(node_id)(attr) : \
|
||||
ORIGIN = DT_REG_ADDR(node_id), \
|
||||
LENGTH = DT_REG_SIZE(node_id)
|
||||
|
||||
/** @endcond */
|
||||
|
||||
/**
|
||||
* @brief Generate a linker memory region from a devicetree node
|
||||
*
|
||||
* If @p node_id refers to a node with status "okay", then this declares
|
||||
* a linker memory region named @p name with attributes from @p attr.
|
||||
*
|
||||
* Otherwise, it doesn't expand to anything.
|
||||
*
|
||||
* @param name name of the generated memory region
|
||||
* @param node_id devicetree node identifier with a \<reg\> property defining
|
||||
* region location and size
|
||||
* @param attr region attributes to use (rx, rw, ...)
|
||||
* @param node_id devicetree node identifier with a \<reg\> property
|
||||
* defining region location and size.
|
||||
*/
|
||||
#define LINKER_DT_REGION_FROM_NODE(name, attr, node_id) \
|
||||
COND_CODE_1(DT_NODE_HAS_STATUS(node_id, okay), \
|
||||
(_REGION_DECLARE(name, attr, node_id)), \
|
||||
#define LINKER_DT_REGION_FROM_NODE(node_id, attr) \
|
||||
COND_CODE_1(DT_NODE_HAS_STATUS(node_id, okay), \
|
||||
(_REGION_DECLARE(node_id, attr)), \
|
||||
())
|
||||
|
|
|
@ -88,8 +88,8 @@ MEMORY
|
|||
RAM (rwx) : ORIGIN = RAM_BASE, LENGTH = RAM_SIZE
|
||||
|
||||
/* Data & Instruction Tightly Coupled Memory */
|
||||
LINKER_DT_REGION_FROM_NODE(ITCM, rw, DT_CHOSEN(zephyr_itcm))
|
||||
LINKER_DT_REGION_FROM_NODE(DTCM, rw, DT_CHOSEN(zephyr_dtcm))
|
||||
LINKER_DT_REGION_FROM_NODE(DT_CHOSEN(zephyr_itcm), rw)
|
||||
LINKER_DT_REGION_FROM_NODE(DT_CHOSEN(zephyr_dtcm), rw)
|
||||
|
||||
/* Used by and documented in include/linker/intlist.ld */
|
||||
IDT_LIST (wx) : ORIGIN = 0xFFFFF7FF, LENGTH = 2K
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue