Skip to content

Commit

Permalink
PA0 wake up - sharing is caring?
Browse files Browse the repository at this point in the history
  • Loading branch information
rusefillc committed Jan 17, 2022
1 parent b1dbf19 commit 54b70fb
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 24 deletions.
23 changes: 0 additions & 23 deletions firmware/config/boards/proteus/board_configuration.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -229,26 +229,3 @@ void boardPrepareForStop() {

#endif
}

void boardPrepareForStandby() {

#ifdef STM32F7XX
PWR->CSR2 |= PWR_CSR2_EWUP1; //EWUP1: Enable Wakeup pin for PA0
PWR->CR2 |= PWR_CR2_CWUPF1; //Clear Wakeup Pin flag for PA0
#endif

#ifdef STM32F4XX

PWR->CR |= PWR_CR_CWUF; //Clear Wakeup Pin flag for PA0
PWR->CSR |= PWR_CSR_EWUP; //Enable Wakeup Pin for PA0

#endif

#ifdef STM32H7XX
// Wake on wakeup pin 0 - PA0
PWR->WKUPEPR = PWR_WKUPEPR_WKUPEN1;

// clear all possible wakeup bits
PWR->WKUPCR = 0xFFFFFFFF;
#endif
}
25 changes: 24 additions & 1 deletion firmware/hw_layer/ports/stm32/stm32_common.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -802,6 +802,29 @@ __attribute__((weak)) void boardPrepareForStop() {
palEnableLineEvent(PAL_LINE(GPIOA, 0), PAL_EVENT_MODE_RISING_EDGE);
}

__attribute__((weak)) void boardPrepareForStandby() { }

void boardPreparePA0ForStandby() {
#ifdef STM32F4XX
PWR->CR |= PWR_CR_CWUF; //Clear Wakeup Pin flag for PA0
PWR->CSR |= PWR_CSR_EWUP; //Enable Wakeup Pin for PA0
#endif

#ifdef STM32F7XX
PWR->CSR2 |= PWR_CSR2_EWUP1; //EWUP1: Enable Wakeup pin for PA0
PWR->CR2 |= PWR_CR2_CWUPF1; //Clear Wakeup Pin flag for PA0
#endif

#ifdef STM32H7XX
// Wake on wakeup pin 0 - PA0
PWR->WKUPEPR = PWR_WKUPEPR_WKUPEN1;

// clear all possible wakeup bits
PWR->WKUPCR = 0xFFFFFFFF;
#endif
}

__attribute__((weak)) void boardPrepareForStandby() {
boardPreparePA0ForStandby();
}

#endif // EFI_PROD_CODE

0 comments on commit 54b70fb

Please sign in to comment.