diff options
| author | Afzal Mohammed <afzal@ti.com> | 2012-02-29 18:11:56 +0530 | 
|---|---|---|
| committer | Afzal Mohammed <afzal@ti.com> | 2012-10-15 12:00:44 +0530 | 
| commit | 2e618261c96d72e5c5409d134d6d93e679683ab8 (patch) | |
| tree | 26695df308bf730aa404e2106272c2885e6cf3ff /arch/arm/mach-omap2/common-board-devices.c | |
| parent | ddffeb8c4d0331609ef2581d84de4d763607bd37 (diff) | |
| download | olio-linux-3.10-2e618261c96d72e5c5409d134d6d93e679683ab8.tar.xz olio-linux-3.10-2e618261c96d72e5c5409d134d6d93e679683ab8.zip  | |
ARM: OMAP2+: nand: unify init functions
Helper function for updating nand platform data has been
added the capability to take timing structure arguement.
Usage of omap_nand_flash_init() has been replaced by modifed
one, omap_nand_flash_init was doing things similar to
board_nand_init except that NAND CS# were being acquired
based on bootloader setting. As CS# is hardwired for a given
board, acquiring gpmc CS# has been removed, and updated with
the value on board.
NAND CS# used in beagle board & omap3evm was found to be CS0.
Thomas Weber <thomas.weber.linux@googlemail.com> reported
that value of devkit8000 to be CS0. Overo board was found
to be using CS0 based on u-boot, while google grep says
omap3touchbook too has CS0.
Signed-off-by: Afzal Mohammed <afzal@ti.com>
Reviewed-by: Jon Hunter <jon-hunter@ti.com>
Acked-by: Igor Grinberg <grinberg@compulab.co.il>
Diffstat (limited to 'arch/arm/mach-omap2/common-board-devices.c')
| -rw-r--r-- | arch/arm/mach-omap2/common-board-devices.c | 45 | 
1 files changed, 0 insertions, 45 deletions
diff --git a/arch/arm/mach-omap2/common-board-devices.c b/arch/arm/mach-omap2/common-board-devices.c index 48daac2581b..90e0597667b 100644 --- a/arch/arm/mach-omap2/common-board-devices.c +++ b/arch/arm/mach-omap2/common-board-devices.c @@ -96,48 +96,3 @@ void __init omap_ads7846_init(int bus_num, int gpio_pendown, int gpio_debounce,  {  }  #endif - -#if defined(CONFIG_MTD_NAND_OMAP2) || defined(CONFIG_MTD_NAND_OMAP2_MODULE) -static struct omap_nand_platform_data nand_data; - -void __init omap_nand_flash_init(int options, struct mtd_partition *parts, -				 int nr_parts) -{ -	u8 cs = 0; -	u8 nandcs = GPMC_CS_NUM + 1; - -	/* find out the chip-select on which NAND exists */ -	while (cs < GPMC_CS_NUM) { -		u32 ret = 0; -		ret = gpmc_cs_read_reg(cs, GPMC_CS_CONFIG1); - -		if ((ret & 0xC00) == 0x800) { -			printk(KERN_INFO "Found NAND on CS%d\n", cs); -			if (nandcs > GPMC_CS_NUM) -				nandcs = cs; -		} -		cs++; -	} - -	if (nandcs > GPMC_CS_NUM) { -		pr_info("NAND: Unable to find configuration in GPMC\n"); -		return; -	} - -	if (nandcs < GPMC_CS_NUM) { -		nand_data.cs = nandcs; -		nand_data.parts = parts; -		nand_data.nr_parts = nr_parts; -		nand_data.devsize = options; - -		printk(KERN_INFO "Registering NAND on CS%d\n", nandcs); -		if (gpmc_nand_init(&nand_data) < 0) -			printk(KERN_ERR "Unable to register NAND device\n"); -	} -} -#else -void __init omap_nand_flash_init(int options, struct mtd_partition *parts, -				 int nr_parts) -{ -} -#endif  |