Skip to content

Commit 338a6c9

Browse files
authored
Merge branch 'nrfconnect:main' into NRFX-6619_Enable-PDM-driver-test-on-nrf54l15
2 parents 9cea3d5 + 9548301 commit 338a6c9

File tree

4 files changed

+13
-41
lines changed

4 files changed

+13
-41
lines changed

soc/nordic/common/soc_lrcconf.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ void soc_lrcconf_poweron_request(sys_snode_t *node, nrf_lrcconf_power_domain_mas
2424
} else {
2525
return;
2626
}
27+
2728
K_SPINLOCK(&lock) {
2829
if (sys_slist_len(poweron_list) == 0) {
2930
nrf_lrcconf_poweron_force_set(NRF_LRCCONF010, domain, true);

soc/nordic/nrf54h/power.c

Lines changed: 11 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,10 @@
1616
#include "soc.h"
1717
#include "pm_s2ram.h"
1818

19+
extern sys_snode_t soc_node;
20+
1921
static void common_suspend(void)
2022
{
21-
sys_snode_t *node;
22-
23-
node = soc_pd_sys_snode_get();
24-
2523
if (IS_ENABLED(CONFIG_DCACHE)) {
2624
/* Flush, disable and power down DCACHE */
2725
sys_cache_data_flush_all();
@@ -37,15 +35,11 @@ static void common_suspend(void)
3735
RAMBLOCK_CONTROL_BIT_ICACHE, false);
3836
}
3937

40-
soc_lrcconf_poweron_release(node, NRF_LRCCONF_POWER_DOMAIN_0);
38+
soc_lrcconf_poweron_release(&soc_node, NRF_LRCCONF_POWER_DOMAIN_0);
4139
}
4240

4341
static void common_resume(void)
4442
{
45-
sys_snode_t *node;
46-
47-
node = soc_pd_sys_snode_get();
48-
4943
if (IS_ENABLED(CONFIG_ICACHE)) {
5044
/* Power up and re-enable ICACHE */
5145
nrf_memconf_ramblock_control_enable_set(NRF_MEMCONF, RAMBLOCK_POWER_ID,
@@ -60,15 +54,15 @@ static void common_resume(void)
6054
sys_cache_data_enable();
6155
}
6256

63-
soc_lrcconf_poweron_request(node, NRF_LRCCONF_POWER_DOMAIN_0);
57+
soc_lrcconf_poweron_request(&soc_node, NRF_LRCCONF_POWER_DOMAIN_0);
6458
}
6559

6660
void nrf_poweroff(void)
6761
{
6862
nrf_resetinfo_resetreas_local_set(NRF_RESETINFO, 0);
6963
nrf_resetinfo_restore_valid_set(NRF_RESETINFO, false);
7064

71-
#if !defined(NRF_RADIOCORE)
65+
#if !defined(CONFIG_SOC_NRF54H20_CPURAD)
7266
/* Disable retention */
7367
nrf_lrcconf_retain_set(NRF_LRCCONF010, NRF_LRCCONF_POWER_MAIN, false);
7468
nrf_lrcconf_retain_set(NRF_LRCCONF010, NRF_LRCCONF_POWER_DOMAIN_0, false);
@@ -87,19 +81,15 @@ void nrf_poweroff(void)
8781

8882
static void s2idle_enter(uint8_t substate_id)
8983
{
90-
sys_snode_t *node;
91-
92-
node = soc_pd_sys_snode_get();
93-
9484
switch (substate_id) {
9585
case 0:
9686
/* Substate for idle with cache powered on - not implemented yet. */
9787
break;
9888
case 1: /* Substate for idle with cache retained - not implemented yet. */
9989
break;
10090
case 2: /* Substate for idle with cache disabled. */
101-
#if !defined(NRF_RADIOCORE)
102-
soc_lrcconf_poweron_request(node, NRF_LRCCONF_POWER_MAIN);
91+
#if !defined(CONFIG_SOC_NRF54H20_CPURAD)
92+
soc_lrcconf_poweron_request(&soc_node, NRF_LRCCONF_POWER_MAIN);
10393
#endif
10494
common_suspend();
10595
break;
@@ -115,10 +105,6 @@ static void s2idle_enter(uint8_t substate_id)
115105

116106
static void s2idle_exit(uint8_t substate_id)
117107
{
118-
sys_snode_t *node;
119-
120-
node = soc_pd_sys_snode_get();
121-
122108
switch (substate_id) {
123109
case 0:
124110
/* Substate for idle with cache powered on - not implemented yet. */
@@ -127,8 +113,8 @@ static void s2idle_exit(uint8_t substate_id)
127113
break;
128114
case 2: /* Substate for idle with cache disabled. */
129115
common_resume();
130-
#if !defined(NRF_RADIOCORE)
131-
soc_lrcconf_poweron_release(node, NRF_LRCCONF_POWER_MAIN);
116+
#if !defined(CONFIG_SOC_NRF54H20_CPURAD)
117+
soc_lrcconf_poweron_release(&soc_node, NRF_LRCCONF_POWER_MAIN);
132118
#endif
133119
default: /* Unknown substate. */
134120
return;
@@ -140,7 +126,7 @@ static void s2idle_exit(uint8_t substate_id)
140126
static void s2ram_exit(void)
141127
{
142128
common_resume();
143-
#if !defined(NRF_RADIOCORE)
129+
#if !defined(CONFIG_SOC_NRF54H20_CPURAD)
144130
/* Re-enable domain retention. */
145131
nrf_lrcconf_retain_set(NRF_LRCCONF010, NRF_LRCCONF_POWER_DOMAIN_0, true);
146132
#endif
@@ -156,7 +142,7 @@ static int sys_suspend_to_ram(void)
156142
NRF_RESETINFO_RESETREAS_LOCAL_UNRETAINED_MASK);
157143
nrf_resetinfo_restore_valid_set(NRF_RESETINFO, true);
158144

159-
#if !defined(NRF_RADIOCORE)
145+
#if !defined(CONFIG_SOC_NRF54H20_CPURAD)
160146
/* Disable retention */
161147
nrf_lrcconf_retain_set(NRF_LRCCONF010, NRF_LRCCONF_POWER_DOMAIN_0, false);
162148
#endif

soc/nordic/nrf54h/soc.c

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ LOG_MODULE_REGISTER(soc, CONFIG_SOC_LOG_LEVEL);
3030
#define HSFLL_NODE DT_NODELABEL(cpurad_hsfll)
3131
#endif
3232

33-
static sys_snode_t soc_node;
33+
sys_snode_t soc_node;
3434

3535
#define FICR_ADDR_GET(node_id, name) \
3636
DT_REG_ADDR(DT_PHANDLE_BY_NAME(node_id, nordic_ficrs, name)) + \
@@ -41,10 +41,6 @@ static sys_snode_t soc_node;
4141
ADDRESS_SECURITY_Msk | \
4242
ADDRESS_DOMAIN_Msk | \
4343
ADDRESS_BUS_Msk)))
44-
sys_snode_t *soc_pd_sys_snode_get(void)
45-
{
46-
return &soc_node;
47-
}
4844

4945
static void power_domain_init(void)
5046
{

soc/nordic/nrf54h/soc.h

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
#define SOC_ARM_NORDIC_NRF_NRF54H_SOC_H_
99

1010
#include <soc_nrf_common.h>
11-
#include <zephyr/sys/slist.h>
1211

1312
#if defined(CONFIG_SOC_NRF54H20_CPUAPP)
1413
#define RAMBLOCK_CONTROL_BIT_ICACHE MEMCONF_POWER_CONTROL_MEM1_Pos
@@ -37,14 +36,4 @@
3736
#define RAMBLOCK_RET2_BIT_DCACHE MEMCONF_POWER_RET2_MEM7_Pos
3837
#endif
3938

40-
/**
41-
* @brief Get the ID of the node used by the power domain management.
42-
*
43-
* This function returns the node ID to be shared with other dependent modules.
44-
*
45-
* @return The pointer to the node assigned to the SOC module
46-
* used for the power domain management purposes.
47-
*/
48-
sys_snode_t *soc_pd_sys_snode_get(void);
49-
5039
#endif /* SOC_ARM_NORDIC_NRF_NRF54H_SOC_H_ */

0 commit comments

Comments
 (0)