1d11135ca4f6e626e1c8aa78de6d472a11a9e9811Kukjin Kim/* linux/arch/arm/mach-exynos4/mach-smdkv310.c
2b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Youn *
3d11135ca4f6e626e1c8aa78de6d472a11a9e9811Kukjin Kim * Copyright (c) 2010-2011 Samsung Electronics Co., Ltd.
4d11135ca4f6e626e1c8aa78de6d472a11a9e9811Kukjin Kim *		http://www.samsung.com
5b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Youn *
6b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Youn * This program is free software; you can redistribute it and/or modify
7b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Youn * it under the terms of the GNU General Public License version 2 as
8b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Youn * published by the Free Software Foundation.
9b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Youn*/
10b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Youn
11b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Youn#include <linux/serial_core.h>
1242c0d26d2c32941e93ee805b32f7aebf8ba0a7d4Kukjin Kim#include <linux/delay.h>
132b11148a80bf1a022e8165ae0026bf6ff5778f03Hyuk Lee#include <linux/gpio.h>
1442c0d26d2c32941e93ee805b32f7aebf8ba0a7d4Kukjin Kim#include <linux/lcd.h>
152b11148a80bf1a022e8165ae0026bf6ff5778f03Hyuk Lee#include <linux/mmc/host.h>
162b11148a80bf1a022e8165ae0026bf6ff5778f03Hyuk Lee#include <linux/platform_device.h>
17cbff3eb3e6e3c618583a7435f87c1548aa12b0adDaein Moon#include <linux/smsc911x.h>
18cbff3eb3e6e3c618583a7435f87c1548aa12b0adDaein Moon#include <linux/io.h>
196f5c11c5a5ec9aef67b433906c712608ef7b9b97Jassi Brar#include <linux/i2c.h>
20be4c33be53d85dde787c4261b18b13850cb299f1Naveen Krishna Ch#include <linux/input.h>
218689de73a805781ddfb1b26df28ca127a548d235Banajit Goswami#include <linux/pwm_backlight.h>
22b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Youn
23b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Youn#include <asm/mach/arch.h>
244e44d2cb95bd93abe16a131dbcd4c052ae36665fMarc Zyngier#include <asm/hardware/gic.h>
25b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Youn#include <asm/mach-types.h>
26b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Youn
2742c0d26d2c32941e93ee805b32f7aebf8ba0a7d4Kukjin Kim#include <video/platform_lcd.h>
28b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Youn#include <plat/regs-serial.h>
298cf460a5d7c12e16ba29d0e4940df4657a7439ccKukjin Kim#include <plat/regs-srom.h>
3042c0d26d2c32941e93ee805b32f7aebf8ba0a7d4Kukjin Kim#include <plat/regs-fb-v4.h>
31b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Youn#include <plat/cpu.h>
32cdff6e6fd2d4360e2d5bc39afe3f1ef17d79dbf0Changhwan Youn#include <plat/devs.h>
3342c0d26d2c32941e93ee805b32f7aebf8ba0a7d4Kukjin Kim#include <plat/fb.h>
34be4c33be53d85dde787c4261b18b13850cb299f1Naveen Krishna Ch#include <plat/keypad.h>
352b11148a80bf1a022e8165ae0026bf6ff5778f03Hyuk Lee#include <plat/sdhci.h>
366f5c11c5a5ec9aef67b433906c712608ef7b9b97Jassi Brar#include <plat/iic.h>
37d6d8b481999507a20012b7ee924bdaf5bfb52a05Changhwan Youn#include <plat/pd.h>
388689de73a805781ddfb1b26df28ca127a548d235Banajit Goswami#include <plat/gpio-cfg.h>
398689de73a805781ddfb1b26df28ca127a548d235Banajit Goswami#include <plat/backlight.h>
4095727e1fa18432eafcd0e9ba50c58f40d3ae0ceaSachin Kamat#include <plat/mfc.h>
419830f6a20d841acc36bd9ee275aa4586dd713749Jingoo Han#include <plat/ehci.h>
429830f6a20d841acc36bd9ee275aa4586dd713749Jingoo Han#include <plat/clock.h>
43b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Youn
44b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Youn#include <mach/map.h>
45744f20f28028447cc4486d5ba0a6955840028e37Jingoo Han#include <mach/ohci.h>
46b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Youn
47cc511b8d84d88ab788cddbfe8d21485b1c387493Kukjin Kim#include "common.h"
48cc511b8d84d88ab788cddbfe8d21485b1c387493Kukjin Kim
49b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Youn/* Following are default values for UCON, ULCON and UFCON UART registers */
50b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Youn#define SMDKV310_UCON_DEFAULT	(S3C2410_UCON_TXILEVEL |	\
51b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Youn				 S3C2410_UCON_RXILEVEL |	\
52b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Youn				 S3C2410_UCON_TXIRQMODE |	\
53b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Youn				 S3C2410_UCON_RXIRQMODE |	\
54b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Youn				 S3C2410_UCON_RXFIFO_TOI |	\
55b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Youn				 S3C2443_UCON_RXERR_IRQEN)
56b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Youn
57b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Youn#define SMDKV310_ULCON_DEFAULT	S3C2410_LCON_CS8
58b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Youn
59b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Youn#define SMDKV310_UFCON_DEFAULT	(S3C2410_UFCON_FIFOMODE |	\
60b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Youn				 S5PV210_UFCON_TXTRIG4 |	\
61b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Youn				 S5PV210_UFCON_RXTRIG4)
62b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Youn
63b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Younstatic struct s3c2410_uartcfg smdkv310_uartcfgs[] __initdata = {
64b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Youn	[0] = {
65b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Youn		.hwport		= 0,
66b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Youn		.flags		= 0,
67b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Youn		.ucon		= SMDKV310_UCON_DEFAULT,
68b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Youn		.ulcon		= SMDKV310_ULCON_DEFAULT,
69b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Youn		.ufcon		= SMDKV310_UFCON_DEFAULT,
70b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Youn	},
71b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Youn	[1] = {
72b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Youn		.hwport		= 1,
73b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Youn		.flags		= 0,
74b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Youn		.ucon		= SMDKV310_UCON_DEFAULT,
75b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Youn		.ulcon		= SMDKV310_ULCON_DEFAULT,
76b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Youn		.ufcon		= SMDKV310_UFCON_DEFAULT,
77b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Youn	},
78b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Youn	[2] = {
79b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Youn		.hwport		= 2,
80b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Youn		.flags		= 0,
81b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Youn		.ucon		= SMDKV310_UCON_DEFAULT,
82b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Youn		.ulcon		= SMDKV310_ULCON_DEFAULT,
83b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Youn		.ufcon		= SMDKV310_UFCON_DEFAULT,
84b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Youn	},
85b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Youn	[3] = {
86b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Youn		.hwport		= 3,
87b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Youn		.flags		= 0,
88b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Youn		.ucon		= SMDKV310_UCON_DEFAULT,
89b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Youn		.ulcon		= SMDKV310_ULCON_DEFAULT,
90b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Youn		.ufcon		= SMDKV310_UFCON_DEFAULT,
91b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Youn	},
92b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Youn};
93b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Youn
942b11148a80bf1a022e8165ae0026bf6ff5778f03Hyuk Leestatic struct s3c_sdhci_platdata smdkv310_hsmmc0_pdata __initdata = {
95a0d8efedb203b5b908dd46cea38201761e2380f9Thomas Abraham	.cd_type		= S3C_SDHCI_CD_INTERNAL,
9628c80aa707156d83f679442ea745db301316a4eaJeongbae Seo	.clk_type		= S3C_SDHCI_CLK_DIV_EXTERNAL,
97d11135ca4f6e626e1c8aa78de6d472a11a9e9811Kukjin Kim#ifdef CONFIG_EXYNOS4_SDHCI_CH0_8BIT
982b11148a80bf1a022e8165ae0026bf6ff5778f03Hyuk Lee	.max_width		= 8,
992b11148a80bf1a022e8165ae0026bf6ff5778f03Hyuk Lee	.host_caps		= MMC_CAP_8_BIT_DATA,
1002b11148a80bf1a022e8165ae0026bf6ff5778f03Hyuk Lee#endif
1012b11148a80bf1a022e8165ae0026bf6ff5778f03Hyuk Lee};
1022b11148a80bf1a022e8165ae0026bf6ff5778f03Hyuk Lee
1032b11148a80bf1a022e8165ae0026bf6ff5778f03Hyuk Leestatic struct s3c_sdhci_platdata smdkv310_hsmmc1_pdata __initdata = {
1042b11148a80bf1a022e8165ae0026bf6ff5778f03Hyuk Lee	.cd_type		= S3C_SDHCI_CD_GPIO,
105d11135ca4f6e626e1c8aa78de6d472a11a9e9811Kukjin Kim	.ext_cd_gpio		= EXYNOS4_GPK0(2),
1062b11148a80bf1a022e8165ae0026bf6ff5778f03Hyuk Lee	.ext_cd_gpio_invert	= 1,
10728c80aa707156d83f679442ea745db301316a4eaJeongbae Seo	.clk_type		= S3C_SDHCI_CLK_DIV_EXTERNAL,
1082b11148a80bf1a022e8165ae0026bf6ff5778f03Hyuk Lee};
1092b11148a80bf1a022e8165ae0026bf6ff5778f03Hyuk Lee
1102b11148a80bf1a022e8165ae0026bf6ff5778f03Hyuk Leestatic struct s3c_sdhci_platdata smdkv310_hsmmc2_pdata __initdata = {
111a0d8efedb203b5b908dd46cea38201761e2380f9Thomas Abraham	.cd_type		= S3C_SDHCI_CD_INTERNAL,
11228c80aa707156d83f679442ea745db301316a4eaJeongbae Seo	.clk_type		= S3C_SDHCI_CLK_DIV_EXTERNAL,
113d11135ca4f6e626e1c8aa78de6d472a11a9e9811Kukjin Kim#ifdef CONFIG_EXYNOS4_SDHCI_CH2_8BIT
1142b11148a80bf1a022e8165ae0026bf6ff5778f03Hyuk Lee	.max_width		= 8,
1152b11148a80bf1a022e8165ae0026bf6ff5778f03Hyuk Lee	.host_caps		= MMC_CAP_8_BIT_DATA,
1162b11148a80bf1a022e8165ae0026bf6ff5778f03Hyuk Lee#endif
1172b11148a80bf1a022e8165ae0026bf6ff5778f03Hyuk Lee};
1182b11148a80bf1a022e8165ae0026bf6ff5778f03Hyuk Lee
1192b11148a80bf1a022e8165ae0026bf6ff5778f03Hyuk Leestatic struct s3c_sdhci_platdata smdkv310_hsmmc3_pdata __initdata = {
1202b11148a80bf1a022e8165ae0026bf6ff5778f03Hyuk Lee	.cd_type		= S3C_SDHCI_CD_GPIO,
121d11135ca4f6e626e1c8aa78de6d472a11a9e9811Kukjin Kim	.ext_cd_gpio		= EXYNOS4_GPK2(2),
1222b11148a80bf1a022e8165ae0026bf6ff5778f03Hyuk Lee	.ext_cd_gpio_invert	= 1,
12328c80aa707156d83f679442ea745db301316a4eaJeongbae Seo	.clk_type		= S3C_SDHCI_CLK_DIV_EXTERNAL,
1242b11148a80bf1a022e8165ae0026bf6ff5778f03Hyuk Lee};
1252b11148a80bf1a022e8165ae0026bf6ff5778f03Hyuk Lee
12642c0d26d2c32941e93ee805b32f7aebf8ba0a7d4Kukjin Kimstatic void lcd_lte480wv_set_power(struct plat_lcd_data *pd,
12742c0d26d2c32941e93ee805b32f7aebf8ba0a7d4Kukjin Kim				   unsigned int power)
12842c0d26d2c32941e93ee805b32f7aebf8ba0a7d4Kukjin Kim{
12942c0d26d2c32941e93ee805b32f7aebf8ba0a7d4Kukjin Kim	if (power) {
13042c0d26d2c32941e93ee805b32f7aebf8ba0a7d4Kukjin Kim#if !defined(CONFIG_BACKLIGHT_PWM)
13142c0d26d2c32941e93ee805b32f7aebf8ba0a7d4Kukjin Kim		gpio_request_one(EXYNOS4_GPD0(1), GPIOF_OUT_INIT_HIGH, "GPD0");
13242c0d26d2c32941e93ee805b32f7aebf8ba0a7d4Kukjin Kim		gpio_free(EXYNOS4_GPD0(1));
13342c0d26d2c32941e93ee805b32f7aebf8ba0a7d4Kukjin Kim#endif
13442c0d26d2c32941e93ee805b32f7aebf8ba0a7d4Kukjin Kim		/* fire nRESET on power up */
135321655efad26e03141b0bbfcfa9875056c1acb65Jingoo Han		gpio_request_one(EXYNOS4_GPX0(6), GPIOF_OUT_INIT_HIGH, "GPX0");
13642c0d26d2c32941e93ee805b32f7aebf8ba0a7d4Kukjin Kim		mdelay(100);
13742c0d26d2c32941e93ee805b32f7aebf8ba0a7d4Kukjin Kim
13842c0d26d2c32941e93ee805b32f7aebf8ba0a7d4Kukjin Kim		gpio_set_value(EXYNOS4_GPX0(6), 0);
13942c0d26d2c32941e93ee805b32f7aebf8ba0a7d4Kukjin Kim		mdelay(10);
14042c0d26d2c32941e93ee805b32f7aebf8ba0a7d4Kukjin Kim
14142c0d26d2c32941e93ee805b32f7aebf8ba0a7d4Kukjin Kim		gpio_set_value(EXYNOS4_GPX0(6), 1);
14242c0d26d2c32941e93ee805b32f7aebf8ba0a7d4Kukjin Kim		mdelay(10);
14342c0d26d2c32941e93ee805b32f7aebf8ba0a7d4Kukjin Kim
14442c0d26d2c32941e93ee805b32f7aebf8ba0a7d4Kukjin Kim		gpio_free(EXYNOS4_GPX0(6));
14542c0d26d2c32941e93ee805b32f7aebf8ba0a7d4Kukjin Kim	} else {
14642c0d26d2c32941e93ee805b32f7aebf8ba0a7d4Kukjin Kim#if !defined(CONFIG_BACKLIGHT_PWM)
14742c0d26d2c32941e93ee805b32f7aebf8ba0a7d4Kukjin Kim		gpio_request_one(EXYNOS4_GPD0(1), GPIOF_OUT_INIT_LOW, "GPD0");
14842c0d26d2c32941e93ee805b32f7aebf8ba0a7d4Kukjin Kim		gpio_free(EXYNOS4_GPD0(1));
14942c0d26d2c32941e93ee805b32f7aebf8ba0a7d4Kukjin Kim#endif
15042c0d26d2c32941e93ee805b32f7aebf8ba0a7d4Kukjin Kim	}
15142c0d26d2c32941e93ee805b32f7aebf8ba0a7d4Kukjin Kim}
15242c0d26d2c32941e93ee805b32f7aebf8ba0a7d4Kukjin Kim
15342c0d26d2c32941e93ee805b32f7aebf8ba0a7d4Kukjin Kimstatic struct plat_lcd_data smdkv310_lcd_lte480wv_data = {
15442c0d26d2c32941e93ee805b32f7aebf8ba0a7d4Kukjin Kim	.set_power		= lcd_lte480wv_set_power,
15542c0d26d2c32941e93ee805b32f7aebf8ba0a7d4Kukjin Kim};
15642c0d26d2c32941e93ee805b32f7aebf8ba0a7d4Kukjin Kim
15742c0d26d2c32941e93ee805b32f7aebf8ba0a7d4Kukjin Kimstatic struct platform_device smdkv310_lcd_lte480wv = {
15842c0d26d2c32941e93ee805b32f7aebf8ba0a7d4Kukjin Kim	.name			= "platform-lcd",
15942c0d26d2c32941e93ee805b32f7aebf8ba0a7d4Kukjin Kim	.dev.parent		= &s5p_device_fimd0.dev,
16042c0d26d2c32941e93ee805b32f7aebf8ba0a7d4Kukjin Kim	.dev.platform_data	= &smdkv310_lcd_lte480wv_data,
16142c0d26d2c32941e93ee805b32f7aebf8ba0a7d4Kukjin Kim};
16242c0d26d2c32941e93ee805b32f7aebf8ba0a7d4Kukjin Kim
16342c0d26d2c32941e93ee805b32f7aebf8ba0a7d4Kukjin Kimstatic struct s3c_fb_pd_win smdkv310_fb_win0 = {
16442c0d26d2c32941e93ee805b32f7aebf8ba0a7d4Kukjin Kim	.win_mode = {
16542c0d26d2c32941e93ee805b32f7aebf8ba0a7d4Kukjin Kim		.left_margin	= 13,
16642c0d26d2c32941e93ee805b32f7aebf8ba0a7d4Kukjin Kim		.right_margin	= 8,
16742c0d26d2c32941e93ee805b32f7aebf8ba0a7d4Kukjin Kim		.upper_margin	= 7,
16842c0d26d2c32941e93ee805b32f7aebf8ba0a7d4Kukjin Kim		.lower_margin	= 5,
16942c0d26d2c32941e93ee805b32f7aebf8ba0a7d4Kukjin Kim		.hsync_len	= 3,
17042c0d26d2c32941e93ee805b32f7aebf8ba0a7d4Kukjin Kim		.vsync_len	= 1,
17142c0d26d2c32941e93ee805b32f7aebf8ba0a7d4Kukjin Kim		.xres		= 800,
17242c0d26d2c32941e93ee805b32f7aebf8ba0a7d4Kukjin Kim		.yres		= 480,
17342c0d26d2c32941e93ee805b32f7aebf8ba0a7d4Kukjin Kim	},
17442c0d26d2c32941e93ee805b32f7aebf8ba0a7d4Kukjin Kim	.max_bpp		= 32,
17542c0d26d2c32941e93ee805b32f7aebf8ba0a7d4Kukjin Kim	.default_bpp		= 24,
17642c0d26d2c32941e93ee805b32f7aebf8ba0a7d4Kukjin Kim};
17742c0d26d2c32941e93ee805b32f7aebf8ba0a7d4Kukjin Kim
17842c0d26d2c32941e93ee805b32f7aebf8ba0a7d4Kukjin Kimstatic struct s3c_fb_platdata smdkv310_lcd0_pdata __initdata = {
17942c0d26d2c32941e93ee805b32f7aebf8ba0a7d4Kukjin Kim	.win[0]		= &smdkv310_fb_win0,
18042c0d26d2c32941e93ee805b32f7aebf8ba0a7d4Kukjin Kim	.vidcon0	= VIDCON0_VIDOUT_RGB | VIDCON0_PNRMODE_RGB,
18142c0d26d2c32941e93ee805b32f7aebf8ba0a7d4Kukjin Kim	.vidcon1	= VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC,
18242c0d26d2c32941e93ee805b32f7aebf8ba0a7d4Kukjin Kim	.setup_gpio	= exynos4_fimd0_gpio_setup_24bpp,
18342c0d26d2c32941e93ee805b32f7aebf8ba0a7d4Kukjin Kim};
18442c0d26d2c32941e93ee805b32f7aebf8ba0a7d4Kukjin Kim
185cbff3eb3e6e3c618583a7435f87c1548aa12b0adDaein Moonstatic struct resource smdkv310_smsc911x_resources[] = {
186cbff3eb3e6e3c618583a7435f87c1548aa12b0adDaein Moon	[0] = {
187d11135ca4f6e626e1c8aa78de6d472a11a9e9811Kukjin Kim		.start	= EXYNOS4_PA_SROM_BANK(1),
188d11135ca4f6e626e1c8aa78de6d472a11a9e9811Kukjin Kim		.end	= EXYNOS4_PA_SROM_BANK(1) + SZ_64K - 1,
189cbff3eb3e6e3c618583a7435f87c1548aa12b0adDaein Moon		.flags	= IORESOURCE_MEM,
190cbff3eb3e6e3c618583a7435f87c1548aa12b0adDaein Moon	},
191cbff3eb3e6e3c618583a7435f87c1548aa12b0adDaein Moon	[1] = {
192cbff3eb3e6e3c618583a7435f87c1548aa12b0adDaein Moon		.start	= IRQ_EINT(5),
193cbff3eb3e6e3c618583a7435f87c1548aa12b0adDaein Moon		.end	= IRQ_EINT(5),
194cbff3eb3e6e3c618583a7435f87c1548aa12b0adDaein Moon		.flags	= IORESOURCE_IRQ | IRQF_TRIGGER_LOW,
195cbff3eb3e6e3c618583a7435f87c1548aa12b0adDaein Moon	},
196cbff3eb3e6e3c618583a7435f87c1548aa12b0adDaein Moon};
197cbff3eb3e6e3c618583a7435f87c1548aa12b0adDaein Moon
198cbff3eb3e6e3c618583a7435f87c1548aa12b0adDaein Moonstatic struct smsc911x_platform_config smsc9215_config = {
199cd0527c25bfb1f30f6994744fb600c4a32ab5a4fJeongtae Park	.irq_polarity	= SMSC911X_IRQ_POLARITY_ACTIVE_LOW,
200cbff3eb3e6e3c618583a7435f87c1548aa12b0adDaein Moon	.irq_type	= SMSC911X_IRQ_TYPE_PUSH_PULL,
201cbff3eb3e6e3c618583a7435f87c1548aa12b0adDaein Moon	.flags		= SMSC911X_USE_16BIT | SMSC911X_FORCE_INTERNAL_PHY,
202cbff3eb3e6e3c618583a7435f87c1548aa12b0adDaein Moon	.phy_interface	= PHY_INTERFACE_MODE_MII,
203cbff3eb3e6e3c618583a7435f87c1548aa12b0adDaein Moon	.mac		= {0x00, 0x80, 0x00, 0x23, 0x45, 0x67},
204cbff3eb3e6e3c618583a7435f87c1548aa12b0adDaein Moon};
205cbff3eb3e6e3c618583a7435f87c1548aa12b0adDaein Moon
206cbff3eb3e6e3c618583a7435f87c1548aa12b0adDaein Moonstatic struct platform_device smdkv310_smsc911x = {
207cbff3eb3e6e3c618583a7435f87c1548aa12b0adDaein Moon	.name		= "smsc911x",
208cbff3eb3e6e3c618583a7435f87c1548aa12b0adDaein Moon	.id		= -1,
209cbff3eb3e6e3c618583a7435f87c1548aa12b0adDaein Moon	.num_resources	= ARRAY_SIZE(smdkv310_smsc911x_resources),
210cbff3eb3e6e3c618583a7435f87c1548aa12b0adDaein Moon	.resource	= smdkv310_smsc911x_resources,
211cbff3eb3e6e3c618583a7435f87c1548aa12b0adDaein Moon	.dev		= {
212cbff3eb3e6e3c618583a7435f87c1548aa12b0adDaein Moon		.platform_data	= &smsc9215_config,
213cbff3eb3e6e3c618583a7435f87c1548aa12b0adDaein Moon	},
214cbff3eb3e6e3c618583a7435f87c1548aa12b0adDaein Moon};
215cbff3eb3e6e3c618583a7435f87c1548aa12b0adDaein Moon
216be4c33be53d85dde787c4261b18b13850cb299f1Naveen Krishna Chstatic uint32_t smdkv310_keymap[] __initdata = {
217be4c33be53d85dde787c4261b18b13850cb299f1Naveen Krishna Ch	/* KEY(row, col, keycode) */
218be4c33be53d85dde787c4261b18b13850cb299f1Naveen Krishna Ch	KEY(0, 3, KEY_1), KEY(0, 4, KEY_2), KEY(0, 5, KEY_3),
219be4c33be53d85dde787c4261b18b13850cb299f1Naveen Krishna Ch	KEY(0, 6, KEY_4), KEY(0, 7, KEY_5),
220be4c33be53d85dde787c4261b18b13850cb299f1Naveen Krishna Ch	KEY(1, 3, KEY_A), KEY(1, 4, KEY_B), KEY(1, 5, KEY_C),
221be4c33be53d85dde787c4261b18b13850cb299f1Naveen Krishna Ch	KEY(1, 6, KEY_D), KEY(1, 7, KEY_E)
222be4c33be53d85dde787c4261b18b13850cb299f1Naveen Krishna Ch};
223be4c33be53d85dde787c4261b18b13850cb299f1Naveen Krishna Ch
224be4c33be53d85dde787c4261b18b13850cb299f1Naveen Krishna Chstatic struct matrix_keymap_data smdkv310_keymap_data __initdata = {
225be4c33be53d85dde787c4261b18b13850cb299f1Naveen Krishna Ch	.keymap		= smdkv310_keymap,
226be4c33be53d85dde787c4261b18b13850cb299f1Naveen Krishna Ch	.keymap_size	= ARRAY_SIZE(smdkv310_keymap),
227be4c33be53d85dde787c4261b18b13850cb299f1Naveen Krishna Ch};
228be4c33be53d85dde787c4261b18b13850cb299f1Naveen Krishna Ch
229be4c33be53d85dde787c4261b18b13850cb299f1Naveen Krishna Chstatic struct samsung_keypad_platdata smdkv310_keypad_data __initdata = {
230be4c33be53d85dde787c4261b18b13850cb299f1Naveen Krishna Ch	.keymap_data	= &smdkv310_keymap_data,
231be4c33be53d85dde787c4261b18b13850cb299f1Naveen Krishna Ch	.rows		= 2,
232be4c33be53d85dde787c4261b18b13850cb299f1Naveen Krishna Ch	.cols		= 8,
233be4c33be53d85dde787c4261b18b13850cb299f1Naveen Krishna Ch};
234be4c33be53d85dde787c4261b18b13850cb299f1Naveen Krishna Ch
2356f5c11c5a5ec9aef67b433906c712608ef7b9b97Jassi Brarstatic struct i2c_board_info i2c_devs1[] __initdata = {
2366f5c11c5a5ec9aef67b433906c712608ef7b9b97Jassi Brar	{I2C_BOARD_INFO("wm8994", 0x1a),},
2376f5c11c5a5ec9aef67b433906c712608ef7b9b97Jassi Brar};
2386f5c11c5a5ec9aef67b433906c712608ef7b9b97Jassi Brar
2399830f6a20d841acc36bd9ee275aa4586dd713749Jingoo Han/* USB EHCI */
2409830f6a20d841acc36bd9ee275aa4586dd713749Jingoo Hanstatic struct s5p_ehci_platdata smdkv310_ehci_pdata;
2419830f6a20d841acc36bd9ee275aa4586dd713749Jingoo Han
2429830f6a20d841acc36bd9ee275aa4586dd713749Jingoo Hanstatic void __init smdkv310_ehci_init(void)
2439830f6a20d841acc36bd9ee275aa4586dd713749Jingoo Han{
2449830f6a20d841acc36bd9ee275aa4586dd713749Jingoo Han	struct s5p_ehci_platdata *pdata = &smdkv310_ehci_pdata;
2459830f6a20d841acc36bd9ee275aa4586dd713749Jingoo Han
2469830f6a20d841acc36bd9ee275aa4586dd713749Jingoo Han	s5p_ehci_set_platdata(pdata);
2479830f6a20d841acc36bd9ee275aa4586dd713749Jingoo Han}
2489830f6a20d841acc36bd9ee275aa4586dd713749Jingoo Han
249744f20f28028447cc4486d5ba0a6955840028e37Jingoo Han/* USB OHCI */
250744f20f28028447cc4486d5ba0a6955840028e37Jingoo Hanstatic struct exynos4_ohci_platdata smdkv310_ohci_pdata;
251744f20f28028447cc4486d5ba0a6955840028e37Jingoo Han
252744f20f28028447cc4486d5ba0a6955840028e37Jingoo Hanstatic void __init smdkv310_ohci_init(void)
253744f20f28028447cc4486d5ba0a6955840028e37Jingoo Han{
254744f20f28028447cc4486d5ba0a6955840028e37Jingoo Han	struct exynos4_ohci_platdata *pdata = &smdkv310_ohci_pdata;
255744f20f28028447cc4486d5ba0a6955840028e37Jingoo Han
256744f20f28028447cc4486d5ba0a6955840028e37Jingoo Han	exynos4_ohci_set_platdata(pdata);
257744f20f28028447cc4486d5ba0a6955840028e37Jingoo Han}
258744f20f28028447cc4486d5ba0a6955840028e37Jingoo Han
259cdff6e6fd2d4360e2d5bc39afe3f1ef17d79dbf0Changhwan Younstatic struct platform_device *smdkv310_devices[] __initdata = {
2602b11148a80bf1a022e8165ae0026bf6ff5778f03Hyuk Lee	&s3c_device_hsmmc0,
2612b11148a80bf1a022e8165ae0026bf6ff5778f03Hyuk Lee	&s3c_device_hsmmc1,
2622b11148a80bf1a022e8165ae0026bf6ff5778f03Hyuk Lee	&s3c_device_hsmmc2,
2632b11148a80bf1a022e8165ae0026bf6ff5778f03Hyuk Lee	&s3c_device_hsmmc3,
264285dee7ff4fb4b32838694d4378f4aa938cf5b43Kukjin Kim	&s3c_device_i2c1,
265c0735c85d1b9e2a1954deb3b3c8d5061f70464e5Hatim Ali	&s5p_device_i2c_hdmiphy,
266cdff6e6fd2d4360e2d5bc39afe3f1ef17d79dbf0Changhwan Youn	&s3c_device_rtc,
2678d75c9128a07bd1f81952a518ed818d1a3e90c96Jemings Ko	&s3c_device_wdt,
2689830f6a20d841acc36bd9ee275aa4586dd713749Jingoo Han	&s5p_device_ehci,
269568f0e278c6dd33dc11bd19c4ad781d1f8d86800Sachin Kamat	&s5p_device_fimc0,
270568f0e278c6dd33dc11bd19c4ad781d1f8d86800Sachin Kamat	&s5p_device_fimc1,
271568f0e278c6dd33dc11bd19c4ad781d1f8d86800Sachin Kamat	&s5p_device_fimc2,
272568f0e278c6dd33dc11bd19c4ad781d1f8d86800Sachin Kamat	&s5p_device_fimc3,
273e0d49c70dd471b24950d9059cb3ff6b7dafe9887Sachin Kamat	&s5p_device_fimc_md,
274b3421f97b3d7d6993a770977ca4ceeb175de32c9Sachin Kamat	&s5p_device_g2d,
2759fbe8c7a481daa94a5f87b47b0ffd54f05447e4cSachin Kamat	&s5p_device_jpeg,
276d11135ca4f6e626e1c8aa78de6d472a11a9e9811Kukjin Kim	&exynos4_device_ac97,
277d11135ca4f6e626e1c8aa78de6d472a11a9e9811Kukjin Kim	&exynos4_device_i2s0,
278744f20f28028447cc4486d5ba0a6955840028e37Jingoo Han	&exynos4_device_ohci,
279be4c33be53d85dde787c4261b18b13850cb299f1Naveen Krishna Ch	&samsung_device_keypad,
28095727e1fa18432eafcd0e9ba50c58f40d3ae0ceaSachin Kamat	&s5p_device_mfc,
28195727e1fa18432eafcd0e9ba50c58f40d3ae0ceaSachin Kamat	&s5p_device_mfc_l,
28295727e1fa18432eafcd0e9ba50c58f40d3ae0ceaSachin Kamat	&s5p_device_mfc_r,
2832ba707ac3c7708ecf0c50de4b5bddadf92f0bfccNaveen Krishna Chatradhi	&exynos4_device_spdif,
284d11135ca4f6e626e1c8aa78de6d472a11a9e9811Kukjin Kim	&exynos4_device_sysmmu,
285fbcb44dea89063d72a1242086f4a0c618e0d1e81Jassi Brar	&samsung_asoc_dma,
2862839cc1e7e1f260afc5cf9fb6be5b6c3e9d85feaSangbeom Kim	&samsung_asoc_idma,
28742c0d26d2c32941e93ee805b32f7aebf8ba0a7d4Kukjin Kim	&s5p_device_fimd0,
28842c0d26d2c32941e93ee805b32f7aebf8ba0a7d4Kukjin Kim	&smdkv310_lcd_lte480wv,
289fbcb44dea89063d72a1242086f4a0c618e0d1e81Jassi Brar	&smdkv310_smsc911x,
2900d855f40a47213e488103fdaf74d01eb90a57f09Inderpal Singh	&exynos4_device_ahci,
291c0735c85d1b9e2a1954deb3b3c8d5061f70464e5Hatim Ali	&s5p_device_hdmi,
292c0735c85d1b9e2a1954deb3b3c8d5061f70464e5Hatim Ali	&s5p_device_mixer,
293cdff6e6fd2d4360e2d5bc39afe3f1ef17d79dbf0Changhwan Youn};
294cdff6e6fd2d4360e2d5bc39afe3f1ef17d79dbf0Changhwan Youn
295cbff3eb3e6e3c618583a7435f87c1548aa12b0adDaein Moonstatic void __init smdkv310_smsc911x_init(void)
296cbff3eb3e6e3c618583a7435f87c1548aa12b0adDaein Moon{
297cbff3eb3e6e3c618583a7435f87c1548aa12b0adDaein Moon	u32 cs1;
298cbff3eb3e6e3c618583a7435f87c1548aa12b0adDaein Moon
299cbff3eb3e6e3c618583a7435f87c1548aa12b0adDaein Moon	/* configure nCS1 width to 16 bits */
3008cf460a5d7c12e16ba29d0e4940df4657a7439ccKukjin Kim	cs1 = __raw_readl(S5P_SROM_BW) &
3018cf460a5d7c12e16ba29d0e4940df4657a7439ccKukjin Kim		~(S5P_SROM_BW__CS_MASK << S5P_SROM_BW__NCS1__SHIFT);
3028cf460a5d7c12e16ba29d0e4940df4657a7439ccKukjin Kim	cs1 |= ((1 << S5P_SROM_BW__DATAWIDTH__SHIFT) |
3038cf460a5d7c12e16ba29d0e4940df4657a7439ccKukjin Kim		(1 << S5P_SROM_BW__WAITENABLE__SHIFT) |
3048cf460a5d7c12e16ba29d0e4940df4657a7439ccKukjin Kim		(1 << S5P_SROM_BW__BYTEENABLE__SHIFT)) <<
3058cf460a5d7c12e16ba29d0e4940df4657a7439ccKukjin Kim		S5P_SROM_BW__NCS1__SHIFT;
3068cf460a5d7c12e16ba29d0e4940df4657a7439ccKukjin Kim	__raw_writel(cs1, S5P_SROM_BW);
307cbff3eb3e6e3c618583a7435f87c1548aa12b0adDaein Moon
308cbff3eb3e6e3c618583a7435f87c1548aa12b0adDaein Moon	/* set timing for nCS1 suitable for ethernet chip */
3098cf460a5d7c12e16ba29d0e4940df4657a7439ccKukjin Kim	__raw_writel((0x1 << S5P_SROM_BCX__PMC__SHIFT) |
3108cf460a5d7c12e16ba29d0e4940df4657a7439ccKukjin Kim		     (0x9 << S5P_SROM_BCX__TACP__SHIFT) |
3118cf460a5d7c12e16ba29d0e4940df4657a7439ccKukjin Kim		     (0xc << S5P_SROM_BCX__TCAH__SHIFT) |
3128cf460a5d7c12e16ba29d0e4940df4657a7439ccKukjin Kim		     (0x1 << S5P_SROM_BCX__TCOH__SHIFT) |
3138cf460a5d7c12e16ba29d0e4940df4657a7439ccKukjin Kim		     (0x6 << S5P_SROM_BCX__TACC__SHIFT) |
3148cf460a5d7c12e16ba29d0e4940df4657a7439ccKukjin Kim		     (0x1 << S5P_SROM_BCX__TCOS__SHIFT) |
3158cf460a5d7c12e16ba29d0e4940df4657a7439ccKukjin Kim		     (0x1 << S5P_SROM_BCX__TACS__SHIFT), S5P_SROM_BC1);
316cbff3eb3e6e3c618583a7435f87c1548aa12b0adDaein Moon}
317cbff3eb3e6e3c618583a7435f87c1548aa12b0adDaein Moon
3188689de73a805781ddfb1b26df28ca127a548d235Banajit Goswami/* LCD Backlight data */
3198689de73a805781ddfb1b26df28ca127a548d235Banajit Goswamistatic struct samsung_bl_gpio_info smdkv310_bl_gpio_info = {
3208689de73a805781ddfb1b26df28ca127a548d235Banajit Goswami	.no = EXYNOS4_GPD0(1),
3218689de73a805781ddfb1b26df28ca127a548d235Banajit Goswami	.func = S3C_GPIO_SFN(2),
3228689de73a805781ddfb1b26df28ca127a548d235Banajit Goswami};
3238689de73a805781ddfb1b26df28ca127a548d235Banajit Goswami
3248689de73a805781ddfb1b26df28ca127a548d235Banajit Goswamistatic struct platform_pwm_backlight_data smdkv310_bl_data = {
3258689de73a805781ddfb1b26df28ca127a548d235Banajit Goswami	.pwm_id = 1,
3268689de73a805781ddfb1b26df28ca127a548d235Banajit Goswami	.pwm_period_ns  = 1000,
3278689de73a805781ddfb1b26df28ca127a548d235Banajit Goswami};
3288689de73a805781ddfb1b26df28ca127a548d235Banajit Goswami
329c0735c85d1b9e2a1954deb3b3c8d5061f70464e5Hatim Alistatic void s5p_tv_setup(void)
330c0735c85d1b9e2a1954deb3b3c8d5061f70464e5Hatim Ali{
331c0735c85d1b9e2a1954deb3b3c8d5061f70464e5Hatim Ali	/* direct HPD to HDMI chip */
332c0735c85d1b9e2a1954deb3b3c8d5061f70464e5Hatim Ali	WARN_ON(gpio_request_one(EXYNOS4_GPX3(7), GPIOF_IN, "hpd-plug"));
333c0735c85d1b9e2a1954deb3b3c8d5061f70464e5Hatim Ali	s3c_gpio_cfgpin(EXYNOS4_GPX3(7), S3C_GPIO_SFN(0x3));
334c0735c85d1b9e2a1954deb3b3c8d5061f70464e5Hatim Ali	s3c_gpio_setpull(EXYNOS4_GPX3(7), S3C_GPIO_PULL_NONE);
335c0735c85d1b9e2a1954deb3b3c8d5061f70464e5Hatim Ali}
336c0735c85d1b9e2a1954deb3b3c8d5061f70464e5Hatim Ali
337b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Younstatic void __init smdkv310_map_io(void)
338b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Youn{
339cc511b8d84d88ab788cddbfe8d21485b1c387493Kukjin Kim	exynos_init_io(NULL, 0);
340b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Youn	s3c24xx_init_clocks(24000000);
341b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Youn	s3c24xx_init_uarts(smdkv310_uartcfgs, ARRAY_SIZE(smdkv310_uartcfgs));
342b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Youn}
343b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Youn
34495727e1fa18432eafcd0e9ba50c58f40d3ae0ceaSachin Kamatstatic void __init smdkv310_reserve(void)
34595727e1fa18432eafcd0e9ba50c58f40d3ae0ceaSachin Kamat{
34695727e1fa18432eafcd0e9ba50c58f40d3ae0ceaSachin Kamat	s5p_mfc_reserve_mem(0x43000000, 8 << 20, 0x51000000, 8 << 20);
34795727e1fa18432eafcd0e9ba50c58f40d3ae0ceaSachin Kamat}
34895727e1fa18432eafcd0e9ba50c58f40d3ae0ceaSachin Kamat
349b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Younstatic void __init smdkv310_machine_init(void)
350b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Youn{
3516f5c11c5a5ec9aef67b433906c712608ef7b9b97Jassi Brar	s3c_i2c1_set_platdata(NULL);
3526f5c11c5a5ec9aef67b433906c712608ef7b9b97Jassi Brar	i2c_register_board_info(1, i2c_devs1, ARRAY_SIZE(i2c_devs1));
3536f5c11c5a5ec9aef67b433906c712608ef7b9b97Jassi Brar
354cbff3eb3e6e3c618583a7435f87c1548aa12b0adDaein Moon	smdkv310_smsc911x_init();
355cbff3eb3e6e3c618583a7435f87c1548aa12b0adDaein Moon
3562b11148a80bf1a022e8165ae0026bf6ff5778f03Hyuk Lee	s3c_sdhci0_set_platdata(&smdkv310_hsmmc0_pdata);
3572b11148a80bf1a022e8165ae0026bf6ff5778f03Hyuk Lee	s3c_sdhci1_set_platdata(&smdkv310_hsmmc1_pdata);
3582b11148a80bf1a022e8165ae0026bf6ff5778f03Hyuk Lee	s3c_sdhci2_set_platdata(&smdkv310_hsmmc2_pdata);
3592b11148a80bf1a022e8165ae0026bf6ff5778f03Hyuk Lee	s3c_sdhci3_set_platdata(&smdkv310_hsmmc3_pdata);
3602b11148a80bf1a022e8165ae0026bf6ff5778f03Hyuk Lee
361c0735c85d1b9e2a1954deb3b3c8d5061f70464e5Hatim Ali	s5p_tv_setup();
362c0735c85d1b9e2a1954deb3b3c8d5061f70464e5Hatim Ali	s5p_i2c_hdmiphy_set_platdata(NULL);
363c0735c85d1b9e2a1954deb3b3c8d5061f70464e5Hatim Ali
364be4c33be53d85dde787c4261b18b13850cb299f1Naveen Krishna Ch	samsung_keypad_set_platdata(&smdkv310_keypad_data);
365be4c33be53d85dde787c4261b18b13850cb299f1Naveen Krishna Ch
3668689de73a805781ddfb1b26df28ca127a548d235Banajit Goswami	samsung_bl_set(&smdkv310_bl_gpio_info, &smdkv310_bl_data);
36742c0d26d2c32941e93ee805b32f7aebf8ba0a7d4Kukjin Kim	s5p_fimd0_set_platdata(&smdkv310_lcd0_pdata);
3688689de73a805781ddfb1b26df28ca127a548d235Banajit Goswami
3699830f6a20d841acc36bd9ee275aa4586dd713749Jingoo Han	smdkv310_ehci_init();
370744f20f28028447cc4486d5ba0a6955840028e37Jingoo Han	smdkv310_ohci_init();
3719830f6a20d841acc36bd9ee275aa4586dd713749Jingoo Han	clk_xusbxti.rate = 24000000;
3729830f6a20d841acc36bd9ee275aa4586dd713749Jingoo Han
373cdff6e6fd2d4360e2d5bc39afe3f1ef17d79dbf0Changhwan Youn	platform_add_devices(smdkv310_devices, ARRAY_SIZE(smdkv310_devices));
374b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Youn}
375b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Youn
376b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan YounMACHINE_START(SMDKV310, "SMDKV310")
377b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Youn	/* Maintainer: Kukjin Kim <kgene.kim@samsung.com> */
378b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Youn	/* Maintainer: Changhwan Youn <chaos.youn@samsung.com> */
3791abd328ee5e2e870fa035e7882e7a278127b4ccfTushar Behera	.atag_offset	= 0x100,
380d11135ca4f6e626e1c8aa78de6d472a11a9e9811Kukjin Kim	.init_irq	= exynos4_init_irq,
381b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Youn	.map_io		= smdkv310_map_io,
3824e44d2cb95bd93abe16a131dbcd4c052ae36665fMarc Zyngier	.handle_irq	= gic_handle_irq,
383b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan Youn	.init_machine	= smdkv310_machine_init,
384d11135ca4f6e626e1c8aa78de6d472a11a9e9811Kukjin Kim	.timer		= &exynos4_timer,
38595727e1fa18432eafcd0e9ba50c58f40d3ae0ceaSachin Kamat	.reserve	= &smdkv310_reserve,
3869eb4859564d6e104f78abde15e7f0ca996b71236Russell King	.restart	= exynos4_restart,
387b1d69cc6704fc6d20a4425af9b6ced5a18620b2dChanghwan YounMACHINE_END
38842c0d26d2c32941e93ee805b32f7aebf8ba0a7d4Kukjin Kim
38942c0d26d2c32941e93ee805b32f7aebf8ba0a7d4Kukjin KimMACHINE_START(SMDKC210, "SMDKC210")
39042c0d26d2c32941e93ee805b32f7aebf8ba0a7d4Kukjin Kim	/* Maintainer: Kukjin Kim <kgene.kim@samsung.com> */
3911abd328ee5e2e870fa035e7882e7a278127b4ccfTushar Behera	.atag_offset	= 0x100,
39242c0d26d2c32941e93ee805b32f7aebf8ba0a7d4Kukjin Kim	.init_irq	= exynos4_init_irq,
39342c0d26d2c32941e93ee805b32f7aebf8ba0a7d4Kukjin Kim	.map_io		= smdkv310_map_io,
3944e44d2cb95bd93abe16a131dbcd4c052ae36665fMarc Zyngier	.handle_irq	= gic_handle_irq,
39542c0d26d2c32941e93ee805b32f7aebf8ba0a7d4Kukjin Kim	.init_machine	= smdkv310_machine_init,
39642c0d26d2c32941e93ee805b32f7aebf8ba0a7d4Kukjin Kim	.timer		= &exynos4_timer,
3979eb4859564d6e104f78abde15e7f0ca996b71236Russell King	.restart	= exynos4_restart,
39842c0d26d2c32941e93ee805b32f7aebf8ba0a7d4Kukjin KimMACHINE_END
399