esp32: Fix ESP32-C3 USB serial/jtag peripheral pre-IDF 5.1.
Regression in 0a11832cd in IDF 5.0.x where macro CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG_ENABLED is not defined. With this patch, ESP32-S3 still USB Serial/JTAG incorrectly (now on all ESP-IDF versions). Closes #15701 This work was funded through GitHub Sponsors. Signed-off-by: Angus Gratton <angus@redyak.com.au>
This commit is contained in:
parent
1897fe6227
commit
6ad6297ef7
@ -159,7 +159,7 @@ static mp_obj_t machine_pin_obj_init_helper(const machine_pin_obj_t *self, size_
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#if CONFIG_IDF_TARGET_ESP32C3 && CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG_ENABLED
|
#if CONFIG_IDF_TARGET_ESP32C3 && MICROPY_HW_ESP_USB_SERIAL_JTAG
|
||||||
if (index == 18 || index == 19) {
|
if (index == 18 || index == 19) {
|
||||||
CLEAR_PERI_REG_MASK(USB_SERIAL_JTAG_CONF0_REG, USB_SERIAL_JTAG_USB_PAD_ENABLE);
|
CLEAR_PERI_REG_MASK(USB_SERIAL_JTAG_CONF0_REG, USB_SERIAL_JTAG_USB_PAD_ENABLE);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -87,7 +87,7 @@
|
|||||||
#define MICROPY_HW_ENABLE_GPIO11 (1)
|
#define MICROPY_HW_ENABLE_GPIO11 (1)
|
||||||
#define MICROPY_HW_ENABLE_GPIO12 (1)
|
#define MICROPY_HW_ENABLE_GPIO12 (1)
|
||||||
#define MICROPY_HW_ENABLE_GPIO13 (1)
|
#define MICROPY_HW_ENABLE_GPIO13 (1)
|
||||||
#if !CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG_ENABLED
|
#if !MICROPY_HW_ESP_USB_SERIAL_JTAG
|
||||||
#define MICROPY_HW_ENABLE_GPIO18 (1)
|
#define MICROPY_HW_ENABLE_GPIO18 (1)
|
||||||
#define MICROPY_HW_ENABLE_GPIO19 (1)
|
#define MICROPY_HW_ENABLE_GPIO19 (1)
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@ -99,7 +99,7 @@ void mp_task(void *pvParameter) {
|
|||||||
#if MICROPY_PY_THREAD
|
#if MICROPY_PY_THREAD
|
||||||
mp_thread_init(pxTaskGetStackStart(NULL), MICROPY_TASK_STACK_SIZE / sizeof(uintptr_t));
|
mp_thread_init(pxTaskGetStackStart(NULL), MICROPY_TASK_STACK_SIZE / sizeof(uintptr_t));
|
||||||
#endif
|
#endif
|
||||||
#if CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG_ENABLED
|
#if MICROPY_HW_ESP_USB_SERIAL_JTAG
|
||||||
usb_serial_jtag_init();
|
usb_serial_jtag_init();
|
||||||
#elif CONFIG_USB_OTG_SUPPORTED
|
#elif CONFIG_USB_OTG_SUPPORTED
|
||||||
usb_init();
|
usb_init();
|
||||||
|
|||||||
@ -260,6 +260,11 @@ typedef long mp_off_t;
|
|||||||
// board specifics
|
// board specifics
|
||||||
#define MICROPY_PY_SYS_PLATFORM "esp32"
|
#define MICROPY_PY_SYS_PLATFORM "esp32"
|
||||||
|
|
||||||
|
// Enable stdio over USB Serial/JTAG peripheral
|
||||||
|
#ifndef MICROPY_HW_ESP_USB_SERIAL_JTAG
|
||||||
|
#define MICROPY_HW_ESP_USB_SERIAL_JTAG (SOC_USB_SERIAL_JTAG_SUPPORTED)
|
||||||
|
#endif
|
||||||
|
|
||||||
// ESP32-S3 extended IO for 47 & 48
|
// ESP32-S3 extended IO for 47 & 48
|
||||||
#ifndef MICROPY_HW_ESP32S3_EXTENDED_IO
|
#ifndef MICROPY_HW_ESP32S3_EXTENDED_IO
|
||||||
#define MICROPY_HW_ESP32S3_EXTENDED_IO (1)
|
#define MICROPY_HW_ESP32S3_EXTENDED_IO (1)
|
||||||
|
|||||||
@ -104,7 +104,7 @@ void check_esp_err_(esp_err_t code, const char *func, const int line, const char
|
|||||||
|
|
||||||
uintptr_t mp_hal_stdio_poll(uintptr_t poll_flags) {
|
uintptr_t mp_hal_stdio_poll(uintptr_t poll_flags) {
|
||||||
uintptr_t ret = 0;
|
uintptr_t ret = 0;
|
||||||
#if CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG_ENABLED
|
#if MICROPY_HW_ESP_USB_SERIAL_JTAG
|
||||||
usb_serial_jtag_poll_rx();
|
usb_serial_jtag_poll_rx();
|
||||||
#endif
|
#endif
|
||||||
if ((poll_flags & MP_STREAM_POLL_RD) && stdin_ringbuf.iget != stdin_ringbuf.iput) {
|
if ((poll_flags & MP_STREAM_POLL_RD) && stdin_ringbuf.iget != stdin_ringbuf.iput) {
|
||||||
@ -118,7 +118,7 @@ uintptr_t mp_hal_stdio_poll(uintptr_t poll_flags) {
|
|||||||
|
|
||||||
int mp_hal_stdin_rx_chr(void) {
|
int mp_hal_stdin_rx_chr(void) {
|
||||||
for (;;) {
|
for (;;) {
|
||||||
#if CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG_ENABLED
|
#if MICROPY_HW_ESP_USB_SERIAL_JTAG
|
||||||
usb_serial_jtag_poll_rx();
|
usb_serial_jtag_poll_rx();
|
||||||
#endif
|
#endif
|
||||||
int c = ringbuf_get(&stdin_ringbuf);
|
int c = ringbuf_get(&stdin_ringbuf);
|
||||||
@ -143,7 +143,7 @@ mp_uint_t mp_hal_stdout_tx_strn(const char *str, size_t len) {
|
|||||||
if (release_gil) {
|
if (release_gil) {
|
||||||
MP_THREAD_GIL_EXIT();
|
MP_THREAD_GIL_EXIT();
|
||||||
}
|
}
|
||||||
#if CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG_ENABLED
|
#if MICROPY_HW_ESP_USB_SERIAL_JTAG
|
||||||
usb_serial_jtag_tx_strn(str, len);
|
usb_serial_jtag_tx_strn(str, len);
|
||||||
did_write = true;
|
did_write = true;
|
||||||
#elif CONFIG_USB_OTG_SUPPORTED
|
#elif CONFIG_USB_OTG_SUPPORTED
|
||||||
|
|||||||
@ -30,7 +30,7 @@
|
|||||||
|
|
||||||
// Whether to enable the REPL on a UART.
|
// Whether to enable the REPL on a UART.
|
||||||
#ifndef MICROPY_HW_ENABLE_UART_REPL
|
#ifndef MICROPY_HW_ENABLE_UART_REPL
|
||||||
#define MICROPY_HW_ENABLE_UART_REPL (!CONFIG_USB_OTG_SUPPORTED && !CONFIG_ESP_CONSOLE_USB_CDC && !CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG_ENABLED)
|
#define MICROPY_HW_ENABLE_UART_REPL (!CONFIG_USB_OTG_SUPPORTED && !CONFIG_ESP_CONSOLE_USB_CDC && !MICROPY_HW_ESP_USB_SERIAL_JTAG)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if MICROPY_HW_ENABLE_UART_REPL
|
#if MICROPY_HW_ENABLE_UART_REPL
|
||||||
|
|||||||
@ -28,7 +28,7 @@
|
|||||||
#include "py/mphal.h"
|
#include "py/mphal.h"
|
||||||
#include "usb.h"
|
#include "usb.h"
|
||||||
|
|
||||||
#if CONFIG_USB_OTG_SUPPORTED && !CONFIG_ESP_CONSOLE_USB_CDC && !CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG_ENABLED
|
#if CONFIG_USB_OTG_SUPPORTED && !CONFIG_ESP_CONSOLE_USB_CDC && !MICROPY_HW_ESP_USB_SERIAL_JTAG
|
||||||
|
|
||||||
#include "esp_timer.h"
|
#include "esp_timer.h"
|
||||||
#ifndef NO_QSTR
|
#ifndef NO_QSTR
|
||||||
@ -100,4 +100,4 @@ void usb_tx_strn(const char *str, size_t len) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // CONFIG_USB_OTG_SUPPORTED && !CONFIG_ESP_CONSOLE_USB_CDC && !CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG_ENABLED
|
#endif // CONFIG_USB_OTG_SUPPORTED && !CONFIG_ESP_CONSOLE_USB_CDC && !MICROPY_HW_ESP_USB_SERIAL_JTAG
|
||||||
|
|||||||
@ -28,7 +28,7 @@
|
|||||||
#include "py/mphal.h"
|
#include "py/mphal.h"
|
||||||
#include "usb_serial_jtag.h"
|
#include "usb_serial_jtag.h"
|
||||||
|
|
||||||
#if CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG_ENABLED
|
#if MICROPY_HW_ESP_USB_SERIAL_JTAG
|
||||||
|
|
||||||
#include "hal/usb_serial_jtag_ll.h"
|
#include "hal/usb_serial_jtag_ll.h"
|
||||||
#include "esp_intr_alloc.h"
|
#include "esp_intr_alloc.h"
|
||||||
@ -117,4 +117,4 @@ void usb_serial_jtag_tx_strn(const char *str, size_t len) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG_ENABLED
|
#endif // MICROPY_HW_ESP_USB_SERIAL_JTAG
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user