diff options
| author | Stefan Roese <sr@denx.de> | 2012-08-16 17:55:41 +0000 | 
|---|---|---|
| committer | Wolfgang Denk <wd@denx.de> | 2012-09-01 14:26:02 +0200 | 
| commit | 0044c42e94ecc258728190919b4619508fb83089 (patch) | |
| tree | 4964b48f60ad93a2b77a76104b0ca9f664bde3b3 /arch/arm/cpu | |
| parent | 7fe7701d322e9147c06d68ad6ebef91289b9a57e (diff) | |
| download | olio-uboot-2014.01-0044c42e94ecc258728190919b4619508fb83089.tar.xz olio-uboot-2014.01-0044c42e94ecc258728190919b4619508fb83089.zip | |
Consolidate bootcount code into drivers/bootcount
This patch moves all bootcount implementations into a common
directory: drivers/bootcount. The generic bootcount driver
is now usable not only by powerpc platforms, but others as well.
Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Heiko Schocher <hs@denx.de>
Cc: Valentin Longchamp <valentin.longchamp@keymile.com>
Cc: Christian Riesch <christian.riesch@omicron.at>
Cc: Manfred Rudigier <manfred.rudigier@omicron.at>
Cc: Mike Frysinger <vapier@gentoo.org>
Cc: Rob Herring <rob.herring@calxeda.com>
Cc: Reinhard Meyer <reinhard.meyer@emk-elektronik.de>
Tested-by: Valentin Longchamp <valentin.longchamp@keymile.com>
Tested-by: Christian Riesch <christian.riesch@omicron.at>
Acked-by: Rob Herring <rob.herring@calxeda.com>
Acked-by: Mike Frysinger <vapier@gentoo.org>
Diffstat (limited to 'arch/arm/cpu')
| -rw-r--r-- | arch/arm/cpu/arm926ejs/at91/cpu.c | 26 | ||||
| -rw-r--r-- | arch/arm/cpu/armv7/highbank/Makefile | 2 | ||||
| -rw-r--r-- | arch/arm/cpu/armv7/highbank/bootcount.c | 36 | ||||
| -rw-r--r-- | arch/arm/cpu/ixp/cpu.c | 22 | 
4 files changed, 1 insertions, 85 deletions
| diff --git a/arch/arm/cpu/arm926ejs/at91/cpu.c b/arch/arm/cpu/arm926ejs/at91/cpu.c index c47fb31e9..5cf4fad0b 100644 --- a/arch/arm/cpu/arm926ejs/at91/cpu.c +++ b/arch/arm/cpu/arm926ejs/at91/cpu.c @@ -71,29 +71,3 @@ int print_cpuinfo(void)  	return 0;  }  #endif - -#ifdef CONFIG_BOOTCOUNT_LIMIT -/* - * We combine the BOOTCOUNT_MAGIC and bootcount in one 32-bit register. - * This is done so we need to use only one of the four GPBR registers. - */ -void bootcount_store (ulong a) -{ -	at91_gpbr_t *gpbr = (at91_gpbr_t *) ATMEL_BASE_GPBR; - -	writel((BOOTCOUNT_MAGIC & 0xffff0000) | (a & 0x0000ffff), -		&gpbr->reg[AT91_GPBR_INDEX_BOOTCOUNT]); -} - -ulong bootcount_load (void) -{ -	at91_gpbr_t *gpbr = (at91_gpbr_t *) ATMEL_BASE_GPBR; - -	ulong val = readl(&gpbr->reg[AT91_GPBR_INDEX_BOOTCOUNT]); -	if ((val & 0xffff0000) != (BOOTCOUNT_MAGIC & 0xffff0000)) -		return 0; -	else -		return val & 0x0000ffff; -} - -#endif /* CONFIG_BOOTCOUNT_LIMIT */ diff --git a/arch/arm/cpu/armv7/highbank/Makefile b/arch/arm/cpu/armv7/highbank/Makefile index 917c3a36b..76faeb0fe 100644 --- a/arch/arm/cpu/armv7/highbank/Makefile +++ b/arch/arm/cpu/armv7/highbank/Makefile @@ -25,7 +25,7 @@ include $(TOPDIR)/config.mk  LIB	= $(obj)lib$(SOC).o -COBJS	:= timer.o bootcount.o +COBJS	:= timer.o  SOBJS	:=  SRCS	:= $(SOBJS:.o=.S) $(COBJS:.o=.c) diff --git a/arch/arm/cpu/armv7/highbank/bootcount.c b/arch/arm/cpu/armv7/highbank/bootcount.c deleted file mode 100644 index 9ca06567a..000000000 --- a/arch/arm/cpu/armv7/highbank/bootcount.c +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright 2011 Calxeda, Inc. - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the Free - * Software Foundation; either version 2 of the License, or (at your option) - * any later version. - * - * This program is distributed in the hope it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program.  If not, see <http://www.gnu.org/licenses/>. - */ - -#include <common.h> -#include <asm/io.h> - -#ifdef CONFIG_BOOTCOUNT_LIMIT -void bootcount_store(ulong a) -{ -	writel((BOOTCOUNT_MAGIC & 0xffff0000) | a, CONFIG_SYS_BOOTCOUNT_ADDR); -} - -ulong bootcount_load(void) -{ -	u32 tmp = readl(CONFIG_SYS_BOOTCOUNT_ADDR); - -	if ((tmp & 0xffff0000) != (BOOTCOUNT_MAGIC & 0xffff0000)) -		return 0; -	else -		return tmp & 0x0000ffff; -} -#endif diff --git a/arch/arm/cpu/ixp/cpu.c b/arch/arm/cpu/ixp/cpu.c index 942845d54..f1864d631 100644 --- a/arch/arm/cpu/ixp/cpu.c +++ b/arch/arm/cpu/ixp/cpu.c @@ -107,28 +107,6 @@ void pci_init(void)  }  */ -#ifdef CONFIG_BOOTCOUNT_LIMIT - -void bootcount_store (ulong a) -{ -	volatile ulong *save_addr = (volatile ulong *)(CONFIG_SYS_BOOTCOUNT_ADDR); - -	save_addr[0] = a; -	save_addr[1] = BOOTCOUNT_MAGIC; -} - -ulong bootcount_load (void) -{ -	volatile ulong *save_addr = (volatile ulong *)(CONFIG_SYS_BOOTCOUNT_ADDR); - -	if (save_addr[1] != BOOTCOUNT_MAGIC) -		return 0; -	else -		return save_addr[0]; -} - -#endif /* CONFIG_BOOTCOUNT_LIMIT */ -  int cpu_eth_init(bd_t *bis)  {  #ifdef CONFIG_IXP4XX_NPE |