summaryrefslogtreecommitdiff
path: root/chip/stm32/usart.h
diff options
context:
space:
mode:
authorAnton Staaf <robotboy@chromium.org>2015-07-28 15:11:28 -0700
committerChromeOS Commit Bot <chromeos-commit-bot@chromium.org>2015-08-24 19:08:30 +0000
commit16f63703c9ccc46ec48abcc586a595456e99fc9a (patch)
tree17dc3fa9b72217675e64507facddb7395e91390c /chip/stm32/usart.h
parentf7fa6248bf170d2fffbf3fb067b6ed40f0a4d55f (diff)
downloadchrome-ec-16f63703c9ccc46ec48abcc586a595456e99fc9a.tar.gz
USART: Add usart_info command
This optional console command is enabled with CONFIG_USART_INFO_COMMAND. It will display and clear dropped character and overrun counts for all configured USARTs. Signed-off-by: Anton Staaf <robotboy@chromium.org> BRANCH=None BUG=None TEST=make buildall -j Change-Id: Icf6061aaab2cda71e9d317455c897828b9daf844 Reviewed-on: https://chromium-review.googlesource.com/292770 Tested-by: Anton Staaf <robotboy@chromium.org> Reviewed-by: Randall Spangler <rspangler@chromium.org> Commit-Queue: Anton Staaf <robotboy@chromium.org> Trybot-Ready: Anton Staaf <robotboy@chromium.org>
Diffstat (limited to 'chip/stm32/usart.h')
-rw-r--r--chip/stm32/usart.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/chip/stm32/usart.h b/chip/stm32/usart.h
index a274aa8dce..8db3558b50 100644
--- a/chip/stm32/usart.h
+++ b/chip/stm32/usart.h
@@ -183,4 +183,28 @@ void usart_set_baud_f(struct usart_config const *config, int frequency_hz);
*/
void usart_clear_tc(struct usart_config const *config);
+/*
+ * Each family implementation provides the usart_get_configs function to access
+ * a read only list of the configs that are currently enabled.
+ */
+struct usart_configs {
+ /*
+ * The family's usart_config array, entries in the array for disabled
+ * configs will be NULL, enabled configs will point to the usart_config
+ * that was enabled. And the following will be true:
+ *
+ * configs[i]->hw->index == i;
+ */
+ struct usart_config const * const *configs;
+
+ /*
+ * The total possible number of configs that this family supports.
+ * This will be the same as the number of usart_hw structs that the
+ * family provides in its family specific usart header.
+ */
+ size_t count;
+};
+
+struct usart_configs usart_get_configs(void);
+
#endif /* __CROS_EC_USART_H */