diff options
| author | Sergey Vlasov <[email protected]> | 2023-07-03 01:53:54 +0300 | 
|---|---|---|
| committer | GitHub <[email protected]> | 2023-07-03 08:53:54 +1000 | 
| commit | b708658e2ea184402f6fad152c7596cbb40df508 (patch) | |
| tree | 38260721e5360dcb9cbbd80c4e9273f4b86ac5fa | |
| parent | 000ee31e2c64ad374b93be5a98f5529c48446188 (diff) | |
| download | qmk_firmware-0.21.4.tar.gz qmk_firmware-0.21.4.zip | |
usbpd_stm32g4: Configure UCPD before disabling the dead battery mode (#21430)0.21.4
| -rw-r--r-- | platforms/chibios/drivers/usbpd_stm32g4.c | 7 | 
1 files changed, 5 insertions, 2 deletions
| diff --git a/platforms/chibios/drivers/usbpd_stm32g4.c b/platforms/chibios/drivers/usbpd_stm32g4.c index 0096f22f07..21b8f6db95 100644 --- a/platforms/chibios/drivers/usbpd_stm32g4.c +++ b/platforms/chibios/drivers/usbpd_stm32g4.c @@ -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; @@ -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 | 
