|  | @@ -0,0 +1,83 @@
 | 
	
		
			
				|  |  | +/*
 | 
	
		
			
				|  |  | + * arch/arm/mach-orion5x/d2net-setup.c
 | 
	
		
			
				|  |  | + *
 | 
	
		
			
				|  |  | + * LaCie d2Network and Big Disk Network NAS setup
 | 
	
		
			
				|  |  | + *
 | 
	
		
			
				|  |  | + * Copyright (C) 2009 Simon Guinot <sguinot@lacie.com>
 | 
	
		
			
				|  |  | + *
 | 
	
		
			
				|  |  | + * 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.
 | 
	
		
			
				|  |  | + */
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +#include <linux/kernel.h>
 | 
	
		
			
				|  |  | +#include <linux/init.h>
 | 
	
		
			
				|  |  | +#include <linux/platform_device.h>
 | 
	
		
			
				|  |  | +#include <linux/pci.h>
 | 
	
		
			
				|  |  | +#include <linux/irq.h>
 | 
	
		
			
				|  |  | +#include <linux/mtd/physmap.h>
 | 
	
		
			
				|  |  | +#include <linux/mv643xx_eth.h>
 | 
	
		
			
				|  |  | +#include <linux/leds.h>
 | 
	
		
			
				|  |  | +#include <linux/gpio_keys.h>
 | 
	
		
			
				|  |  | +#include <linux/input.h>
 | 
	
		
			
				|  |  | +#include <linux/i2c.h>
 | 
	
		
			
				|  |  | +#include <linux/ata_platform.h>
 | 
	
		
			
				|  |  | +#include <linux/gpio.h>
 | 
	
		
			
				|  |  | +#include <asm/mach-types.h>
 | 
	
		
			
				|  |  | +#include <asm/mach/arch.h>
 | 
	
		
			
				|  |  | +#include <asm/mach/pci.h>
 | 
	
		
			
				|  |  | +#include <mach/orion5x.h>
 | 
	
		
			
				|  |  | +#include <plat/orion-gpio.h>
 | 
	
		
			
				|  |  | +#include "common.h"
 | 
	
		
			
				|  |  | +#include "mpp.h"
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/*****************************************************************************
 | 
	
		
			
				|  |  | + * LaCie d2 Network Info
 | 
	
		
			
				|  |  | + ****************************************************************************/
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/*
 | 
	
		
			
				|  |  | + * 512KB NOR flash Device bus boot chip select
 | 
	
		
			
				|  |  | + */
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +#define D2NET_NOR_BOOT_BASE		0xfff80000
 | 
	
		
			
				|  |  | +#define D2NET_NOR_BOOT_SIZE		SZ_512K
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/*****************************************************************************
 | 
	
		
			
				|  |  | + * 512KB NOR Flash on Boot Device
 | 
	
		
			
				|  |  | + ****************************************************************************/
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/*
 | 
	
		
			
				|  |  | + * TODO: Check write support on flash MX29LV400CBTC-70G
 | 
	
		
			
				|  |  | + */
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +static struct mtd_partition d2net_partitions[] = {
 | 
	
		
			
				|  |  | +	{
 | 
	
		
			
				|  |  | +		.name		= "Full512kb",
 | 
	
		
			
				|  |  | +		.size		= MTDPART_SIZ_FULL,
 | 
	
		
			
				|  |  | +		.offset		= 0,
 | 
	
		
			
				|  |  | +		.mask_flags	= MTD_WRITEABLE,
 | 
	
		
			
				|  |  | +	},
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +static struct physmap_flash_data d2net_nor_flash_data = {
 | 
	
		
			
				|  |  | +	.width		= 1,
 | 
	
		
			
				|  |  | +	.parts		= d2net_partitions,
 | 
	
		
			
				|  |  | +	.nr_parts	= ARRAY_SIZE(d2net_partitions),
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +static struct resource d2net_nor_flash_resource = {
 | 
	
		
			
				|  |  | +	.flags			= IORESOURCE_MEM,
 | 
	
		
			
				|  |  | +	.start			= D2NET_NOR_BOOT_BASE,
 | 
	
		
			
				|  |  | +	.end			= D2NET_NOR_BOOT_BASE
 | 
	
		
			
				|  |  | +					+ D2NET_NOR_BOOT_SIZE - 1,
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +static struct platform_device d2net_nor_flash = {
 | 
	
		
			
				|  |  | +	.name			= "physmap-flash",
 | 
	
		
			
				|  |  | +	.id			= 0,
 | 
	
		
			
				|  |  | +	.dev		= {
 | 
	
		
			
				|  |  | +		.platform_data	= &d2net_nor_flash_data,
 | 
	
		
			
				|  |  | +	},
 | 
	
		
			
				|  |  | +	.num_resources		= 1,
 | 
	
		
			
				|  |  | +	.resource		= &d2net_nor_flash_resource,
 | 
	
		
			
				|  |  | +};
 |