diff options
Diffstat (limited to 'arch/arm/mach-omap2/board-flash.c')
-rw-r--r-- | arch/arm/mach-omap2/board-flash.c | 52 |
1 files changed, 26 insertions, 26 deletions
diff --git a/arch/arm/mach-omap2/board-flash.c b/arch/arm/mach-omap2/board-flash.c index e642acf9cad0..c33adea0247c 100644 --- a/arch/arm/mach-omap2/board-flash.c +++ b/arch/arm/mach-omap2/board-flash.c | |||
@@ -17,14 +17,14 @@ | |||
17 | #include <linux/mtd/physmap.h> | 17 | #include <linux/mtd/physmap.h> |
18 | #include <linux/io.h> | 18 | #include <linux/io.h> |
19 | 19 | ||
20 | #include <plat/cpu.h> | ||
21 | #include <plat/gpmc.h> | ||
22 | #include <linux/platform_data/mtd-nand-omap2.h> | 20 | #include <linux/platform_data/mtd-nand-omap2.h> |
23 | #include <linux/platform_data/mtd-onenand-omap2.h> | 21 | #include <linux/platform_data/mtd-onenand-omap2.h> |
24 | #include <plat/tc.h> | ||
25 | 22 | ||
23 | #include "soc.h" | ||
26 | #include "common.h" | 24 | #include "common.h" |
27 | #include "board-flash.h" | 25 | #include "board-flash.h" |
26 | #include "gpmc-onenand.h" | ||
27 | #include "gpmc-nand.h" | ||
28 | 28 | ||
29 | #define REG_FPGA_REV 0x10 | 29 | #define REG_FPGA_REV 0x10 |
30 | #define REG_FPGA_DIP_SWITCH_INPUT2 0x60 | 30 | #define REG_FPGA_DIP_SWITCH_INPUT2 0x60 |
@@ -104,36 +104,35 @@ __init board_onenand_init(struct mtd_partition *onenand_parts, | |||
104 | defined(CONFIG_MTD_NAND_OMAP2_MODULE) | 104 | defined(CONFIG_MTD_NAND_OMAP2_MODULE) |
105 | 105 | ||
106 | /* Note that all values in this struct are in nanoseconds */ | 106 | /* Note that all values in this struct are in nanoseconds */ |
107 | static struct gpmc_timings nand_timings = { | 107 | struct gpmc_timings nand_default_timings[1] = { |
108 | { | ||
109 | .sync_clk = 0, | ||
108 | 110 | ||
109 | .sync_clk = 0, | 111 | .cs_on = 0, |
112 | .cs_rd_off = 36, | ||
113 | .cs_wr_off = 36, | ||
110 | 114 | ||
111 | .cs_on = 0, | 115 | .adv_on = 6, |
112 | .cs_rd_off = 36, | 116 | .adv_rd_off = 24, |
113 | .cs_wr_off = 36, | 117 | .adv_wr_off = 36, |
114 | 118 | ||
115 | .adv_on = 6, | 119 | .we_off = 30, |
116 | .adv_rd_off = 24, | 120 | .oe_off = 48, |
117 | .adv_wr_off = 36, | ||
118 | 121 | ||
119 | .we_off = 30, | 122 | .access = 54, |
120 | .oe_off = 48, | 123 | .rd_cycle = 72, |
124 | .wr_cycle = 72, | ||
121 | 125 | ||
122 | .access = 54, | 126 | .wr_access = 30, |
123 | .rd_cycle = 72, | 127 | .wr_data_mux_bus = 0, |
124 | .wr_cycle = 72, | 128 | }, |
125 | |||
126 | .wr_access = 30, | ||
127 | .wr_data_mux_bus = 0, | ||
128 | }; | 129 | }; |
129 | 130 | ||
130 | static struct omap_nand_platform_data board_nand_data = { | 131 | static struct omap_nand_platform_data board_nand_data; |
131 | .gpmc_t = &nand_timings, | ||
132 | }; | ||
133 | 132 | ||
134 | void | 133 | void |
135 | __init board_nand_init(struct mtd_partition *nand_parts, | 134 | __init board_nand_init(struct mtd_partition *nand_parts, u8 nr_parts, u8 cs, |
136 | u8 nr_parts, u8 cs, int nand_type) | 135 | int nand_type, struct gpmc_timings *gpmc_t) |
137 | { | 136 | { |
138 | board_nand_data.cs = cs; | 137 | board_nand_data.cs = cs; |
139 | board_nand_data.parts = nand_parts; | 138 | board_nand_data.parts = nand_parts; |
@@ -141,7 +140,7 @@ __init board_nand_init(struct mtd_partition *nand_parts, | |||
141 | board_nand_data.devsize = nand_type; | 140 | board_nand_data.devsize = nand_type; |
142 | 141 | ||
143 | board_nand_data.ecc_opt = OMAP_ECC_HAMMING_CODE_DEFAULT; | 142 | board_nand_data.ecc_opt = OMAP_ECC_HAMMING_CODE_DEFAULT; |
144 | gpmc_nand_init(&board_nand_data); | 143 | gpmc_nand_init(&board_nand_data, gpmc_t); |
145 | } | 144 | } |
146 | #endif /* CONFIG_MTD_NAND_OMAP2 || CONFIG_MTD_NAND_OMAP2_MODULE */ | 145 | #endif /* CONFIG_MTD_NAND_OMAP2 || CONFIG_MTD_NAND_OMAP2_MODULE */ |
147 | 146 | ||
@@ -238,5 +237,6 @@ void __init board_flash_init(struct flash_partitions partition_info[], | |||
238 | pr_err("NAND: Unable to find configuration in GPMC\n"); | 237 | pr_err("NAND: Unable to find configuration in GPMC\n"); |
239 | else | 238 | else |
240 | board_nand_init(partition_info[2].parts, | 239 | board_nand_init(partition_info[2].parts, |
241 | partition_info[2].nr_parts, nandcs, nand_type); | 240 | partition_info[2].nr_parts, nandcs, |
241 | nand_type, nand_default_timings); | ||
242 | } | 242 | } |