diff options
author | Sukumar Ghorai <s-ghorai@ti.com> | 2011-01-28 05:12:06 -0500 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2011-02-17 18:32:53 -0500 |
commit | 4e070376165a9b7f245fada77645b81352c6ec78 (patch) | |
tree | 76a854fc37f50633f10a9eb25382d43329a94083 /arch/arm | |
parent | db97eb7dfe13f6c04f0a0e77c32e2691f563ab8b (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/arm')
-rw-r--r-- | arch/arm/mach-omap2/board-flash.c | 2 | ||||
-rw-r--r-- | arch/arm/plat-omap/include/plat/nand.h | 4 |
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 f6b72533c089..19645095d597 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 78c0bdb98c18..ae5e05383031 100644 --- a/arch/arm/plat-omap/include/plat/nand.h +++ b/arch/arm/plat-omap/include/plat/nand.h | |||
@@ -13,7 +13,8 @@ | |||
13 | enum nand_io { | 13 | enum 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 | ||
19 | struct omap_nand_platform_data { | 20 | struct 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; |