mirror of
https://github.com/trezor/trezor-firmware.git
synced 2025-05-09 18:38:47 +00:00
fix(core): improve rgb_led driver deinitialization
[no changelog]
This commit is contained in:
parent
0b673c2772
commit
75f9821cf1
@ -49,19 +49,9 @@ typedef struct {
|
||||
static rgb_led_t g_rgb_led = {0};
|
||||
|
||||
static void rgb_led_set_default_pin_state(void) {
|
||||
GPIO_InitTypeDef GPIO_InitStructure = {0};
|
||||
GPIO_InitStructure.Mode = GPIO_MODE_ANALOG;
|
||||
GPIO_InitStructure.Pull = GPIO_NOPULL;
|
||||
GPIO_InitStructure.Speed = GPIO_SPEED_FREQ_LOW;
|
||||
|
||||
GPIO_InitStructure.Pin = RGB_LED_RED_PIN;
|
||||
HAL_GPIO_Init(RGB_LED_RED_PORT, &GPIO_InitStructure);
|
||||
|
||||
GPIO_InitStructure.Pin = RGB_LED_GREEN_PIN;
|
||||
HAL_GPIO_Init(RGB_LED_GREEN_PORT, &GPIO_InitStructure);
|
||||
|
||||
GPIO_InitStructure.Pin = RGB_LED_BLUE_PIN;
|
||||
HAL_GPIO_Init(RGB_LED_BLUE_PORT, &GPIO_InitStructure);
|
||||
HAL_GPIO_DeInit(RGB_LED_RED_PORT, RGB_LED_RED_PIN);
|
||||
HAL_GPIO_DeInit(RGB_LED_GREEN_PORT, RGB_LED_GREEN_PIN);
|
||||
HAL_GPIO_DeInit(RGB_LED_BLUE_PORT, RGB_LED_BLUE_PIN);
|
||||
}
|
||||
|
||||
void rgb_led_init(void) {
|
||||
@ -189,6 +179,14 @@ void rgb_led_deinit(void) {
|
||||
HAL_LPTIM_Counter_Stop(&drv->tim_1);
|
||||
HAL_LPTIM_Counter_Stop(&drv->tim_3);
|
||||
|
||||
__HAL_RCC_LPTIM1_CLK_DISABLE();
|
||||
__HAL_RCC_LPTIM1_FORCE_RESET();
|
||||
__HAL_RCC_LPTIM1_RELEASE_RESET();
|
||||
|
||||
__HAL_RCC_LPTIM3_CLK_DISABLE();
|
||||
__HAL_RCC_LPTIM3_FORCE_RESET();
|
||||
__HAL_RCC_LPTIM3_RELEASE_RESET();
|
||||
|
||||
memset(drv, 0, sizeof(*drv));
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user