Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions boards/arm/arty/arty_a7_arm_designstart_m1.dts
Original file line number Diff line number Diff line change
Expand Up @@ -28,11 +28,13 @@
itcm: memory@0 {
compatible = "arm,itcm";
reg = <0x00000000 DT_SIZE_K(64)>;
zephyr,memory-region = "ITCM";
};

dtcm: memory@20000000 {
compatible = "arm,dtcm";
reg = <0x20000000 DT_SIZE_K(32)>;
zephyr,memory-region = "DTCM";
};

bram0: memory@60000000 {
Expand Down
2 changes: 2 additions & 0 deletions boards/arm/arty/arty_a7_arm_designstart_m3.dts
Original file line number Diff line number Diff line change
Expand Up @@ -34,11 +34,13 @@
itcm: memory@0 {
compatible = "arm,itcm";
reg = <0x00000000 DT_SIZE_K(32)>;
zephyr,memory-region = "ITCM";
};

dtcm: memory@20000000 {
compatible = "arm,dtcm";
reg = <0x20000000 DT_SIZE_K(32)>;
zephyr,memory-region = "DTCM";
};

bram0: memory@60000000 {
Expand Down
2 changes: 2 additions & 0 deletions boards/arm/mps2_an521/mps2_an521.dts
Original file line number Diff line number Diff line change
Expand Up @@ -82,11 +82,13 @@
sram1: memory@10000000 {
compatible = "mmio-sram";
reg = <0x10000000 DT_SIZE_M(4)>;
zephyr,memory-region = "SRAM1";
};

sram2_3: memory@38000000 {
compatible = "mmio-sram";
reg = <0x38000000 DT_SIZE_M(4)>;
zephyr,memory-region = "SRAM2_3";
};

psram: memory@80000000 {
Expand Down
2 changes: 2 additions & 0 deletions boards/arm/mps2_an521/mps2_an521_ns.dts
Original file line number Diff line number Diff line change
Expand Up @@ -82,11 +82,13 @@
sram1: memory@0 {
compatible = "mmio-sram";
reg = <0x0 DT_SIZE_M(4)>;
zephyr,memory-region = "SRAM1";
};

sram2_3: memory@28000000 {
compatible = "mmio-sram";
reg = <0x28000000 DT_SIZE_M(4)>;
zephyr,memory-region = "SRAM2_3";
};

psram: memory@80000000 {
Expand Down
2 changes: 2 additions & 0 deletions boards/arm/mps2_an521/mps2_an521_remote.dts
Original file line number Diff line number Diff line change
Expand Up @@ -82,11 +82,13 @@
sram1: memory@0 {
compatible = "mmio-sram";
reg = <0x0 DT_SIZE_M(4)>;
zephyr,memory-region = "SRAM1";
};

sram2_3: memory@28000000 {
compatible = "mmio-sram";
reg = <0x28000000 DT_SIZE_M(4)>;
zephyr,memory-region = "SRAM2_3";
};

psram: memory@80000000 {
Expand Down
2 changes: 2 additions & 0 deletions boards/arm/mps3_an547/mps3_an547.dts
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,7 @@
*/
itcm: itcm@10000000 { /* alias @ 0x0 */
reg = <0x10000000 DT_SIZE_K(512)>;
zephyr,memory-region = "ITCM";
};

sram: sram@11000000 { /* alias @ 0x01000000 */
Expand All @@ -118,6 +119,7 @@

dtcm: dtcm@30000000 { /* alias @ 0x20000000 */
reg = <0x30000000 DT_SIZE_K(512)>;
zephyr,memory-region = "DTCM";
};

isram: sram@31000000 {/* alias @ 0x21000000 */
Expand Down
1 change: 1 addition & 0 deletions boards/arm/stm32f429i_disc1/stm32f429i_disc1.dts
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
sdram2: sdram@d0000000 {
device_type = "memory";
reg = <0xd0000000 DT_SIZE_M(8)>;
zephyr,memory-region = "SDRAM2";
};

leds {
Expand Down
1 change: 1 addition & 0 deletions boards/arm/stm32h747i_disco/stm32h747i_disco_m7.dts
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
sdram2: sdram@d0000000 {
device_type = "memory";
reg = <0xd0000000 DT_SIZE_M(32)>;
zephyr,memory-region = "SDRAM2";
};

leds {
Expand Down
16 changes: 10 additions & 6 deletions cmake/extensions.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -3316,9 +3316,9 @@ macro(zephyr_linker_memory_ifdef feature_toggle)
endmacro()

# Usage:
# zephyr_linker_dts_memory(NAME <name> PATH <path> FLAGS <flags>)
# zephyr_linker_dts_memory(NAME <name> NODELABEL <nodelabel> FLAGS <flags>)
# zephyr_linker_dts_memory(NAME <name> CHOSEN <prop> FLAGS <flags>)
# zephyr_linker_dts_memory(PATH <path> FLAGS <flags>)
# zephyr_linker_dts_memory(NODELABEL <nodelabel> FLAGS <flags>)
# zephyr_linker_dts_memory(CHOSEN <prop> FLAGS <flags>)
#
# Zephyr linker devicetree memory.
# This function specifies a memory region for the platform in use based on its
Expand All @@ -3329,7 +3329,6 @@ endmacro()
#
# Only one of PATH, NODELABEL, and CHOSEN parameters may be given.
#
# NAME <name> : Name of the memory region, for example FLASH.
# PATH <path> : Devicetree node identifier.
# NODELABEL <label>: Node label
# CHOSEN <prop> : Chosen property, add memory section described by the
Expand All @@ -3342,7 +3341,7 @@ endmacro()
# The flags r and x, or w and x may be combined like: rx, wx.
#
function(zephyr_linker_dts_memory)
set(single_args "CHOSEN;FLAGS;NAME;PATH;NODELABEL")
set(single_args "CHOSEN;FLAGS;PATH;NODELABEL")
cmake_parse_arguments(DTS_MEMORY "" "${single_args}" "" ${ARGN})

if(DTS_MEMORY_UNPARSED_ARGUMENTS)
Expand Down Expand Up @@ -3377,9 +3376,14 @@ function(zephyr_linker_dts_memory)

dt_reg_addr(addr PATH ${DTS_MEMORY_PATH})
dt_reg_size(size PATH ${DTS_MEMORY_PATH})
dt_prop(name PATH ${DTS_MEMORY_PATH} PROPERTY "memory-region")
if (NOT DEFINED name)
# Fallback to the node path
set(name ${DTS_MEMORY_PATH})
endif()
Comment on lines +3380 to +3383
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

minor nit, it's possible to do:

Suggested change
if (NOT DEFINED name)
# Fallback to the node path
set(name ${DTS_MEMORY_PATH})
endif()
set_ifndef(name ${DTS_MEMORY_PATH})

function(set_ifndef variable value)


zephyr_linker_memory(
NAME ${DTS_MEMORY_NAME}
NAME ${name}
START ${addr}
SIZE ${size}
FLAGS ${DTS_MEMORY_FLAGS}
Expand Down
22 changes: 11 additions & 11 deletions cmake/linker_script/arm/linker.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -35,19 +35,19 @@ zephyr_linker_memory(NAME RAM FLAGS wx START ${RAM_ADDR} SIZE ${RAM_SIZE}
zephyr_linker_memory(NAME IDT_LIST FLAGS wx START ${IDT_ADDR} SIZE 2K)

# TI CCFG Registers
zephyr_linker_dts_memory(NAME FLASH_CCFG FLAGS rwx NODELABEL ti_ccfg_partition)
zephyr_linker_dts_memory(NODELABEL ti_ccfg_partition FLAGS rwx)

# Data & Instruction Tightly Coupled Memory
zephyr_linker_dts_memory(NAME ITCM FLAGS rw CHOSEN "zephyr,itcm")
zephyr_linker_dts_memory(NAME DTCM FLAGS rw CHOSEN "zephyr,dtcm")

zephyr_linker_dts_memory(NAME SRAM1 FLAGS rw NODELABEL sram1)
zephyr_linker_dts_memory(NAME SRAM2 FLAGS rw NODELABEL sram2)
zephyr_linker_dts_memory(NAME SRAM3 FLAGS rw NODELABEL sram3)
zephyr_linker_dts_memory(NAME SRAM4 FLAGS rw NODELABEL sram4)
zephyr_linker_dts_memory(NAME SDRAM1 FLAGS rw NODELABEL sdram1)
zephyr_linker_dts_memory(NAME SDRAM2 FLAGS rw NODELABEL sdram2)
zephyr_linker_dts_memory(NAME BACKUP_SRAM FLAGS rw NODELABEL backup_sram)
zephyr_linker_dts_memory(CHOSEN "zephyr,itcm" FLAGS rw)
zephyr_linker_dts_memory(CHOSEN "zephyr,dtcm" FLAGS rw)

zephyr_linker_dts_memory(NODELABEL sram1 FLAGS rw)
zephyr_linker_dts_memory(NODELABEL sram2 FLAGS rw)
zephyr_linker_dts_memory(NODELABEL sram3 FLAGS rw)
zephyr_linker_dts_memory(NODELABEL sram4 FLAGS rw)
zephyr_linker_dts_memory(NODELABEL sdram1 FLAGS rw)
zephyr_linker_dts_memory(NODELABEL sdram2 FLAGS rw)
zephyr_linker_dts_memory(NODELABEL backup_sram FLAGS rw)

if(CONFIG_XIP)
zephyr_linker_group(NAME ROM_REGION LMA FLASH)
Expand Down
1 change: 1 addition & 0 deletions dts/arm/atmel/sam4l.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@
sram1: memory@21000000 {
compatible = "mmio-sram";
reg = <0x21000000 DT_SIZE_K(4)>;
zephyr,memory-region = "SRAM1";
};

soc {
Expand Down
2 changes: 2 additions & 0 deletions dts/arm/cypress/psoc6.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -59,11 +59,13 @@
sram1: memory@8023000 {
compatible = "mmio-sram";
reg = <0x08023000 DT_SIZE_K(4)>;
zephyr,memory-region = "SRAM1";
};

sram2: memory@8024000 {
compatible = "mmio-sram";
reg = <0x08024000 DT_SIZE_K(112)>;
zephyr,memory-region = "SRAM2";
};

soc {
Expand Down
1 change: 1 addition & 0 deletions dts/arm/nordic/nrf5340_cpunet.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@

sram1: memory@21000000 {
compatible = "mmio-sram";
zephyr,memory-region = "SRAM1";
};

clock: clock@41005000 {
Expand Down
2 changes: 2 additions & 0 deletions dts/arm/nxp/nxp_lpc11u6x.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -26,11 +26,13 @@
sram1:memory@20000000 {
compatible = "mmio-sram";
reg = <0x20000000 0x800>;
zephyr,memory-region = "SRAM1";
};

sram2:memory@20004000 {
compatible = "mmio-sram";
reg = <0x20004000 0x800>;
zephyr,memory-region = "SRAM2";
};

soc {
Expand Down
2 changes: 2 additions & 0 deletions dts/arm/nxp/nxp_lpc54xxx.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -52,11 +52,13 @@
sram1:memory@20010000 {
compatible = "mmio-sram";
reg = <0x20010000 DT_SIZE_K(64)>;
zephyr,memory-region = "SRAM1";
};

sram2:memory@20020000 {
compatible = "mmio-sram";
reg = <0x20020000 DT_SIZE_K(32)>;
zephyr,memory-region = "SRAM2";
};

sramx:memory@4000000{
Expand Down
3 changes: 3 additions & 0 deletions dts/arm/nxp/nxp_lpc55S1x_common.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -47,17 +47,20 @@
sram1: memory@20008000 {
compatible = "mmio-sram";
reg = <0x20008000 DT_SIZE_K(16)>;
zephyr,memory-region = "SRAM1";
};

sram2: memory@2000c000 {
compatible = "mmio-sram";
reg = <0x2000c000 DT_SIZE_K(16)>;
zephyr,memory-region = "SRAM2";
};

sram4: memory@20010000 {
/* Conencted to USB bus*/
compatible = "mmio-sram";
reg = <0x20010000 DT_SIZE_K(16)>;
zephyr,memory-region = "SRAM4";
};
};

Expand Down
3 changes: 3 additions & 0 deletions dts/arm/nxp/nxp_lpc55S2x_common.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -55,16 +55,19 @@
sram1: memory@20010000 {
compatible = "mmio-sram";
reg = <0x20010000 DT_SIZE_K(64)>;
zephyr,memory-region = "SRAM1";
};

sram2: memory@20020000 {
compatible = "mmio-sram";
reg = <0x20020000 DT_SIZE_K(64)>;
zephyr,memory-region = "SRAM2";
};

sram4: memory@20040000 {
compatible = "mmio-sram";
reg = <0x20040000 DT_SIZE_K(16)>;
zephyr,memory-region = "SRAM4";
};
};

Expand Down
4 changes: 4 additions & 0 deletions dts/arm/nxp/nxp_lpc55S6x_common.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -59,21 +59,25 @@
sram1: memory@20010000 {
compatible = "mmio-sram";
reg = <0x20010000 DT_SIZE_K(32)>;
zephyr,memory-region = "SRAM1";
};

sram2: memory@20018000 {
compatible = "mmio-sram";
reg = <0x20018000 DT_SIZE_K(32)>;
zephyr,memory-region = "SRAM2";
};

sram3: memory@20020000 {
compatible = "mmio-sram";
reg = <0x20020000 DT_SIZE_K(32)>;
zephyr,memory-region = "SRAM3";
};

sram4: memory@40100000 {
compatible = "mmio-sram";
reg = <0x40100000 DT_SIZE_K(16)>;
zephyr,memory-region = "SRAM4";
};
};

Expand Down
2 changes: 2 additions & 0 deletions dts/arm/nxp/nxp_rt.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -52,11 +52,13 @@
itcm: itcm@0 {
compatible = "nxp,imx-itcm";
reg = <0x00000000 DT_SIZE_K(128)>;
zephyr,memory-region = "ITCM";
};

dtcm: dtcm@20000000 {
compatible = "nxp,imx-dtcm";
reg = <0x20000000 DT_SIZE_K(128)>;
zephyr,memory-region = "DTCM";
};

ocram: ocram@20200000 {
Expand Down
1 change: 1 addition & 0 deletions dts/arm/nxp/nxp_rt1170_cm4.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
sram1: memory@20000000 {
compatible = "mmio-sram";
reg = <0x20000000 DT_SIZE_K(128)>;
zephyr,memory-region = "SRAM1";
};

/*
Expand Down
2 changes: 2 additions & 0 deletions dts/arm/nxp/nxp_rt1170_cm7.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,13 @@
itcm: itcm@0 {
compatible = "nxp,imx-itcm";
reg = <0x00000000 DT_SIZE_K(256)>;
zephyr,memory-region = "ITCM";
};

dtcm: dtcm@20000000 {
compatible = "nxp,imx-dtcm";
reg = <0x20000000 DT_SIZE_K(256)>;
zephyr,memory-region = "DTCM";
};
};

Expand Down
1 change: 1 addition & 0 deletions dts/arm/st/f2/stm32f2.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -553,6 +553,7 @@
reg = <0x40024000 DT_SIZE_K(4)>;
clocks = <&rcc STM32_CLOCK_BUS_AHB1 0x00040000>;
label = "BACKUP_SRAM";
zephyr,memory-region = "BACKUP_SRAM";
status = "disabled";
};
};
Expand Down
1 change: 1 addition & 0 deletions dts/arm/st/f4/stm32f405.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -227,6 +227,7 @@
reg = <0x40024000 DT_SIZE_K(4)>;
clocks = <&rcc STM32_CLOCK_BUS_AHB1 0x00040000>;
label = "BACKUP_SRAM";
zephyr,memory-region = "BACKUP_SRAM";
status = "disabled";
};

Expand Down
1 change: 1 addition & 0 deletions dts/arm/st/f4/stm32f446.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,7 @@
reg = <0x40024000 DT_SIZE_K(4)>;
clocks = <&rcc STM32_CLOCK_BUS_AHB1 0x00040000>;
label = "BACKUP_SRAM";
zephyr,memory-region = "BACKUP_SRAM";
status = "disabled";
};

Expand Down
1 change: 1 addition & 0 deletions dts/arm/st/f7/stm32f7.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -743,6 +743,7 @@
reg = <0x40024000 DT_SIZE_K(4)>;
clocks = <&rcc STM32_CLOCK_BUS_AHB1 0x00040000>;
label = "BACKUP_SRAM";
zephyr,memory-region = "BACKUP_SRAM";
status = "disabled";
};

Expand Down
1 change: 1 addition & 0 deletions dts/arm/st/f7/stm32f723.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
dtcm: memory@20000000 {
compatible = "arm,dtcm";
reg = <0x20000000 DT_SIZE_K(64)>;
zephyr,memory-region = "DTCM";
};

soc {
Expand Down
1 change: 1 addition & 0 deletions dts/arm/st/f7/stm32f745.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
dtcm: memory@20000000 {
compatible = "arm,dtcm";
reg = <0x20000000 DT_SIZE_K(64)>;
zephyr,memory-region = "DTCM";
};

soc {
Expand Down
1 change: 1 addition & 0 deletions dts/arm/st/f7/stm32f767.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
dtcm: memory@20000000 {
compatible = "arm,dtcm";
reg = <0x20000000 DT_SIZE_K(128)>;
zephyr,memory-region = "DTCM";
};

soc {
Expand Down
Loading