diff --git a/boards/xtensa/esp32s3_devkitm/doc/index.rst b/boards/xtensa/esp32s3_devkitm/doc/index.rst index 72a04369ed4..6236b8fd745 100644 --- a/boards/xtensa/esp32s3_devkitm/doc/index.rst +++ b/boards/xtensa/esp32s3_devkitm/doc/index.rst @@ -106,6 +106,8 @@ Current Zephyr's ESP32-S3-DevKitM board supports the following features: +------------+------------+-------------------------------------+ | GDMA | on-chip | dma | +------------+------------+-------------------------------------+ +| USB-CDC | on-chip | serial | ++------------+------------+-------------------------------------+ Prerequisites ------------- diff --git a/boards/xtensa/esp32s3_devkitm/esp32s3_devkitm.dts b/boards/xtensa/esp32s3_devkitm/esp32s3_devkitm.dts index d912c0f6d48..253821bea32 100644 --- a/boards/xtensa/esp32s3_devkitm/esp32s3_devkitm.dts +++ b/boards/xtensa/esp32s3_devkitm/esp32s3_devkitm.dts @@ -117,6 +117,10 @@ status = "okay"; }; +&usb_serial { + status = "disabled"; +}; + &flash0 { status = "okay"; partitions { diff --git a/drivers/serial/serial_esp32_usb.c b/drivers/serial/serial_esp32_usb.c index 83914ecc740..4a2fe243248 100644 --- a/drivers/serial/serial_esp32_usb.c +++ b/drivers/serial/serial_esp32_usb.c @@ -13,11 +13,21 @@ #include #include #include +#if defined(CONFIG_SOC_ESP32C3) #include +#else +#include +#endif #include #include #include +#ifdef CONFIG_SOC_ESP32C3 +#define ISR_HANDLER isr_handler_t +#else +#define ISR_HANDLER intr_handler_t +#endif + #define USBSERIAL_TIMEOUT_MAX_US 50000 static int s_usbserial_timeout; @@ -90,7 +100,7 @@ static int serial_esp32_usb_init(const struct device *dev) int ret = clock_control_on(config->clock_dev, config->clock_subsys); #ifdef CONFIG_UART_INTERRUPT_DRIVEN - data->irq_line = esp_intr_alloc(config->irq_source, 0, (isr_handler_t)serial_esp32_usb_isr, + data->irq_line = esp_intr_alloc(config->irq_source, 0, (ISR_HANDLER)serial_esp32_usb_isr, (void *)dev, NULL); #endif return ret;