|
|
@ -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 |
|
|
|