diff options
author | Alberto Panizzo <maramaopercheseimorto@gmail.com> | 2010-03-23 14:49:35 -0400 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2010-03-25 03:43:03 -0400 |
commit | a1b67b957ea3b9138ed8239796cb48d8b1bf66b0 (patch) | |
tree | 8c72347ea0f570bd6486adf745c6f2075cd16331 /arch | |
parent | 11a332adfeacee2634f73ad21b55aad5cc7fd54a (diff) |
MXC: mach-mx31_3ds: Add support for on board NAND Flash.
Since the using of Bad Block Table is not constantly a good behave
I had made it configurable.
Signed-off-by: Alberto Panizzo <maramaopercheseimorto@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-mx3/Kconfig | 9 | ||||
-rw-r--r-- | arch/arm/mach-mx3/mach-mx31_3ds.c | 13 |
2 files changed, 22 insertions, 0 deletions
diff --git a/arch/arm/mach-mx3/Kconfig b/arch/arm/mach-mx3/Kconfig index 3872af1cf2c3..9a2911e004a3 100644 --- a/arch/arm/mach-mx3/Kconfig +++ b/arch/arm/mach-mx3/Kconfig | |||
@@ -62,6 +62,15 @@ config MACH_MX31_3DS | |||
62 | Include support for MX31PDK (3DS) platform. This includes specific | 62 | Include support for MX31PDK (3DS) platform. This includes specific |
63 | configurations for the board and its peripherals. | 63 | configurations for the board and its peripherals. |
64 | 64 | ||
65 | config MACH_MX31_3DS_MXC_NAND_USE_BBT | ||
66 | bool "Make the MXC NAND driver use the in flash Bad Block Table" | ||
67 | depends on MACH_MX31_3DS | ||
68 | depends on MTD_NAND_MXC | ||
69 | help | ||
70 | Enable this if you want that the MXC NAND driver uses the in flash | ||
71 | Bad Block Table to know what blocks are bad instead of scanning the | ||
72 | entire flash looking for bad block markers. | ||
73 | |||
65 | config MACH_MX31MOBOARD | 74 | config MACH_MX31MOBOARD |
66 | bool "Support mx31moboard platforms (EPFL Mobots group)" | 75 | bool "Support mx31moboard platforms (EPFL Mobots group)" |
67 | select ARCH_MX31 | 76 | select ARCH_MX31 |
diff --git a/arch/arm/mach-mx3/mach-mx31_3ds.c b/arch/arm/mach-mx3/mach-mx31_3ds.c index 4a94c3c49480..bf1f54a31c4f 100644 --- a/arch/arm/mach-mx3/mach-mx31_3ds.c +++ b/arch/arm/mach-mx3/mach-mx31_3ds.c | |||
@@ -34,6 +34,7 @@ | |||
34 | #include <mach/board-mx31_3ds.h> | 34 | #include <mach/board-mx31_3ds.h> |
35 | #include <mach/imx-uart.h> | 35 | #include <mach/imx-uart.h> |
36 | #include <mach/iomux-mx3.h> | 36 | #include <mach/iomux-mx3.h> |
37 | #include <mach/mxc_nand.h> | ||
37 | #include "devices.h" | 38 | #include "devices.h" |
38 | 39 | ||
39 | /*! | 40 | /*! |
@@ -53,6 +54,17 @@ static int mx31_3ds_pins[] = { | |||
53 | IOMUX_MODE(MX31_PIN_GPIO1_1, IOMUX_CONFIG_GPIO), | 54 | IOMUX_MODE(MX31_PIN_GPIO1_1, IOMUX_CONFIG_GPIO), |
54 | }; | 55 | }; |
55 | 56 | ||
57 | /* | ||
58 | * NAND Flash | ||
59 | */ | ||
60 | static struct mxc_nand_platform_data imx31_3ds_nand_flash_pdata = { | ||
61 | .width = 1, | ||
62 | .hw_ecc = 1, | ||
63 | #ifdef MACH_MX31_3DS_MXC_NAND_USE_BBT | ||
64 | .flash_bbt = 1, | ||
65 | #endif | ||
66 | }; | ||
67 | |||
56 | static struct imxuart_platform_data uart_pdata = { | 68 | static struct imxuart_platform_data uart_pdata = { |
57 | .flags = IMXUART_HAVE_RTSCTS, | 69 | .flags = IMXUART_HAVE_RTSCTS, |
58 | }; | 70 | }; |
@@ -236,6 +248,7 @@ static void __init mxc_board_init(void) | |||
236 | "mx31_3ds"); | 248 | "mx31_3ds"); |
237 | 249 | ||
238 | mxc_register_device(&mxc_uart_device0, &uart_pdata); | 250 | mxc_register_device(&mxc_uart_device0, &uart_pdata); |
251 | mxc_register_device(&mxc_nand_device, &imx31_3ds_nand_flash_pdata); | ||
239 | 252 | ||
240 | if (!mx31_3ds_init_expio()) | 253 | if (!mx31_3ds_init_expio()) |
241 | platform_device_register(&smsc911x_device); | 254 | platform_device_register(&smsc911x_device); |