aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/mach-mx3/Kconfig9
-rw-r--r--arch/arm/mach-mx3/mach-mx31_3ds.c13
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
65config 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
65config MACH_MX31MOBOARD 74config 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 */
60static 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
56static struct imxuart_platform_data uart_pdata = { 68static 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);