Skip to content

Commit 75718fa

Browse files
jonathannilsenrlubos
authored andcommitted
[nrf fromtree] boards: nordic: nrf54h20dk: refactor RAM memory map
Refactor the default RAM memory map on nrf54h20dk: Removes use of "nordic,owned-memory" which is no longer needed on nrf54h20. Reserved memory nodes that were under "nordic,owned-memory" have been moved directly under reserved-memory. The memory shared between cpuapp-cpusec and cpurad-cpusec in RAM0x is no longer used with IronSide, since IPC buffers toward the secure domain are at new fixed locations. The cpuapp_data region has been expanded to fill the available space in RAM0x when removing these shared memory regions. Signed-off-by: Jonathan Nilsen <[email protected]> (cherry picked from commit 38e6002)
1 parent 9f67617 commit 75718fa

File tree

11 files changed

+34
-153
lines changed

11 files changed

+34
-153
lines changed

boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20-memory_map.dtsi

Lines changed: 33 additions & 102 deletions
Original file line numberDiff line numberDiff line change
@@ -7,62 +7,20 @@
77

88
/ {
99
reserved-memory {
10-
cpuapp_ram0x_region: memory@2f010000 {
11-
compatible = "nordic,owned-memory";
12-
reg = <0x2f010000 DT_SIZE_K(260)>;
13-
status = "disabled";
14-
nordic,access = <NRF_OWNER_ID_APPLICATION NRF_PERM_RWS>;
15-
#address-cells = <1>;
16-
#size-cells = <1>;
17-
ranges = <0x0 0x2f010000 0x41000>;
18-
19-
cpuapp_data: memory@1000 {
20-
reg = <0x1000 DT_SIZE_K(256)>;
21-
};
10+
cpuapp_data: memory@2f000000 {
11+
reg = <0x2f000000 DT_SIZE_K(760)>;
2212
};
2313

24-
cpurad_ram0x_region: memory@2f051000 {
25-
compatible = "nordic,owned-memory";
26-
reg = <0x2f051000 DT_SIZE_K(4)>;
27-
status = "disabled";
28-
nordic,access = <NRF_OWNER_ID_RADIOCORE NRF_PERM_RWS>;
29-
#address-cells = <1>;
30-
#size-cells = <1>;
31-
ranges = <0x0 0x2f051000 0x1000>;
32-
};
33-
34-
etr_buf_ram0x_region: memory@2f0be000 {
35-
compatible = "nordic,owned-memory";
14+
etr_buffer: memory@2f0be000 {
3615
reg = <0x2f0be000 DT_SIZE_K(4)>;
37-
status = "disabled";
38-
nordic,access = <NRF_OWNER_ID_APPLICATION NRF_PERM_RWS>;
39-
#address-cells = <1>;
40-
#size-cells = <1>;
41-
ranges = <0x0 0x2f0be000 0x1000>;
42-
43-
/* TODO In future move this region to cpuapp_ram0x_region. */
44-
etr_buffer: memory@0 {
45-
reg = <0x0 DT_SIZE_K(4)>;
46-
};
4716
};
4817

49-
cpuapp_cpurad_ram0x_region: memory@2f0bf000 {
50-
compatible = "nordic,owned-memory";
51-
reg = <0x2f0bf000 DT_SIZE_K(4)>;
52-
status = "disabled";
53-
nordic,access = <NRF_OWNER_ID_APPLICATION NRF_PERM_RW>,
54-
<NRF_OWNER_ID_RADIOCORE NRF_PERM_RW>;
55-
#address-cells = <1>;
56-
#size-cells = <1>;
57-
ranges = <0x0 0x2f0bf000 0x1000>;
58-
59-
cpuapp_cpurad_ipc_shm: memory@0 {
60-
reg = <0x0 DT_SIZE_K(2)>;
61-
};
18+
cpuapp_cpurad_ipc_shm: memory@2f0bf000 {
19+
reg = <0x2f0bf000 DT_SIZE_K(2)>;
20+
};
6221

63-
cpurad_cpuapp_ipc_shm: memory@800 {
64-
reg = <0x800 DT_SIZE_K(2)>;
65-
};
22+
cpurad_cpuapp_ipc_shm: memory@2f0bf800 {
23+
reg = <0x2f0bf800 DT_SIZE_K(2)>;
6624
};
6725

6826
cpuapp_cpusys_ipc_shm: memory@2f88f600 {
@@ -105,80 +63,53 @@
10563
reg = <0x2f88fd00 0x200>;
10664
};
10765

108-
/*
109-
* NOTE: FLPR has a direct bridge with RAM21 that bypasses MPC.
110-
* This means that when this region is marked as non-executable,
111-
* only FLPR can execute code from it.
112-
*/
113-
ram21_region: memory@2f890000 {
114-
compatible = "nordic,owned-memory";
115-
status = "disabled";
116-
reg = <0x2f890000 DT_SIZE_K(64)>;
117-
nordic,access = <NRF_OWNER_ID_APPLICATION NRF_PERM_RWS>;
118-
#address-cells = <1>;
119-
#size-cells = <1>;
120-
ranges = <0x0 0x2f890000 0x10000>;
121-
122-
cpuflpr_code_data: memory@0 {
123-
reg = <0x0 DT_SIZE_K(46)>;
124-
};
125-
126-
cpuapp_cpuflpr_ipc_shm: memory@b800 {
127-
reg = <0xb800 DT_SIZE_K(1)>;
128-
};
66+
cpuflpr_code_data: memory@2f890000 {
67+
reg = <0x2f890000 DT_SIZE_K(46)>;
68+
};
12969

130-
cpuflpr_cpuapp_ipc_shm: memory@bc00 {
131-
reg = <0xbc00 DT_SIZE_K(1)>;
132-
};
70+
cpuapp_cpuflpr_ipc_shm: memory@2f89b800 {
71+
reg = <0x2f89b800 DT_SIZE_K(1)>;
72+
};
13373

134-
dma_fast_region: memory@c000 {
135-
compatible = "zephyr,memory-region";
136-
reg = <0xc000 DT_SIZE_K(16)>;
137-
status = "disabled";
138-
#memory-region-cells = <0>;
139-
zephyr,memory-region = "DMA_RAM21";
140-
zephyr,memory-attr = <( DT_MEM_DMA | DT_MEM_CACHEABLE )>;
141-
};
74+
cpuflpr_cpuapp_ipc_shm: memory@2f89bc00 {
75+
reg = <0x2f89bc00 DT_SIZE_K(1)>;
14276
};
14377

144-
cpuppr_ram3x_region: memory@2fc00000 {
145-
compatible = "nordic,owned-memory";
146-
reg = <0x2fc00000 DT_SIZE_K(64)>;
78+
dma_fast_region: memory@2f89c000 {
79+
compatible = "zephyr,memory-region";
80+
reg = <0x2f89c000 DT_SIZE_K(16)>;
14781
status = "disabled";
148-
nordic,access = <NRF_OWNER_ID_APPLICATION NRF_PERM_RWX>;
149-
#address-cells = <1>;
150-
#size-cells = <1>;
151-
ranges = <0x0 0x2fc00000 0x10000>;
82+
#memory-region-cells = <0>;
83+
zephyr,memory-region = "DMA_RAM21";
84+
zephyr,memory-attr = <( DT_MEM_DMA | DT_MEM_CACHEABLE )>;
85+
};
15286

153-
cpuppr_code_data: memory@0 {
154-
reg = <0x0 DT_SIZE_K(62)>;
155-
};
87+
cpuppr_code_data: memory@2fc00000 {
88+
reg = <0x2fc00000 DT_SIZE_K(62)>;
89+
};
15690

157-
cpuapp_cpuppr_ipc_shm: memory@f800 {
158-
reg = <0xf800 DT_SIZE_K(1)>;
159-
};
91+
cpuapp_cpuppr_ipc_shm: memory@2fc0f800 {
92+
reg = <0x2fc0f800 DT_SIZE_K(1)>;
93+
};
16094

161-
cpuppr_cpuapp_ipc_shm: memory@fc00 {
162-
reg = <0xfc00 DT_SIZE_K(1)>;
163-
};
95+
cpuppr_cpuapp_ipc_shm: memory@2fc0fc00 {
96+
reg = <0x2fc0fc00 DT_SIZE_K(1)>;
16497
};
16598

16699
cpuapp_dma_region: memory@2fc12000 {
167-
compatible = "nordic,owned-memory", "zephyr,memory-region";
100+
compatible = "zephyr,memory-region";
168101
reg = <0x2fc12000 DT_SIZE_K(4)>;
169102
status = "disabled";
170103
#memory-region-cells = <0>;
171-
nordic,access = <NRF_OWNER_ID_APPLICATION NRF_PERM_RW>;
172104
zephyr,memory-region = "DMA_RAM3x_APP";
173105
zephyr,memory-attr = <( DT_MEM_DMA )>;
174106
};
175107

176108
cpurad_dma_region: memory@2fc13000 {
177-
compatible = "nordic,owned-memory", "zephyr,memory-region";
109+
compatible = "zephyr,memory-region";
178110
reg = <0x2fc13000 DT_SIZE_K(1)>;
179111
status = "disabled";
180112
#memory-region-cells = <0>;
181-
nordic,access = <NRF_OWNER_ID_RADIOCORE NRF_PERM_RW>;
182113
zephyr,memory-region = "DMA_RAM3x_RAD";
183114
zephyr,memory-attr = <( DT_MEM_DMA )>;
184115
};

boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpuapp.dts

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -109,18 +109,6 @@
109109
};
110110
};
111111

112-
&cpuapp_ram0x_region {
113-
status = "okay";
114-
};
115-
116-
&etr_buf_ram0x_region {
117-
status = "okay";
118-
};
119-
120-
&ram21_region {
121-
status = "okay";
122-
};
123-
124112
&cpuapp_bellboard {
125113
status = "okay";
126114
interrupts = <96 NRF_DEFAULT_IRQ_PRIORITY>;

boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpuapp_0_9_0.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ toolchain:
99
- gnuarmemb
1010
- zephyr
1111
sysbuild: true
12-
ram: 256
12+
ram: 760
1313
flash: 392
1414
supported:
1515
- adc

boards/nordic/nrf54h20dk/nrf54h20dk_nrf54h20_cpurad.dts

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -36,14 +36,6 @@
3636
};
3737
};
3838

39-
&cpuapp_cpurad_ram0x_region {
40-
status = "okay";
41-
};
42-
43-
&cpurad_ram0x_region {
44-
status = "okay";
45-
};
46-
4739
&cpurad_bellboard {
4840
status = "okay";
4941
interrupts = <96 NRF_DEFAULT_IRQ_PRIORITY>;

dts/vendor/nordic/nrf54h20.dtsi

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
#include <zephyr/dt-bindings/misc/nordic-domain-id-nrf54h20.h>
1515
#include <zephyr/dt-bindings/misc/nordic-owner-id-nrf54h20.h>
1616
#include <zephyr/dt-bindings/misc/nordic-tddconf.h>
17-
#include <zephyr/dt-bindings/reserved-memory/nordic-owned-memory.h>
1817
#include <zephyr/dt-bindings/power/nordic-nrf-gpd.h>
1918

2019
/delete-node/ &sw_pwm;

samples/application_development/code_relocation_nocopy/boards/nrf54h20dk_nrf54h20_cpuapp.overlay

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,5 @@
1-
&cpuapp_ram0x_region {
2-
nordic,access = <NRF_OWNER_ID_APPLICATION NRF_PERM_RWXS>;
3-
};
4-
51
&xip_region {
62
status = "okay";
7-
nordic,access = <NRF_OWNER_ID_APPLICATION NRF_PERM_RX>;
83
};
94

105
&mx25uw63 {

samples/boards/nordic/coresight_stm/boards/nrf54h20dk_nrf54h20_cpuapp.overlay

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,6 @@
77
status = "okay";
88
};
99

10-
&cpuppr_ram3x_region {
11-
status = "okay";
12-
};
13-
1410
&cpuflpr_vpr {
1511
status = "okay";
1612
};

snippets/nordic-ppr-xip/soc/nrf54h20_cpuapp.overlay

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,6 @@
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55

6-
&cpuppr_ram3x_region {
7-
status = "okay";
8-
};
9-
106
&cpuppr_vpr {
117
execution-memory = <&cpuppr_code_partition>;
128
/delete-property/ source-memory;

snippets/nordic-ppr/soc/nrf54h20_cpuapp.overlay

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,6 @@
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55

6-
&cpuppr_ram3x_region {
7-
status = "okay";
8-
};
9-
106
&uart135 {
117
status = "reserved";
128
};

tests/arch/common/ramfunc/boards/nrf54h20dk_nrf54h20_cpuapp.overlay

Lines changed: 0 additions & 8 deletions
This file was deleted.

0 commit comments

Comments
 (0)