From 34fd3f41ea1f819fb43b386334d01c13ffb4f781 Mon Sep 17 00:00:00 2001 From: Kevin O'Connor Date: Mon, 19 Dec 2022 12:04:54 -0500 Subject: [PATCH] usb_cdc: Only call bootloader_request() if CONFIG_HAVE_BOOTLOADER_REQUEST Check for the build symbol prior to calling bootloader_request(). Enable the build symbol on rp2040, atsam, and atsamd chips. This also enables serial bootloader requsts on rp2040, atsam, and atsamd. Signed-off-by: Kevin O'Connor --- src/atsam/Kconfig | 1 + src/atsamd/Kconfig | 1 + src/generic/usb_cdc.c | 2 ++ src/rp2040/Kconfig | 1 + 4 files changed, 5 insertions(+) diff --git a/src/atsam/Kconfig b/src/atsam/Kconfig index 4e2e839e..aa802072 100644 --- a/src/atsam/Kconfig +++ b/src/atsam/Kconfig @@ -14,6 +14,7 @@ config ATSAM_SELECT select HAVE_STRICT_TIMING select HAVE_CHIPID select HAVE_STEPPER_BOTH_EDGE + select HAVE_BOOTLOADER_REQUEST config BOARD_DIRECTORY string diff --git a/src/atsamd/Kconfig b/src/atsamd/Kconfig index d6643ffd..05e4c50e 100644 --- a/src/atsamd/Kconfig +++ b/src/atsamd/Kconfig @@ -14,6 +14,7 @@ config ATSAMD_SELECT select HAVE_STRICT_TIMING select HAVE_CHIPID select HAVE_STEPPER_BOTH_EDGE + select HAVE_BOOTLOADER_REQUEST config HAVE_SERCOM depends on HAVE_GPIO_I2C || HAVE_GPIO_SPI diff --git a/src/generic/usb_cdc.c b/src/generic/usb_cdc.c index 40ff74ba..143c213f 100644 --- a/src/generic/usb_cdc.c +++ b/src/generic/usb_cdc.c @@ -446,6 +446,8 @@ static uint8_t line_control_state; static void check_reboot(void) { + if (!CONFIG_HAVE_BOOTLOADER_REQUEST) + return; if (line_coding.dwDTERate == 1200 && !(line_control_state & 0x01)) // A baud of 1200 is an Arduino style request to enter the bootloader bootloader_request(); diff --git a/src/rp2040/Kconfig b/src/rp2040/Kconfig index 904699f8..ba6f00f8 100644 --- a/src/rp2040/Kconfig +++ b/src/rp2040/Kconfig @@ -14,6 +14,7 @@ config RP2040_SELECT select HAVE_CHIPID select HAVE_GPIO_HARD_PWM select HAVE_STEPPER_BOTH_EDGE + select HAVE_BOOTLOADER_REQUEST config BOARD_DIRECTORY string