diff options
| author | Tom Rini <trini@ti.com> | 2013-04-15 07:46:11 -0400 | 
|---|---|---|
| committer | Tom Rini <trini@ti.com> | 2013-04-15 07:46:11 -0400 | 
| commit | 17059f972fa6768ebf15a575c00083b3a431b79a (patch) | |
| tree | 30df6b88fa1dc57dada54f9a16ab1619cc4f3c52 /arch/arm/include/asm/arch-omap3/omap_gpmc.h | |
| parent | 277f037074fbb73be10a7bff27079b6eb0a3bfbb (diff) | |
| parent | 8960af8ba9488fc54e2e4733cbada26d3cece225 (diff) | |
| download | olio-uboot-2014.01-17059f972fa6768ebf15a575c00083b3a431b79a.tar.xz olio-uboot-2014.01-17059f972fa6768ebf15a575c00083b3a431b79a.zip  | |
Merge branch 'master' of git://git.denx.de/u-boot-arm
Diffstat (limited to 'arch/arm/include/asm/arch-omap3/omap_gpmc.h')
| -rw-r--r-- | arch/arm/include/asm/arch-omap3/omap_gpmc.h | 68 | 
1 files changed, 14 insertions, 54 deletions
diff --git a/arch/arm/include/asm/arch-omap3/omap_gpmc.h b/arch/arm/include/asm/arch-omap3/omap_gpmc.h index 800e4ee4a..6441281ce 100644 --- a/arch/arm/include/asm/arch-omap3/omap_gpmc.h +++ b/arch/arm/include/asm/arch-omap3/omap_gpmc.h @@ -23,62 +23,22 @@  #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},\ +/* + * These GPMC_NAND_HW_BCHx_ECC_LAYOUT defines using the BCH library. + * The OOB layout was first defined by linx kernel in commit + * 0e618ef0a6a33cf7ef96c2c824402088dd8ef48c, we have to reuse it here cause + * we want to be compatible. + */ +#define GPMC_NAND_HW_BCH8_ECC_LAYOUT {\ +	.eccbytes = 56,\ +	.eccpos = {12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,\ +			23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,\ +			37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,\ +			51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63},\  	.oobfree = {\ -		{.offset = 5,\ -		 .length = 11 } } \ +		{.offset = 2,\ +		 .length = 10 } } \  } -#endif  /* GPMC CS configuration for an SMSC LAN9221 ethernet controller */  #define NET_LAN9221_GPMC_CONFIG1    0x00001000  |