
On 5/29/2014 11:58 AM, Ivan Khoronzhuk wrote:
The definitions inside emif_defs.h concern davinci nand driver and should be in it's header. So create header file for davinci nand driver and move definitions from emif_defs.h to it.
Ivan,
It is difficult to see what is done here. Can you rename the file in a separate patch? Do it similar to what is done in kernel where aemif driver concerns with bus configuration and nand drivers concerns with NAND part of the EMIF driver.
Acked-by: Vitaly Andrianov vitalya@ti.com Signed-off-by: Ivan Khoronzhuk ivan.khoronzhuk@ti.com
arch/arm/cpu/armv7/keystone/aemif.c | 2 +- arch/arm/include/asm/arch-keystone/aemif.h | 16 ++++++++++ arch/arm/include/asm/arch-keystone/nand_defs.h | 23 -------------- drivers/mtd/nand/davinci_nand.c | 3 +- .../emif_defs.h => drivers/mtd/nand/davinci_nand.h | 35 +++++++++------------- 5 files changed, 32 insertions(+), 47 deletions(-) create mode 100644 arch/arm/include/asm/arch-keystone/aemif.h delete mode 100644 arch/arm/include/asm/arch-keystone/nand_defs.h rename arch/arm/include/asm/arch-keystone/emif_defs.h => drivers/mtd/nand/davinci_nand.h (57%)
diff --git a/arch/arm/cpu/armv7/keystone/aemif.c b/arch/arm/cpu/armv7/keystone/aemif.c index 9b26886..9ba1549 100644 --- a/arch/arm/cpu/armv7/keystone/aemif.c +++ b/arch/arm/cpu/armv7/keystone/aemif.c @@ -10,7 +10,7 @@ #include <common.h> #include <asm/io.h> #include <asm/arch/clock.h> -#include <asm/arch/emif_defs.h> +#include <../drivers/mtd/nand/davinci_nand.h>
#define AEMIF_CFG_SELECT_STROBE(v) ((v) ? 1 << 31 : 0) #define AEMIF_CFG_EXTEND_WAIT(v) ((v) ? 1 << 30 : 0) diff --git a/arch/arm/include/asm/arch-keystone/aemif.h b/arch/arm/include/asm/arch-keystone/aemif.h new file mode 100644 index 0000000..2dac747 --- /dev/null +++ b/arch/arm/include/asm/arch-keystone/aemif.h @@ -0,0 +1,16 @@ +/*
- emif definitions to re-use davinci emif driver on Keystone2
- (C) Copyright 2012-2014
Texas Instruments Incorporated, <www.ti.com>
- (C) Copyright 2007 Sergey Kubushyn ksi@koi8.net
- SPDX-License-Identifier: GPL-2.0+
- */
+#ifndef _AEMIF_H_ +#define _AEMIF_H_
+#include <asm/arch/hardware.h>
+#endif diff --git a/arch/arm/include/asm/arch-keystone/nand_defs.h b/arch/arm/include/asm/arch-keystone/nand_defs.h deleted file mode 100644 index 58417db..0000000 --- a/arch/arm/include/asm/arch-keystone/nand_defs.h +++ /dev/null @@ -1,23 +0,0 @@ -/*
- nand driver definitions to re-use davinci nand driver on Keystone2
- (C) Copyright 2012-2014
Texas Instruments Incorporated, <www.ti.com>
- (C) Copyright 2007 Sergey Kubushyn ksi@koi8.net
- SPDX-License-Identifier: GPL-2.0+
- */
-#ifndef _NAND_DEFS_H_ -#define _NAND_DEFS_H_
-#include <asm/arch/hardware.h> -#include <linux/mtd/nand.h>
-#define MASK_CLE 0x4000 -#define MASK_ALE 0x2000
-#define NAND_READ_START 0x00 -#define NAND_READ_END 0x30 -#define NAND_STATUS 0x70
-#endif diff --git a/drivers/mtd/nand/davinci_nand.c b/drivers/mtd/nand/davinci_nand.c index 75b03a7..bacf1f1 100644 --- a/drivers/mtd/nand/davinci_nand.c +++ b/drivers/mtd/nand/davinci_nand.c @@ -32,8 +32,7 @@ #include <common.h> #include <asm/io.h> #include <nand.h> -#include <asm/arch/nand_defs.h> -#include <asm/arch/emif_defs.h> +#include "davinci_nand.h"
/* Definitions for 4-bit hardware ECC */ #define NAND_TIMEOUT 10240 diff --git a/arch/arm/include/asm/arch-keystone/emif_defs.h b/drivers/mtd/nand/davinci_nand.h similarity index 57% rename from arch/arm/include/asm/arch-keystone/emif_defs.h rename to drivers/mtd/nand/davinci_nand.h index a3378aa..db8d896 100644 --- a/arch/arm/include/asm/arch-keystone/emif_defs.h +++ b/drivers/mtd/nand/davinci_nand.h @@ -1,16 +1,22 @@ /*
- emif definitions to re-use davinci emif driver on Keystone2
- NAND Flash Driver
- (C) Copyright 2012-2014
Texas Instruments Incorporated, <www.ti.com>
- (C) Copyright 2007 Sergey Kubushyn ksi@koi8.net
- Copyright (C) 2006-2014 Texas Instruments.
- SPDX-License-Identifier: GPL-2.0+
*/
- Based on Linux DaVinci NAND driver by TI.
-#ifndef _EMIF_DEFS_H_ -#define _EMIF_DEFS_H_
-#include <asm/arch/hardware.h> +#ifndef _DAVINCI_NAND_H_ +#define _DAVINCI_NAND_H_
+#include <linux/mtd/nand.h>
+#define MASK_CLE 0x4000 +#define MASK_ALE 0x2000
+#define NAND_READ_START 0x00 +#define NAND_READ_END 0x30 +#define NAND_STATUS 0x70
struct davinci_emif_regs { uint32_t ercsr; @@ -57,17 +63,4 @@ struct davinci_emif_regs { #define DAVINCI_NANDFCR_4BIT_ECC_START (1 << 12) #define DAVINCI_NANDFCR_4BIT_CALC_START (1 << 13)
-/* Chip Select setup */ -#define DAVINCI_ABCR_STROBE_SELECT (1 << 31) -#define DAVINCI_ABCR_EXT_WAIT (1 << 30) -#define DAVINCI_ABCR_WSETUP(n) ((n) << 26) -#define DAVINCI_ABCR_WSTROBE(n) ((n) << 20) -#define DAVINCI_ABCR_WHOLD(n) ((n) << 17) -#define DAVINCI_ABCR_RSETUP(n) ((n) << 13) -#define DAVINCI_ABCR_RSTROBE(n) ((n) << 7) -#define DAVINCI_ABCR_RHOLD(n) ((n) << 4) -#define DAVINCI_ABCR_TA(n) ((n) << 2) -#define DAVINCI_ABCR_ASIZE_16BIT 1 -#define DAVINCI_ABCR_ASIZE_8BIT 0
- #endif