Skip to content

Commit 10fd652

Browse files
ntavishsandeepmistry
authored andcommitted
set a reset pin if RESET_PIN is defined in variant.h (sandeepmistry#212)
* set a reset pin if RESET_PIN is defined in variant.h * move setting of reset pin to wiring.c * remove leftover code
1 parent d91502d commit 10fd652

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

cores/nRF5/wiring.c

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,21 @@ void init( void )
4444
NRF_RTC1->INTENSET = RTC_INTENSET_OVRFLW_Msk;
4545
NRF_RTC1->EVTENSET = RTC_EVTEN_OVRFLW_Msk;
4646
NRF_RTC1->TASKS_START = 1;
47+
48+
#if defined(RESET_PIN)
49+
if (((NRF_UICR->PSELRESET[0] & UICR_PSELRESET_CONNECT_Msk) != (UICR_PSELRESET_CONNECT_Connected << UICR_PSELRESET_CONNECT_Pos)) ||
50+
((NRF_UICR->PSELRESET[1] & UICR_PSELRESET_CONNECT_Msk) != (UICR_PSELRESET_CONNECT_Connected << UICR_PSELRESET_CONNECT_Pos))){
51+
NRF_NVMC->CONFIG = NVMC_CONFIG_WEN_Wen << NVMC_CONFIG_WEN_Pos;
52+
while (NRF_NVMC->READY == NVMC_READY_READY_Busy){}
53+
NRF_UICR->PSELRESET[0] = RESET_PIN;
54+
while (NRF_NVMC->READY == NVMC_READY_READY_Busy){}
55+
NRF_UICR->PSELRESET[1] = RESET_PIN;
56+
while (NRF_NVMC->READY == NVMC_READY_READY_Busy){}
57+
NRF_NVMC->CONFIG = NVMC_CONFIG_WEN_Ren << NVMC_CONFIG_WEN_Pos;
58+
while (NRF_NVMC->READY == NVMC_READY_READY_Busy){}
59+
NVIC_SystemReset();
60+
}
61+
#endif
4762
}
4863

4964
#ifdef __cplusplus

0 commit comments

Comments
 (0)