diff options
author | Linus Walleij <linus.walleij@linaro.org> | 2013-01-05 16:28:32 -0500 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2013-01-28 17:24:36 -0500 |
commit | ba785205502f9a03d4ee31bdc3a1228ba5465f00 (patch) | |
tree | a532b81285c3004d8015f22cea7799bc1b82e3ef /arch/arm/mach-nomadik | |
parent | 27bda036d246ae417af348d7868f96d2da208ecc (diff) |
ARM: nomadik: add FSMC NAND
This adds the FSMC NAND driver and flash partitions to the Nomadik
device tree.
The only compatible string accepted by this driver is currently
"st,spear600-fsmc-nand" which is inappropriate for this system, so
this patch adds the compatible value "stericsson,fsmc-nand" as
well.
Cc: linux-mtd@vger.kernel.org
Cc: David Woodhouse <dwmw2@infradead.org>
Cc: Artem Bityutskiy <dedekind1@gmail.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'arch/arm/mach-nomadik')
-rw-r--r-- | arch/arm/mach-nomadik/cpu-8815.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/arch/arm/mach-nomadik/cpu-8815.c b/arch/arm/mach-nomadik/cpu-8815.c index 8d071d2769b5..a3894ca45bb8 100644 --- a/arch/arm/mach-nomadik/cpu-8815.c +++ b/arch/arm/mach-nomadik/cpu-8815.c | |||
@@ -33,6 +33,7 @@ | |||
33 | #include <linux/of_irq.h> | 33 | #include <linux/of_irq.h> |
34 | #include <linux/of_address.h> | 34 | #include <linux/of_address.h> |
35 | #include <linux/of_platform.h> | 35 | #include <linux/of_platform.h> |
36 | #include <linux/mtd/fsmc.h> | ||
36 | 37 | ||
37 | #include <mach/hardware.h> | 38 | #include <mach/hardware.h> |
38 | #include <mach/irqs.h> | 39 | #include <mach/irqs.h> |
@@ -249,6 +250,17 @@ static void __init cpu8815_timer_init_of(void) | |||
249 | nmdk_timer_init(base, irq); | 250 | nmdk_timer_init(base, irq); |
250 | } | 251 | } |
251 | 252 | ||
253 | static struct fsmc_nand_timings cpu8815_nand_timings = { | ||
254 | .thiz = 0, | ||
255 | .thold = 0x10, | ||
256 | .twait = 0x0A, | ||
257 | .tset = 0, | ||
258 | }; | ||
259 | |||
260 | static struct fsmc_nand_platform_data cpu8815_nand_data = { | ||
261 | .nand_timings = &cpu8815_nand_timings, | ||
262 | }; | ||
263 | |||
252 | /* These are mostly to get the right device names for the clock lookups */ | 264 | /* These are mostly to get the right device names for the clock lookups */ |
253 | static struct of_dev_auxdata cpu8815_auxdata_lookup[] __initdata = { | 265 | static struct of_dev_auxdata cpu8815_auxdata_lookup[] __initdata = { |
254 | OF_DEV_AUXDATA("arm,primecell", NOMADIK_UART0_BASE, | 266 | OF_DEV_AUXDATA("arm,primecell", NOMADIK_UART0_BASE, |
@@ -259,6 +271,9 @@ static struct of_dev_auxdata cpu8815_auxdata_lookup[] __initdata = { | |||
259 | "rng", NULL), | 271 | "rng", NULL), |
260 | OF_DEV_AUXDATA("arm,primecell", NOMADIK_RTC_BASE, | 272 | OF_DEV_AUXDATA("arm,primecell", NOMADIK_RTC_BASE, |
261 | "rtc-pl031", NULL), | 273 | "rtc-pl031", NULL), |
274 | OF_DEV_AUXDATA("stericsson,fsmc-nand", NOMADIK_FSMC_BASE, | ||
275 | "fsmc-nand", &cpu8815_nand_data), | ||
276 | |||
262 | { /* sentinel */ }, | 277 | { /* sentinel */ }, |
263 | }; | 278 | }; |
264 | 279 | ||