| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 | 
							- /*
 
-  * TI DaVinci DM646X EVM board
 
-  *
 
-  * Derived from: arch/arm/mach-davinci/board-evm.c
 
-  * Copyright (C) 2006 Texas Instruments.
 
-  *
 
-  * (C) 2007-2008, MontaVista Software, Inc.
 
-  *
 
-  * This file is licensed under the terms of the GNU General Public License
 
-  * version 2. This program is licensed "as is" without any warranty of any
 
-  * kind, whether express or implied.
 
-  *
 
-  */
 
- /**************************************************************************
 
-  * Included Files
 
-  **************************************************************************/
 
- #include <linux/kernel.h>
 
- #include <linux/init.h>
 
- #include <linux/leds.h>
 
- #include <linux/gpio.h>
 
- #include <linux/platform_device.h>
 
- #include <linux/i2c.h>
 
- #include <linux/i2c/at24.h>
 
- #include <linux/i2c/pcf857x.h>
 
- #include <media/tvp514x.h>
 
- #include <media/adv7343.h>
 
- #include <linux/mtd/mtd.h>
 
- #include <linux/mtd/nand.h>
 
- #include <linux/mtd/partitions.h>
 
- #include <linux/clk.h>
 
- #include <linux/export.h>
 
- #include <asm/mach-types.h>
 
- #include <asm/mach/arch.h>
 
- #include <mach/common.h>
 
- #include <mach/serial.h>
 
- #include <linux/platform_data/i2c-davinci.h>
 
- #include <linux/platform_data/mtd-davinci.h>
 
- #include <mach/clock.h>
 
- #include <mach/cdce949.h>
 
- #include <linux/platform_data/mtd-davinci-aemif.h>
 
- #include "davinci.h"
 
- #include "clock.h"
 
- #define NAND_BLOCK_SIZE		SZ_128K
 
- /* Note: We are setting first partition as 'bootloader' constituting UBL, U-Boot
 
-  * and U-Boot environment this avoids dependency on any particular combination
 
-  * of UBL, U-Boot or flashing tools etc.
 
-  */
 
- static struct mtd_partition davinci_nand_partitions[] = {
 
- 	{
 
- 		/* UBL, U-Boot with environment */
 
- 		.name		= "bootloader",
 
- 		.offset		= MTDPART_OFS_APPEND,
 
- 		.size		= 16 * NAND_BLOCK_SIZE,
 
- 		.mask_flags	= MTD_WRITEABLE,	/* force read-only */
 
- 	}, {
 
- 		.name		= "kernel",
 
- 		.offset		= MTDPART_OFS_APPEND,
 
- 		.size		= SZ_4M,
 
- 		.mask_flags	= 0,
 
- 	}, {
 
- 		.name		= "filesystem",
 
- 		.offset		= MTDPART_OFS_APPEND,
 
- 		.size		= MTDPART_SIZ_FULL,
 
- 		.mask_flags	= 0,
 
- 	}
 
- };
 
- static struct davinci_aemif_timing dm6467tevm_nandflash_timing = {
 
- 	.wsetup		= 29,
 
- 	.wstrobe	= 24,
 
- 	.whold		= 14,
 
- 	.rsetup		= 19,
 
- 	.rstrobe	= 33,
 
- 	.rhold		= 0,
 
- 	.ta		= 29,
 
- };
 
- static struct davinci_nand_pdata davinci_nand_data = {
 
- 	.mask_cle 		= 0x80000,
 
- 	.mask_ale 		= 0x40000,
 
- 	.parts			= davinci_nand_partitions,
 
- 	.nr_parts		= ARRAY_SIZE(davinci_nand_partitions),
 
- 	.ecc_mode		= NAND_ECC_HW,
 
- 	.options		= 0,
 
- };
 
- static struct resource davinci_nand_resources[] = {
 
- 	{
 
- 		.start		= DM646X_ASYNC_EMIF_CS2_SPACE_BASE,
 
- 		.end		= DM646X_ASYNC_EMIF_CS2_SPACE_BASE + SZ_32M - 1,
 
- 		.flags		= IORESOURCE_MEM,
 
- 	}, {
 
- 		.start		= DM646X_ASYNC_EMIF_CONTROL_BASE,
 
- 		.end		= DM646X_ASYNC_EMIF_CONTROL_BASE + SZ_4K - 1,
 
- 		.flags		= IORESOURCE_MEM,
 
- 	},
 
- };
 
- static struct platform_device davinci_nand_device = {
 
- 	.name			= "davinci_nand",
 
- 	.id			= 0,
 
- 	.num_resources		= ARRAY_SIZE(davinci_nand_resources),
 
- 	.resource		= davinci_nand_resources,
 
- 	.dev			= {
 
- 		.platform_data	= &davinci_nand_data,
 
- 	},
 
- };
 
- #if defined(CONFIG_BLK_DEV_PALMCHIP_BK3710) || \
 
 
  |