aboutsummaryrefslogtreecommitdiff
path: root/include/drivers/cadence/cdns_uart.h
diff options
context:
space:
mode:
authorJulius Werner <jwerner@chromium.org>2017-09-18 17:01:06 -0700
committerJulius Werner <jwerner@chromium.org>2018-01-19 15:21:12 -0800
commit38ba8e9327a3911e8a24ada75346c0765ffffba1 (patch)
tree1011ac9e239e5bb61486a09ab6eeebe2a0c1c98d /include/drivers/cadence/cdns_uart.h
parent4a0c45716df6b0e9c1142c768bb2578ad87ce8c7 (diff)
downloadtrusted-firmware-a-38ba8e9327a3911e8a24ada75346c0765ffffba1.tar.gz
drivers: cadence: cdns: Update CDNS driver to support MULTI_CONSOLE_API
This patch updates the Cadence CDNS console driver to support the new console API. The driver will continue to support the old API as well by checking the MULTI_CONSOLE_API compile-time flag. Change-Id: I2ef8fb0d6ab72696997db1e0243a533499569d6b Signed-off-by: Julius Werner <jwerner@chromium.org>
Diffstat (limited to 'include/drivers/cadence/cdns_uart.h')
-rw-r--r--include/drivers/cadence/cdns_uart.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/include/drivers/cadence/cdns_uart.h b/include/drivers/cadence/cdns_uart.h
index 3aadde32ed..7ab6df047d 100644
--- a/include/drivers/cadence/cdns_uart.h
+++ b/include/drivers/cadence/cdns_uart.h
@@ -7,6 +7,8 @@
#ifndef __CADENCE_UART_H__
#define __CADENCE_UART_H__
+#include <console.h>
+
/* This is very minimalistic and will only work in QEMU. */
/* CADENCE Registers */
@@ -23,4 +25,26 @@
#define R_UART_TX 0x30
#define R_UART_RX 0x30
+#define CONSOLE_T_CDNS_BASE CONSOLE_T_DRVDATA
+
+#ifndef __ASSEMBLY__
+
+#include <types.h>
+
+typedef struct {
+ console_t console;
+ uintptr_t base;
+} console_cdns_t;
+
+/*
+ * Initialize a new Cadence console instance and register it with the console
+ * framework. The |console| pointer must point to storage that will be valid
+ * for the lifetime of the console, such as a global or static local variable.
+ * Its contents will be reinitialized from scratch.
+ */
+int console_cdns_register(uint64_t baseaddr, uint32_t clock, uint32_t baud,
+ console_cdns_t *console);
+
+#endif /*__ASSEMBLY__*/
+
#endif