diff options
author | Patrick Turley <patrick.turley@freescale.com> | 2009-11-10 15:21:15 -0600 |
---|---|---|
committer | Justin Waters <justin.waters@timesys.com> | 2010-03-25 14:00:52 -0400 |
commit | 77ccae02e6ab4b80bf5f17eeba05c70c55f0355f (patch) | |
tree | 53e5d405b6a68cb4e9c1b519130a3e184aa24950 /arch | |
parent | 83e8321c833a40db6f715b340c331a88ff690ff8 (diff) |
ENGR00116517 [MX233_BSP] Port ThreadX SDK NAND Flash device identification
Added the device identification and timing database. Adjusted the GPMI
NAND Flash driver to use this information.
Signed-off-by: Patrick Turley <patrick.turley@freescale.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-stmp378x/include/mach/regs-gpmi.h | 11 | ||||
-rw-r--r-- | arch/arm/mach-stmp378x/stmp378x_devb.c | 2 | ||||
-rw-r--r-- | arch/arm/plat-stmp3xxx/include/mach/gpmi.h | 7 |
3 files changed, 20 insertions, 0 deletions
diff --git a/arch/arm/mach-stmp378x/include/mach/regs-gpmi.h b/arch/arm/mach-stmp378x/include/mach/regs-gpmi.h index 16b8e063a142..b53547f0b8e5 100644 --- a/arch/arm/mach-stmp378x/include/mach/regs-gpmi.h +++ b/arch/arm/mach-stmp378x/include/mach/regs-gpmi.h @@ -3,6 +3,7 @@ * * Copyright 2008-2009 Freescale Semiconductor, Inc. All Rights Reserved. * Copyright 2008 Embedded Alley Solutions, Inc All Rights Reserved. + * Copyright 2009 Freescale Semiconductor, Inc. All Rights Reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -211,8 +212,18 @@ #define BM_GPMI_CTRL1_CE1_SEL 0x00200000 #define BM_GPMI_CTRL1_CE0_SEL 0x00100000 #define BM_GPMI_CTRL1_GANGED_RDYBUSY 0x00080000 +#define BM_GPMI_CTRL1_GPMI_MODE 0x00000001 +#define BP_GPMI_CTRL1_GPMI_MODE 0 +#define BM_GPMI_CTRL1_ATA_IRQRDY_POLARITY 0x00000004 +#define BM_GPMI_CTRL1_DEV_RESET 0x00000008 +#define BM_GPMI_CTRL1_TIMEOUT_IRQ 0x00000200 +#define BM_GPMI_CTRL1_DEV_IRQ 0x00000400 +#define BM_GPMI_CTRL1_RDN_DELAY 0x0000F000 +#define BP_GPMI_CTRL1_RDN_DELAY 12 #define BM_GPMI_CTRL1_BCH_MODE 0x00040000 +#define BP_GPMI_CTRL1_DLL_ENABLE 17 #define BM_GPMI_CTRL1_DLL_ENABLE 0x00020000 +#define BP_GPMI_CTRL1_HALF_PERIOD 16 #define BM_GPMI_CTRL1_HALF_PERIOD 0x00010000 #define BP_GPMI_CTRL1_RDN_DELAY 12 #define BM_GPMI_CTRL1_RDN_DELAY 0x0000F000 diff --git a/arch/arm/mach-stmp378x/stmp378x_devb.c b/arch/arm/mach-stmp378x/stmp378x_devb.c index abfd5163f5d9..56a97435f148 100644 --- a/arch/arm/mach-stmp378x/stmp378x_devb.c +++ b/arch/arm/mach-stmp378x/stmp378x_devb.c @@ -217,6 +217,8 @@ static const char *gpmi_partition_source_types[] = { "cmdlinepart", NULL }; static struct gpmi_platform_data gpmi_data = { .io_uA = 70000, + .min_prop_delay_in_ns = 5, + .max_prop_delay_in_ns = 9, .pinmux_handler = gpmi_pinmux_handler, .boot_area_size_in_bytes = 20 * SZ_1M, .partitions = 0, diff --git a/arch/arm/plat-stmp3xxx/include/mach/gpmi.h b/arch/arm/plat-stmp3xxx/include/mach/gpmi.h index c0cb85c13b82..21a7647fc8e4 100644 --- a/arch/arm/plat-stmp3xxx/include/mach/gpmi.h +++ b/arch/arm/plat-stmp3xxx/include/mach/gpmi.h @@ -16,6 +16,10 @@ extern void gpmi_pinmux_free(char *); * that can't be expressed as resources. * * @io_uA: The current limit, in uA. + * @min_prop_delay_in_ns: Minimum propagation delay of GPMI signals to and + * from the NAND Flash device, in nanoseconds. + * @max_prop_delay_in_ns: Maximum propagation delay of GPMI signals to and + * from the NAND Flash device, in nanoseconds. * @pinmux_handler: A pointer to a function the driver will call to * request or release the pins it needs. Pass true * to request pins, and false to release them. @@ -49,6 +53,9 @@ struct gpmi_platform_data { int io_uA; + unsigned min_prop_delay_in_ns; + unsigned max_prop_delay_in_ns; + int (*pinmux_handler)(bool request); uint32_t boot_area_size_in_bytes; |