88#include  <zephyr/drivers/hwinfo.h> 
99#include  <string.h> 
1010#include  <zephyr/sys/byteorder.h> 
11- #if  !defined(CONFIG_SOC_SERIES_NRF54HX )  &&  !defined( CONFIG_BOARD_QEMU_CORTEX_M0 )
11+ #if  !defined(CONFIG_BOARD_QEMU_CORTEX_M0 )
1212#include  <helpers/nrfx_reset_reason.h> 
1313#endif 
1414
@@ -63,7 +63,7 @@ ssize_t z_impl_hwinfo_get_device_id(uint8_t *buffer, size_t length)
6363	return  length ;
6464}
6565
66- #if  !defined(CONFIG_SOC_SERIES_NRF54HX )  &&  !defined( CONFIG_BOARD_QEMU_CORTEX_M0 )
66+ #if  !defined(CONFIG_BOARD_QEMU_CORTEX_M0 )
6767int  z_impl_hwinfo_get_reset_cause (uint32_t  * cause )
6868{
6969	uint32_t  flags  =  0 ;
@@ -76,16 +76,35 @@ int z_impl_hwinfo_get_reset_cause(uint32_t *cause)
7676	if  (reason  &  NRFX_RESET_REASON_DOG_MASK ) {
7777		flags  |= RESET_WATCHDOG ;
7878	}
79- 	if  (reason  &  NRFX_RESET_REASON_LOCKUP_MASK ) {
79+ 
80+ #if  defined(NRF_RESETINFO )
81+ 	if  (NRFX_RESET_REASON_LOCAL_DOG0_MASK ) {
82+ 		flags  |= RESET_WATCHDOG ;
83+ 	}
84+ #endif 
85+ 
86+ #if  defined(NRF_RESETINFO )
87+ 	if  (reason  &  NRFX_RESET_REASON_LOCAL_LOCKUP_MASK )
88+ #else 
89+ 	if  (reason  &  NRFX_RESET_REASON_LOCKUP_MASK )
90+ #endif 
91+ 	{
8092		flags  |= RESET_CPU_LOCKUP ;
8193	}
94+ 
8295	if  (reason  &  NRFX_RESET_REASON_OFF_MASK ) {
8396		flags  |= RESET_LOW_POWER_WAKE ;
8497	}
8598	if  (reason  &  NRFX_RESET_REASON_DIF_MASK ) {
8699		flags  |= RESET_DEBUG ;
87100	}
88- 	if  (reason  &  NRFX_RESET_REASON_SREQ_MASK ) {
101+ 
102+ #if  defined(NRF_RESETINFO )
103+ 	if  (reason  &  NRFX_RESET_REASON_LOCAL_SREQ_MASK )
104+ #else 
105+ 	if  (reason  &  NRFX_RESET_REASON_SREQ_MASK )
106+ #endif 
107+ 	{
89108		flags  |= RESET_SOFTWARE ;
90109	}
91110
@@ -124,11 +143,19 @@ int z_impl_hwinfo_get_reset_cause(uint32_t *cause)
124143		flags  |= RESET_DEBUG ;
125144	}
126145#endif 
146+ 
127147#if  !NRF_POWER_HAS_RESETREAS 
128- 	if  (reason  &  NRFX_RESET_REASON_DOG1_MASK ) {
148+ 
149+ #if  defined(NRF_RESETINFO )
150+ 	if  (NRFX_RESET_REASON_LOCAL_DOG1_MASK )
151+ #else 
152+ 	if  (reason  &  NRFX_RESET_REASON_DOG1_MASK )
153+ #endif 
154+ 	{
129155		flags  |= RESET_WATCHDOG ;
130156	}
131157#endif 
158+ 
132159#if  NRFX_RESET_REASON_HAS_GRTC 
133160	if  (reason  &  NRFX_RESET_REASON_GRTC_MASK ) {
134161		flags  |= RESET_CLOCK ;
0 commit comments