From mboxrd@z Thu Jan 1 00:00:00 1970 From: Heiko Schocher Date: Tue, 30 Nov 2010 08:18:28 +0100 Subject: [U-Boot] [PATCH v2 1/7] arm: Add Support for Marvell ARMADA 100 Familiy SoCs. In-Reply-To: <1291114965-17100-2-git-send-email-prafulla@marvell.com> References: <1291114965-17100-1-git-send-email-prafulla@marvell.com> <1291114965-17100-2-git-send-email-prafulla@marvell.com> Message-ID: <4CF4A544.8090307@denx.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hello Prafulla, Prafulla Wadaskar wrote: > From: Prafulla WADASKAR > > ARMADA 100 Family processors are highly integrated SoCs > based on Sheeva_88SV331x-v5 PJ1 cpu core. > Ref: http://www.marvell.com/products/processors/applications/armada_100 > > SoC versions Supported: > 1) ARMADA168/88AP168 (Aspen P) > 2) ARMADA166/88AP166 (Aspen M) > 3) ARMADA162/88AP162 (Aspen L) > > Contributors: > Eric Miao > Lei Wen > Mahavir Jain > > Signed-off-by: Mahavir Jain > Signed-off-by: Prafulla Wadaskar > --- > > Change log V2: > 1. C-struct used for dram.c > 2. lib declaration changed from .a to .o > 3. Implemented review feedback for v1 > > arch/arm/cpu/arm926ejs/armada100/Makefile | 46 ++++++ > arch/arm/cpu/arm926ejs/armada100/cpu.c | 92 +++++++++++ > arch/arm/cpu/arm926ejs/armada100/dram.c | 131 +++++++++++++++ > arch/arm/cpu/arm926ejs/armada100/timer.c | 199 +++++++++++++++++++++++ > arch/arm/include/asm/arch-armada100/armada100.h | 120 ++++++++++++++ > arch/arm/include/asm/arch-armada100/cpu.h | 53 ++++++ > 6 files changed, 641 insertions(+), 0 deletions(-) > create mode 100644 arch/arm/cpu/arm926ejs/armada100/Makefile > create mode 100644 arch/arm/cpu/arm926ejs/armada100/cpu.c > create mode 100644 arch/arm/cpu/arm926ejs/armada100/dram.c > create mode 100644 arch/arm/cpu/arm926ejs/armada100/timer.c > create mode 100644 arch/arm/include/asm/arch-armada100/armada100.h > create mode 100644 arch/arm/include/asm/arch-armada100/cpu.h > [...] > diff --git a/arch/arm/cpu/arm926ejs/armada100/timer.c b/arch/arm/cpu/arm926ejs/armada100/timer.c > new file mode 100644 > index 0000000..b9ef8af > --- /dev/null > +++ b/arch/arm/cpu/arm926ejs/armada100/timer.c > @@ -0,0 +1,199 @@ > +/* > + * (C) Copyright 2010 [...] > +#define READ_TIMER ({volatile int loop=100; \ > + writel(COUNT_RD_REQ, &armd1timers->cvwr); \ > + while (loop--); \ > + readl(&armd1timers->cvwr);}) > +static ulong timestamp; > +static ulong lastdec; This local vars are stored in bss, which is not valid before relocation. And timer_init() is called before relocation and changes this vars. For an example how to change this issue, look here: http://git.denx.de/?p=u-boot.git;a=commit;h=5dca710a3d7703e41da0e9894f2d71f9e25bea6b bye, Heiko -- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany