Disable PL011 UART before configuring it
The PL011 TRM (ARM DDI 0183G) specifies that the UART must be
disabled before any of the control registers are programmed. The
PL011 driver included in TF does not disable the UART, so the
initialization in BL2 and BL31 is violating this requirement
(and potentially in BL1 if the UART is enabled after reset).

This patch modifies the initialization function in the PL011
console driver to disable the UART before programming the
control registers.

Register clobber list and documentation updated.

Fixes ARM-software/tf-issues#300

Change-Id: I839b2d681d48b03f821ac53663a6a78e8b30a1a1
1 parent f9410b4 commit 9400b40ea4c71153a63c1f1cdaa416d45a325ec5
@Juan Castillo Juan Castillo authored on 26 Nov 2015
Showing 7 changed files
View
docs/porting-guide.md
View
drivers/arm/pl011/pl011_console.S
View
drivers/console/console.S
View
include/drivers/arm/pl011.h
View
plat/arm/common/aarch64/arm_helpers.S
View
plat/mediatek/mt8173/aarch64/plat_helpers.S
View
plat/nvidia/tegra/common/aarch64/tegra_helpers.S