aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorSukumar Ghorai <s-ghorai@ti.com>2011-01-28 05:12:06 -0500
committerTony Lindgren <tony@atomide.com>2011-02-17 18:32:53 -0500
commit4e070376165a9b7f245fada77645b81352c6ec78 (patch)
tree76a854fc37f50633f10a9eb25382d43329a94083 /arch
parentdb97eb7dfe13f6c04f0a0e77c32e2691f563ab8b (diff)
omap3: nand: prefetch in irq mode support
This patch enable prefetch-irq mode for nand transfer(read, write) Signed-off-by: Vimal Singh <vimalsingh@ti.com> Signed-off-by: Sukumar Ghorai <s-ghorai@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/mach-omap2/board-flash.c2
-rw-r--r--arch/arm/plat-omap/include/plat/nand.h4
2 files changed, 5 insertions, 1 deletions
diff --git a/arch/arm/mach-omap2/board-flash.c b/arch/arm/mach-omap2/board-flash.c
index f6b72533c08..19645095d59 100644
--- a/arch/arm/mach-omap2/board-flash.c
+++ b/arch/arm/mach-omap2/board-flash.c
@@ -16,6 +16,7 @@
16#include <linux/platform_device.h> 16#include <linux/platform_device.h>
17#include <linux/mtd/physmap.h> 17#include <linux/mtd/physmap.h>
18#include <linux/io.h> 18#include <linux/io.h>
19#include <plat/irqs.h>
19 20
20#include <plat/gpmc.h> 21#include <plat/gpmc.h>
21#include <plat/nand.h> 22#include <plat/nand.h>
@@ -147,6 +148,7 @@ __init board_nand_init(struct mtd_partition *nand_parts,
147 board_nand_data.nr_parts = nr_parts; 148 board_nand_data.nr_parts = nr_parts;
148 board_nand_data.devsize = nand_type; 149 board_nand_data.devsize = nand_type;
149 150
151 board_nand_data.gpmc_irq = OMAP_GPMC_IRQ_BASE + cs;
150 gpmc_nand_init(&board_nand_data); 152 gpmc_nand_init(&board_nand_data);
151} 153}
152#else 154#else
diff --git a/arch/arm/plat-omap/include/plat/nand.h b/arch/arm/plat-omap/include/plat/nand.h
index 78c0bdb98c1..ae5e0538303 100644
--- a/arch/arm/plat-omap/include/plat/nand.h
+++ b/arch/arm/plat-omap/include/plat/nand.h
@@ -13,7 +13,8 @@
13enum nand_io { 13enum nand_io {
14 NAND_OMAP_PREFETCH_POLLED = 0, /* prefetch polled mode, default */ 14 NAND_OMAP_PREFETCH_POLLED = 0, /* prefetch polled mode, default */
15 NAND_OMAP_POLLED, /* polled mode, without prefetch */ 15 NAND_OMAP_POLLED, /* polled mode, without prefetch */
16 NAND_OMAP_PREFETCH_DMA /* prefetch enabled sDMA mode */ 16 NAND_OMAP_PREFETCH_DMA, /* prefetch enabled sDMA mode */
17 NAND_OMAP_PREFETCH_IRQ /* prefetch enabled irq mode */
17}; 18};
18 19
19struct omap_nand_platform_data { 20struct omap_nand_platform_data {
@@ -26,6 +27,7 @@ struct omap_nand_platform_data {
26 int (*nand_setup)(void); 27 int (*nand_setup)(void);
27 int (*dev_ready)(struct omap_nand_platform_data *); 28 int (*dev_ready)(struct omap_nand_platform_data *);
28 int dma_channel; 29 int dma_channel;
30 int gpmc_irq;
29 enum nand_io xfer_type; 31 enum nand_io xfer_type;
30 unsigned long phys_base; 32 unsigned long phys_base;
31 int devsize; 33 int devsize;