diff options
| -rw-r--r-- | arch/arm/cpu/armv7/am33xx/elm.c | 2 | ||||
| -rw-r--r-- | arch/arm/include/asm/arch-am33xx/omap_gpmc.h | 58 | ||||
| -rw-r--r-- | arch/arm/include/asm/arch-omap3/omap_gpmc.h | 57 | ||||
| -rw-r--r-- | arch/arm/include/asm/omap_gpmc.h | 87 | ||||
| -rw-r--r-- | board/isee/igep00x0/igep00x0.c | 2 | ||||
| -rw-r--r-- | board/overo/overo.c | 2 | ||||
| -rw-r--r-- | drivers/mtd/nand/omap_gpmc.c | 2 | 
7 files changed, 92 insertions, 118 deletions
| diff --git a/arch/arm/cpu/armv7/am33xx/elm.c b/arch/arm/cpu/armv7/am33xx/elm.c index 9eed23d75..41df61295 100644 --- a/arch/arm/cpu/armv7/am33xx/elm.c +++ b/arch/arm/cpu/armv7/am33xx/elm.c @@ -33,7 +33,7 @@  #include <asm/io.h>  #include <asm/errno.h>  #include <asm/arch/cpu.h> -#include <asm/arch/omap_gpmc.h> +#include <asm/omap_gpmc.h>  #include <asm/arch/elm.h>  #define ELM_DEFAULT_POLY (0) diff --git a/arch/arm/include/asm/arch-am33xx/omap_gpmc.h b/arch/arm/include/asm/arch-am33xx/omap_gpmc.h index 572f9d0b2..d03f1dbd8 100644 --- a/arch/arm/include/asm/arch-am33xx/omap_gpmc.h +++ b/arch/arm/include/asm/arch-am33xx/omap_gpmc.h @@ -23,63 +23,7 @@  #ifndef __ASM_ARCH_OMAP_GPMC_H  #define __ASM_ARCH_OMAP_GPMC_H -#define GPMC_BUF_EMPTY	0 -#define GPMC_BUF_FULL	1 - -#define ECCCLEAR	(0x1 << 8) -#define ECCRESULTREG1	(0x1 << 0) -#define ECCSIZE512BYTE	0xFF -#define ECCSIZE1	(ECCSIZE512BYTE << 22) -#define ECCSIZE0	(ECCSIZE512BYTE << 12) -#define ECCSIZE0SEL	(0x000 << 0) - -/* Generic ECC Layouts */ -/* Large Page x8 NAND device Layout */ -#ifdef GPMC_NAND_ECC_LP_x8_LAYOUT -#define GPMC_NAND_HW_ECC_LAYOUT {\ -	.eccbytes = 12,\ -	.eccpos = {1, 2, 3, 4, 5, 6, 7, 8,\ -		9, 10, 11, 12},\ -	.oobfree = {\ -		{.offset = 13,\ -		 .length = 51 } } \ -} -#endif - -/* Large Page x16 NAND device Layout */ -#ifdef GPMC_NAND_ECC_LP_x16_LAYOUT -#define GPMC_NAND_HW_ECC_LAYOUT {\ -	.eccbytes = 12,\ -	.eccpos = {2, 3, 4, 5, 6, 7, 8, 9,\ -		10, 11, 12, 13},\ -	.oobfree = {\ -		{.offset = 14,\ -		 .length = 50 } } \ -} -#endif - -/* Small Page x8 NAND device Layout */ -#ifdef GPMC_NAND_ECC_SP_x8_LAYOUT -#define GPMC_NAND_HW_ECC_LAYOUT {\ -	.eccbytes = 3,\ -	.eccpos = {1, 2, 3},\ -	.oobfree = {\ -		{.offset = 4,\ -		 .length = 12 } } \ -} -#endif - -/* Small Page x16 NAND device Layout */ -#ifdef GPMC_NAND_ECC_SP_x16_LAYOUT -#define GPMC_NAND_HW_ECC_LAYOUT {\ -	.eccbytes = 3,\ -	.eccpos = {2, 3, 4},\ -	.oobfree = {\ -		{.offset = 5,\ -		 .length = 11 } } \ -} -#endif - +/* These GPMC_NAND_HW_BCHx_ECC_LAYOUT defines are based on AM33xx ELM */  #define GPMC_NAND_HW_BCH4_ECC_LAYOUT {\  	.eccbytes = 32,\  	.eccpos = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,\ diff --git a/arch/arm/include/asm/arch-omap3/omap_gpmc.h b/arch/arm/include/asm/arch-omap3/omap_gpmc.h index 800e4ee4a..13efab02e 100644 --- a/arch/arm/include/asm/arch-omap3/omap_gpmc.h +++ b/arch/arm/include/asm/arch-omap3/omap_gpmc.h @@ -23,63 +23,6 @@  #ifndef __ASM_ARCH_OMAP_GPMC_H  #define __ASM_ARCH_OMAP_GPMC_H -#define GPMC_BUF_EMPTY	0 -#define GPMC_BUF_FULL	1 - -#define ECCCLEAR	(0x1 << 8) -#define ECCRESULTREG1	(0x1 << 0) -#define ECCSIZE512BYTE	0xFF -#define ECCSIZE1	(ECCSIZE512BYTE << 22) -#define ECCSIZE0	(ECCSIZE512BYTE << 12) -#define ECCSIZE0SEL	(0x000 << 0) - -/* Generic ECC Layouts */ -/* Large Page x8 NAND device Layout */ -#ifdef GPMC_NAND_ECC_LP_x8_LAYOUT -#define GPMC_NAND_HW_ECC_LAYOUT {\ -	.eccbytes = 12,\ -	.eccpos = {1, 2, 3, 4, 5, 6, 7, 8,\ -		9, 10, 11, 12},\ -	.oobfree = {\ -		{.offset = 13,\ -		 .length = 51 } } \ -} -#endif - -/* Large Page x16 NAND device Layout */ -#ifdef GPMC_NAND_ECC_LP_x16_LAYOUT -#define GPMC_NAND_HW_ECC_LAYOUT {\ -	.eccbytes = 12,\ -	.eccpos = {2, 3, 4, 5, 6, 7, 8, 9,\ -		10, 11, 12, 13},\ -	.oobfree = {\ -		{.offset = 14,\ -		 .length = 50 } } \ -} -#endif - -/* Small Page x8 NAND device Layout */ -#ifdef GPMC_NAND_ECC_SP_x8_LAYOUT -#define GPMC_NAND_HW_ECC_LAYOUT {\ -	.eccbytes = 3,\ -	.eccpos = {1, 2, 3},\ -	.oobfree = {\ -		{.offset = 4,\ -		 .length = 12 } } \ -} -#endif - -/* Small Page x16 NAND device Layout */ -#ifdef GPMC_NAND_ECC_SP_x16_LAYOUT -#define GPMC_NAND_HW_ECC_LAYOUT {\ -	.eccbytes = 3,\ -	.eccpos = {2, 3, 4},\ -	.oobfree = {\ -		{.offset = 5,\ -		 .length = 11 } } \ -} -#endif -  /* GPMC CS configuration for an SMSC LAN9221 ethernet controller */  #define NET_LAN9221_GPMC_CONFIG1    0x00001000  #define NET_LAN9221_GPMC_CONFIG2    0x00060700 diff --git a/arch/arm/include/asm/omap_gpmc.h b/arch/arm/include/asm/omap_gpmc.h new file mode 100644 index 000000000..5cb1df179 --- /dev/null +++ b/arch/arm/include/asm/omap_gpmc.h @@ -0,0 +1,87 @@ +/* + * (C) Copyright 2004-2008 Texas Instruments, <www.ti.com> + * Rohit Choraria <rohitkc@ti.com> + * + * (C) Copyright 2013 Andreas Bießmann <andreas.devel@googlemail.com> + * + * See file CREDITS for list of people who contributed to this + * project. + * + * 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 that 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, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + */ +#ifndef __ASM_OMAP_GPMC_H +#define __ASM_OMAP_GPMC_H + +#include <asm/arch/omap_gpmc.h> + +#define GPMC_BUF_EMPTY	0 +#define GPMC_BUF_FULL	1 + +#define ECCCLEAR	(0x1 << 8) +#define ECCRESULTREG1	(0x1 << 0) +#define ECCSIZE512BYTE	0xFF +#define ECCSIZE1	(ECCSIZE512BYTE << 22) +#define ECCSIZE0	(ECCSIZE512BYTE << 12) +#define ECCSIZE0SEL	(0x000 << 0) + +/* Generic ECC Layouts */ +/* Large Page x8 NAND device Layout */ +#ifdef GPMC_NAND_ECC_LP_x8_LAYOUT +#define GPMC_NAND_HW_ECC_LAYOUT {\ +	.eccbytes = 12,\ +	.eccpos = {1, 2, 3, 4, 5, 6, 7, 8,\ +		9, 10, 11, 12},\ +	.oobfree = {\ +		{.offset = 13,\ +		 .length = 51 } } \ +} +#endif + +/* Large Page x16 NAND device Layout */ +#ifdef GPMC_NAND_ECC_LP_x16_LAYOUT +#define GPMC_NAND_HW_ECC_LAYOUT {\ +	.eccbytes = 12,\ +	.eccpos = {2, 3, 4, 5, 6, 7, 8, 9,\ +		10, 11, 12, 13},\ +	.oobfree = {\ +		{.offset = 14,\ +		 .length = 50 } } \ +} +#endif + +/* Small Page x8 NAND device Layout */ +#ifdef GPMC_NAND_ECC_SP_x8_LAYOUT +#define GPMC_NAND_HW_ECC_LAYOUT {\ +	.eccbytes = 3,\ +	.eccpos = {1, 2, 3},\ +	.oobfree = {\ +		{.offset = 4,\ +		 .length = 12 } } \ +} +#endif + +/* Small Page x16 NAND device Layout */ +#ifdef GPMC_NAND_ECC_SP_x16_LAYOUT +#define GPMC_NAND_HW_ECC_LAYOUT {\ +	.eccbytes = 3,\ +	.eccpos = {2, 3, 4},\ +	.oobfree = {\ +		{.offset = 5,\ +		 .length = 11 } } \ +} +#endif + +#endif /* __ASM_OMAP_GPMC_H */ diff --git a/board/isee/igep00x0/igep00x0.c b/board/isee/igep00x0/igep00x0.c index 2bac91657..0d4679dfb 100644 --- a/board/isee/igep00x0/igep00x0.c +++ b/board/isee/igep00x0/igep00x0.c @@ -24,7 +24,7 @@  #include <twl4030.h>  #include <netdev.h>  #include <asm/gpio.h> -#include <asm/arch/omap_gpmc.h> +#include <asm/omap_gpmc.h>  #include <asm/io.h>  #include <asm/arch/mem.h>  #include <asm/arch/mmc_host_def.h> diff --git a/board/overo/overo.c b/board/overo/overo.c index 8690450fa..c10c44c60 100644 --- a/board/overo/overo.c +++ b/board/overo/overo.c @@ -37,7 +37,7 @@  #include <asm/arch/mux.h>  #include <asm/arch/mem.h>  #include <asm/arch/sys_proto.h> -#include <asm/arch/omap_gpmc.h> +#include <asm/omap_gpmc.h>  #include <asm/gpio.h>  #include <asm/mach-types.h>  #include "overo.h" diff --git a/drivers/mtd/nand/omap_gpmc.c b/drivers/mtd/nand/omap_gpmc.c index bbf5443ec..c7d499990 100644 --- a/drivers/mtd/nand/omap_gpmc.c +++ b/drivers/mtd/nand/omap_gpmc.c @@ -26,7 +26,7 @@  #include <asm/errno.h>  #include <asm/arch/mem.h>  #include <asm/arch/cpu.h> -#include <asm/arch/omap_gpmc.h> +#include <asm/omap_gpmc.h>  #include <linux/mtd/nand_ecc.h>  #include <linux/compiler.h>  #include <nand.h> |