aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndre Przywara <andre.przywara@calxeda.com>2013-05-24 15:47:28 +0200
committerIan Campbell <ian.campbell@citrix.com>2013-05-30 09:20:33 +0100
commit74025300d55262155a3bdafddf257d82dcf0f6af (patch)
tree9a52e49c5a057e975851c3b51c0a42a855a44e8e
parent130645eee340608c12b632535d3f983508348ba1 (diff)
downloadxen-74025300d55262155a3bdafddf257d82dcf0f6af.tar.gz
xen-74025300d55262155a3bdafddf257d82dcf0f6af.tar.bz2
xen-74025300d55262155a3bdafddf257d82dcf0f6af.zip
arm/early-printk: move UART base address to Rules.mk
The UART memory mapped base address is currently hardcoded in the early-printk UART driver, which denies the driver to be used by two machines with a different mapping. Move this definition out to xen/arch/arm/Rules.mk, allowing easier user access and later sharing of the driver. Signed-off-by: Andre Przywara <andre.przywara@calxeda.com> Reviewed-by: Julien Grall <julien.grall@linaro.org> Acked-by: Ian Campbell <ian.campbell@citrix.com>
-rw-r--r--docs/misc/arm/early-printk.txt2
-rw-r--r--xen/arch/arm/Rules.mk4
-rw-r--r--xen/arch/arm/arm32/debug-exynos4210.inc2
-rw-r--r--xen/arch/arm/arm32/debug-pl011.inc2
-rw-r--r--xen/arch/arm/arm64/debug-pl011.inc2
5 files changed, 4 insertions, 8 deletions
diff --git a/docs/misc/arm/early-printk.txt b/docs/misc/arm/early-printk.txt
index 965add56b8..9220113e92 100644
--- a/docs/misc/arm/early-printk.txt
+++ b/docs/misc/arm/early-printk.txt
@@ -12,7 +12,7 @@ where mach is the name of the machine:
- vexpress: printk with pl011 for versatile express
- exynos5250: printk with the second UART
-The baud rate is hardcoded in xen/arch/arm/Rules.mk,
+The base address and baud rate is hardcoded in xen/arch/arm/Rules.mk,
see there when adding support for new machines.
If not explicitly requested with "EARLY_PRINTK_INIT_UART := y" in Rules.mk,
the code will not try to initialize the UART, so that bootloader or
diff --git a/xen/arch/arm/Rules.mk b/xen/arch/arm/Rules.mk
index fdcf73e453..902bddb75f 100644
--- a/xen/arch/arm/Rules.mk
+++ b/xen/arch/arm/Rules.mk
@@ -42,15 +42,16 @@ EARLY_PRINTK := n
ifeq ($(debug),y)
# Early printk for versatile express
-# TODO handle UART base address from make command line
ifeq ($(CONFIG_EARLY_PRINTK), vexpress)
EARLY_PRINTK_INC := pl011
EARLY_PRINTK_BAUD := 38400
+EARLY_UART_BASE_ADDRESS := 0x1c090000
endif
ifeq ($(CONFIG_EARLY_PRINTK), exynos5250)
EARLY_PRINTK_INC := exynos4210
EARLY_PRINTK_INIT_UART := y
EARLY_PRINTK_BAUD := 115200
+EARLY_UART_BASE_ADDRESS := 0x12c20000
endif
ifneq ($(EARLY_PRINTK_INC),)
@@ -61,4 +62,5 @@ CFLAGS-$(EARLY_PRINTK) += -DEARLY_PRINTK
CFLAGS-$(EARLY_PRINTK_INIT_UART) += -DEARLY_PRINTK_INIT_UART
CFLAGS-$(EARLY_PRINTK) += -DEARLY_PRINTK_INC=\"debug-$(EARLY_PRINTK_INC).inc\"
CFLAGS-$(EARLY_PRINTK) += -DEARLY_PRINTK_BAUD=$(EARLY_PRINTK_BAUD)
+CFLAGS-$(EARLY_PRINTK) += -DEARLY_UART_BASE_ADDRESS=$(EARLY_UART_BASE_ADDRESS)
endif
diff --git a/xen/arch/arm/arm32/debug-exynos4210.inc b/xen/arch/arm/arm32/debug-exynos4210.inc
index 4922148ac1..d746c35e30 100644
--- a/xen/arch/arm/arm32/debug-exynos4210.inc
+++ b/xen/arch/arm/arm32/debug-exynos4210.inc
@@ -18,8 +18,6 @@
#include <asm/exynos4210-uart.h>
-#define EARLY_UART_BASE_ADDRESS 0x12c20000
-
/* Exynos 5 UART initialization
* rb: register which contains the UART base address
* rc: scratch register 1
diff --git a/xen/arch/arm/arm32/debug-pl011.inc b/xen/arch/arm/arm32/debug-pl011.inc
index 2d970ea364..8b085b855c 100644
--- a/xen/arch/arm/arm32/debug-pl011.inc
+++ b/xen/arch/arm/arm32/debug-pl011.inc
@@ -16,8 +16,6 @@
* GNU General Public License for more details.
*/
-#define EARLY_UART_BASE_ADDRESS 0x1c090000
-
/* PL011 UART initialization
* rb: register which contains the UART base address
* rc: scratch register 1
diff --git a/xen/arch/arm/arm64/debug-pl011.inc b/xen/arch/arm/arm64/debug-pl011.inc
index 722094036d..b416235208 100644
--- a/xen/arch/arm/arm64/debug-pl011.inc
+++ b/xen/arch/arm/arm64/debug-pl011.inc
@@ -18,8 +18,6 @@
#include <asm/asm_defns.h>
-#define EARLY_UART_BASE_ADDRESS 0x1c090000
-
/* PL011 UART initialization
* xb: register which containts the UART base address
* c: scratch register number */