At the moment we have a real mix of accessors used for PL011 registers across
early printk and runtime driver resulting in a) not spec compliant behavior
and b) inconsistency. This series:
- switches to use the 8/16-bit accessors in normal case,
- adds support to use 32-bit only accessors.
The behavior is now the same as in Linux.
The last patch adding support for SBSA UART in dt boot was added to make
the merge process easier. Also, arm,sbsa-uart property is usually present
next to arm,pl011 which would casue the pl011 driver to believe it is driving
PL011 and not SBSA, therefore resulting in accessing the registers that shall
not be touched (as oppose to just failing).
Discussion:
https://lore.kernel.org/xen-devel/b31a9f06-1ad8-b882-2fb0-84a84a1accb8@xen.org/T/#
Michal Orzel (4):
xen/arm: debug-pl011: Use correct accessors
xen/arm: debug-pl011: Add support for 32-bit only MMIO
xen/arm: pl011: Use correct accessors
xen/arm: pl011: Add SBSA UART device-tree support
docs/misc/arm/early-printk.txt | 3 ++
xen/arch/arm/Kconfig.debug | 7 ++++
xen/arch/arm/arm32/debug-pl011.inc | 12 +++---
xen/arch/arm/arm64/debug-pl011.inc | 12 +++---
xen/arch/arm/include/asm/pl011-uart.h | 19 +++++++++
xen/drivers/char/pl011.c | 57 ++++++++++++++++++++++++---
6 files changed, 92 insertions(+), 18 deletions(-)
--
2.25.1