| 
					
				 | 
			
			
				@@ -0,0 +1,79 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+/* 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * Copyright (C) 2008-2012 ST-Ericsson 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * Author: Srinidhi KASAGAR <srinidhi.kasagar@stericsson.com> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * This program is free software; you can redistribute it and/or modify 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * it under the terms of the GNU General Public License version 2, as 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * published by the Free Software Foundation. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include <linux/kernel.h> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include <linux/init.h> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include <linux/interrupt.h> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include <linux/platform_device.h> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include <linux/io.h> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include <linux/i2c.h> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include <linux/platform_data/i2c-nomadik.h> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include <linux/platform_data/db8500_thermal.h> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include <linux/gpio.h> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include <linux/amba/bus.h> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include <linux/amba/pl022.h> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include <linux/amba/serial.h> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include <linux/spi/spi.h> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include <linux/mfd/abx500/ab8500.h> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include <linux/regulator/ab8500.h> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include <linux/regulator/fixed.h> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include <linux/mfd/tc3589x.h> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include <linux/mfd/tps6105x.h> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include <linux/mfd/abx500/ab8500-gpio.h> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include <linux/mfd/abx500/ab8500-codec.h> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include <linux/leds-lp5521.h> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include <linux/input.h> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include <linux/smsc911x.h> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include <linux/gpio_keys.h> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include <linux/delay.h> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include <linux/leds.h> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include <linux/pinctrl/consumer.h> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include <linux/platform_data/pinctrl-nomadik.h> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include <linux/platform_data/dma-ste-dma40.h> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include <asm/mach-types.h> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include <asm/mach/arch.h> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include <asm/hardware/gic.h> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include <mach/hardware.h> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include <mach/setup.h> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include <mach/devices.h> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include <mach/irqs.h> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include <linux/platform_data/crypto-ux500.h> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include "ste-dma40-db8500.h" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include "devices-db8500.h" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include "board-mop500.h" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include "board-mop500-regulators.h" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static struct gpio_led snowball_led_array[] = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.name = "user_led", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.default_trigger = "heartbeat", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.gpio = 142, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static struct gpio_led_platform_data snowball_led_data = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.leds = snowball_led_array, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.num_leds = ARRAY_SIZE(snowball_led_array), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static struct platform_device snowball_led_dev = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.name = "leds-gpio", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	.dev = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.platform_data = &snowball_led_data, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static struct fixed_voltage_config snowball_gpio_en_3v3_data = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       .supply_name            = "EN-3V3", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       .gpio                   = SNOWBALL_EN_3V3_ETH_GPIO, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       .microvolts             = 3300000, 
			 |