Skip to content

Commit

Permalink
usbpd_stm32g4: Configure UCPD before disabling the dead battery mode (#…
Browse files Browse the repository at this point in the history
  • Loading branch information
sigprof authored Jul 2, 2023
1 parent 000ee31 commit b708658
Showing 1 changed file with 5 additions and 2 deletions.
7 changes: 5 additions & 2 deletions platforms/chibios/drivers/usbpd_stm32g4.c
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,6 @@

// Initialises the USBPD subsystem
__attribute__((weak)) void usbpd_init(void) {
// Disable dead-battery signals
PWR->CR3 |= PWR_CR3_UCPD_DBDIS;
// Enable the clock for the UCPD1 peripheral
RCC->APB1ENR2 |= RCC_APB1ENR2_UCPD1EN;

Expand All @@ -46,6 +44,11 @@ __attribute__((weak)) void usbpd_init(void) {
CR |= UCPD_CR_ANAMODE | UCPD_CR_CCENABLE_Msk;
// Apply the changes
UCPD1->CR = CR;

// Disable dead-battery signals only after UCPD1 is configured to ensure
// that the transition does not go through any intermediate state without
// any pull-down resistance.
PWR->CR3 |= PWR_CR3_UCPD_DBDIS;
}

// Gets the current state of the USBPD allowance
Expand Down

0 comments on commit b708658

Please sign in to comment.