From dfd3ced611542ac2ef8b3ecc2d0965558f9c4ec0 Mon Sep 17 00:00:00 2001 From: Barry Song Date: Fri, 8 Jul 2011 02:40:13 -0700 Subject: [PATCH] --- yaml --- r: 260459 b: refs/heads/master c: 31adb06f9d68f9d033284c9ab0e264b2d581bceb h: refs/heads/master i: 260457: 4fd8cd8987b63b31e2d032111f1fea797ee364b7 260455: f6244c1d436c6f1c86ece74775ce4f2228f74281 v: v3 --- [refs] | 2 +- trunk/arch/arm/mach-prima2/Makefile | 1 + trunk/arch/arm/mach-prima2/common.h | 6 ++++++ trunk/arch/arm/mach-prima2/lluart.c | 25 +++++++++++++++++++++++++ trunk/arch/arm/mach-prima2/prima2.c | 1 + 5 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 trunk/arch/arm/mach-prima2/lluart.c diff --git a/[refs] b/[refs] index 9146f1baff55..af6e48987166 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 02c981c07bc95ac1e42ec6c817f0c28cf3fe993a +refs/heads/master: 31adb06f9d68f9d033284c9ab0e264b2d581bceb diff --git a/trunk/arch/arm/mach-prima2/Makefile b/trunk/arch/arm/mach-prima2/Makefile index d44f7aedda87..f2fba666c109 100644 --- a/trunk/arch/arm/mach-prima2/Makefile +++ b/trunk/arch/arm/mach-prima2/Makefile @@ -3,3 +3,4 @@ obj-y += irq.o obj-y += clock.o obj-y += rstc.o obj-y += prima2.o +obj-$(CONFIG_DEBUG_LL) += lluart.o diff --git a/trunk/arch/arm/mach-prima2/common.h b/trunk/arch/arm/mach-prima2/common.h index fa4a3b5c674a..83e5d2128118 100644 --- a/trunk/arch/arm/mach-prima2/common.h +++ b/trunk/arch/arm/mach-prima2/common.h @@ -17,4 +17,10 @@ extern struct sys_timer sirfsoc_timer; extern void __init sirfsoc_of_irq_init(void); extern void __init sirfsoc_of_clk_init(void); +#ifndef CONFIG_DEBUG_LL +static inline void sirfsoc_map_lluart(void) {} +#else +extern void __init sirfsoc_map_lluart(void); +#endif + #endif diff --git a/trunk/arch/arm/mach-prima2/lluart.c b/trunk/arch/arm/mach-prima2/lluart.c new file mode 100644 index 000000000000..a89f9b3c8cc5 --- /dev/null +++ b/trunk/arch/arm/mach-prima2/lluart.c @@ -0,0 +1,25 @@ +/* + * Static memory mapping for DEBUG_LL + * + * Copyright (c) 2011 Cambridge Silicon Radio Limited, a CSR plc group company. + * + * Licensed under GPLv2 or later. + */ + +#include +#include +#include +#include +#include + +void __init sirfsoc_map_lluart(void) +{ + struct map_desc sirfsoc_lluart_map = { + .virtual = SIRFSOC_UART1_VA_BASE, + .pfn = __phys_to_pfn(SIRFSOC_UART1_PA_BASE), + .length = SIRFSOC_UART1_SIZE, + .type = MT_DEVICE, + }; + + iotable_init(&sirfsoc_lluart_map, 1); +} diff --git a/trunk/arch/arm/mach-prima2/prima2.c b/trunk/arch/arm/mach-prima2/prima2.c index c26947d76e12..f57124bdd143 100644 --- a/trunk/arch/arm/mach-prima2/prima2.c +++ b/trunk/arch/arm/mach-prima2/prima2.c @@ -33,6 +33,7 @@ MACHINE_START(PRIMA2_EVB, "prima2cb") /* Maintainer: Barry Song */ .boot_params = 0x00000100, .init_early = sirfsoc_of_clk_init, + .map_io = sirfsoc_map_lluart, .init_irq = sirfsoc_of_irq_init, .timer = &sirfsoc_timer, .init_machine = sirfsoc_mach_init,