Skip to content
Draft
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
31 changes: 29 additions & 2 deletions dts/vendor/nordic/nrf9280.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -83,14 +83,26 @@
clocks {
hfxo: hfxo {
compatible = "fixed-clock";
status = "disabled";
#clock-cells = <0>;
clock-frequency = <DT_FREQ_M(64)>;
};

lfxo: lfxo {
compatible = "nordic,nrf54h-lfxo";
status = "disabled";
#clock-cells = <0>;
clock-frequency = <DT_FREQ_M(32)>;
clock-frequency = <32768>;
};

fll16m: fll16m {
compatible = "fixed-clock";
compatible = "nordic,nrf-fll16m";
#clock-cells = <0>;
clock-frequency = <DT_FREQ_M(16)>;
open-loop-accuracy-ppm = <20000>;
open-loop-startup-time-us = <200>; /* To be measured */
clocks = <&hfxo>, <&lfxo>;
clock-names = "hfxo", "lfxo";
};

hsfll120: hsfll120 {
Expand All @@ -103,6 +115,19 @@
256000000
320000000>;
};

lfclk: lfclk {
compatible = "nordic,nrf-lfclk";
#clock-cells = <0>;
clock-frequency = <32768>;
status = "okay";
lfrc-accuracy-ppm = <500>;
lflprc-accuracy-ppm = <1000>;
lfrc-startup-time-us = <200>; /* To be measured */
lflprc-startup-time-us = <200>; /* To be measured */
clocks = <&hfxo>, <&lfxo>;
clock-names = "hfxo", "lfxo";
};
};

soc {
Expand Down Expand Up @@ -758,6 +783,8 @@
reg = <0x99c000 0x1000>;
status = "disabled";
cc-num = <16>;
clocks = <&lfclk>, <&fll16m>;
clock-names = "lfclock", "hfclock";
};

dppic133: dppic@9a1000 {
Expand Down
4 changes: 2 additions & 2 deletions soc/nordic/common/poweroff.c
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@

#if defined(CONFIG_SOC_SERIES_NRF51X) || defined(CONFIG_SOC_SERIES_NRF52X)
#include <hal/nrf_power.h>
#elif defined(CONFIG_SOC_SERIES_NRF54HX)
#elif defined(CONFIG_SOC_SERIES_NRF54HX) || defined(CONFIG_SOC_SERIES_NRF92X)
#include <power.h>

Check notice on line 13 in soc/nordic/common/poweroff.c

View workflow job for this annotation

GitHub Actions / Run compliance checks on patch series (PR)

You may want to run clang-format on this change

soc/nordic/common/poweroff.c:13 -#elif defined(CONFIG_SOC_SERIES_NRF54HX) || defined(CONFIG_SOC_SERIES_NRF92X) +#elif defined(CONFIG_SOC_SERIES_NRF54HX) || defined(CONFIG_SOC_SERIES_NRF92X)
#else
#include <hal/nrf_regulators.h>
#endif
Expand Down Expand Up @@ -72,7 +72,7 @@
#endif
#if defined(CONFIG_SOC_SERIES_NRF51X) || defined(CONFIG_SOC_SERIES_NRF52X)
nrf_power_system_off(NRF_POWER);
#elif defined(CONFIG_SOC_SERIES_NRF54HX)
#elif defined(CONFIG_SOC_SERIES_NRF54HX) || defined(CONFIG_SOC_SERIES_NRF92X)
nrf_poweroff();
#else
nrf_regulators_system_off(NRF_REGULATORS);
Expand Down
10 changes: 10 additions & 0 deletions soc/nordic/nrf92/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,18 @@

if(CONFIG_ARM)
zephyr_library_sources(soc.c)
if(CONFIG_PM OR CONFIG_POWEROFF)
zephyr_library_sources(power.c)
zephyr_code_relocate(
FILES power.c
FILTER ".*\\.cache_retain_and_sleep"
LOCATION PMLocalRamfunc_TEXT
)
endif()
endif()

zephyr_library_sources_ifdef(CONFIG_PM_S2RAM pm_s2ram.c)

zephyr_include_directories(.)

# Ensure that image size aligns with 16 bytes so that MRAMC finalizes all writes
Expand Down
5 changes: 5 additions & 0 deletions soc/nordic/nrf92/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,9 @@ config SOC_NRF9230_ENGB_CPUAPP
select NRFS_HAS_TEMP_SERVICE
select NRFS_HAS_VBUS_DETECTOR_SERVICE
select NRFS_TEMP_SERVICE_HAS_SUBSCRIPTION_SERVICE
select HAS_PM
select HAS_PM_S2RAM_CUSTOM_MARKING
select HAS_POWEROFF

config SOC_NRF9230_ENGB_CPURAD
select ARM
Expand All @@ -48,6 +51,8 @@ config SOC_NRF9230_ENGB_CPURAD
select NRFS_HAS_PMIC_SERVICE
select NRFS_HAS_TEMP_SERVICE
select NRFS_TEMP_SERVICE_HAS_SUBSCRIPTION_SERVICE
select HAS_PM
select HAS_POWEROFF

config SOC_NRF9230_ENGB_CPUPPR
select RISCV_CORE_NORDIC_VPR
Expand Down
27 changes: 27 additions & 0 deletions soc/nordic/nrf92/Kconfig.defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,33 @@ config SPI_DW_HSSI
config SPI_DW_ACCESS_WORD_ONLY
default y if SPI_DW

if PM

config PM_DEVICE
default y

if LOG

config LOG_PROCESS_THREAD_STACK_SIZE
default 1536

endif # LOG

endif # PM

if PM_DEVICE

config PM_DEVICE_RUNTIME
default y

config DEVICE_DEPS
default y

config PM_DEVICE_POWER_DOMAIN
default y

endif # PM_DEVICE

config SYS_CLOCK_HW_CYCLES_PER_SEC
default $(dt_nodelabel_int_prop,grtc,clock-frequency) if NRF_GRTC_TIMER

Expand Down
Loading
Loading