fix(i80_lcd): reset cs gpio on exit

This commit is contained in:
morris 2023-08-04 13:20:57 +08:00
parent 7d87b6f47f
commit aacd7d84d9
2 changed files with 10 additions and 0 deletions

View File

@ -338,6 +338,11 @@ static esp_err_t panel_io_i80_del(esp_lcd_panel_io_t *io)
LIST_REMOVE(i80_device, device_list_entry);
portEXIT_CRITICAL(&bus->spinlock);
// reset CS GPIO
if (i80_device->cs_gpio_num >= 0) {
gpio_reset_pin(i80_device->cs_gpio_num);
}
ESP_LOGD(TAG, "del i80 lcd panel io @%p", i80_device);
vQueueDelete(i80_device->trans_queue);
vQueueDelete(i80_device->done_queue);

View File

@ -330,6 +330,11 @@ static esp_err_t panel_io_i80_del(esp_lcd_panel_io_t *io)
LIST_REMOVE(i80_device, device_list_entry);
portEXIT_CRITICAL(&bus->spinlock);
// reset CS to normal GPIO
if (i80_device->cs_gpio_num >= 0) {
gpio_reset_pin(i80_device->cs_gpio_num);
}
ESP_LOGD(TAG, "del i80 lcd panel io @%p", i80_device);
vQueueDelete(i80_device->trans_queue);
vQueueDelete(i80_device->done_queue);