diff options
author | Nicolas Boichat <drinkcat@chromium.org> | 2018-08-27 16:05:09 +0800 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2018-08-29 11:15:45 -0700 |
commit | 7eb9ff3cfcf4b96356050da66bd957225bef6044 (patch) | |
tree | 62b5f35d135e99fa14e582d3487fabb6fa41aab2 /chip/stm32/usb-stream.h | |
parent | 63fd7e18588023b2940167b686611e609354b78a (diff) | |
download | chrome-ec-7eb9ff3cfcf4b96356050da66bd957225bef6044.tar.gz |
servo_micro: Allow setting the baud rate for usart
We set the baud rate in increments of 100 baud, to avoid
overflowing the 16-bit wValue integer (921600 is the highest we
are likely to use).
Also, increment the buffer size for USART3 to 1024 bytes. That
helps a bit to avoid losing characters, but we still can't keep
up if the host is printing at maximum speed.
BRANCH=servo
BUG=chromium:876651
TEST=baud usart2/3/4 115200 in servo_micro console
TEST=dut-control cpu_uart_baudrate:921600
seq 1 1000 shows numbers 1 to 226 before buffer overflows
Change-Id: Ifca266189f93def493f207dd29d2cceca4d8d68f
Signed-off-by: Nicolas Boichat <drinkcat@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1189782
Reviewed-by: Nick Sanders <nsanders@chromium.org>
Diffstat (limited to 'chip/stm32/usb-stream.h')
-rw-r--r-- | chip/stm32/usb-stream.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/chip/stm32/usb-stream.h b/chip/stm32/usb-stream.h index f89d62a65c..af96db551d 100644 --- a/chip/stm32/usb-stream.h +++ b/chip/stm32/usb-stream.h @@ -277,6 +277,13 @@ enum usb_usart { USB_USART_REQ_BAUD = 2, USB_USART_SET_BAUD = 3, }; + +/* + * baud rate is req/set in multiples of 100, to avoid overflowing + * 16-bit integer. + */ +#define USB_USART_BAUD_MULTIPLIER 100 + int usb_usart_interface(struct usb_stream_config const *config, struct usart_config const *usart, int interface, usb_uint *rx_buf, usb_uint *tx_buf); |