summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorJuan Castillo <juan.castillo@arm.com>2015-11-16 16:53:38 +0000
committerJuan Castillo <juan.castillo@arm.com>2015-12-10 09:22:44 +0000
commit12f654b6a88f6f927fe34d00eece537b01f444e3 (patch)
treec73cfddac689a1b0a1827ae2687a30bd08e2a2ce /drivers
parentf3974ea5b17b0ec88091a8a8c59e56da0fe507f0 (diff)
De-feature PL011 UART driver to match generic UART spec
The Server Base System Architecture document (ARM-DEN-0029) specifies a generic UART device. The programmer's view of this generic UART is a subset of the ARM PL011 UART. However, the current PL011 driver in Trusted Firmware uses some features that are outside the generic UART specification. This patch modifies the PL011 driver to exclude features outside the SBSA generic UART specification by setting the boolean build option 'PL011_GENERIC_UART=1'. Default value is 0 (use full PL011 features). User guide updated. Fixes ARM-software/tf-issues#216 Change-Id: I6e0eb86f9d69569bc3980fb57e70d6da5d91a737
Diffstat (limited to 'drivers')
-rw-r--r--drivers/arm/pl011/pl011_console.S2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/arm/pl011/pl011_console.S b/drivers/arm/pl011/pl011_console.S
index ea41e5d9..47608da3 100644
--- a/drivers/arm/pl011/pl011_console.S
+++ b/drivers/arm/pl011/pl011_console.S
@@ -60,6 +60,7 @@
func console_core_init
/* Check the input base address */
cbz x0, core_init_fail
+#if !PL011_GENERIC_UART
/* Check baud rate and uart clock for sanity */
cbz w1, core_init_fail
cbz w2, core_init_fail
@@ -82,6 +83,7 @@ func console_core_init
/* Enable tx, rx, and uart overall */
mov w1, #(PL011_UARTCR_RXE | PL011_UARTCR_TXE | PL011_UARTCR_UARTEN)
str w1, [x0, #UARTCR]
+#endif
mov w0, #1
ret
core_init_fail: