aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorKukjin Kim <kgene.kim@samsung.com>2012-07-19 01:29:30 -0400
committerKukjin Kim <kgene.kim@samsung.com>2012-07-19 01:29:30 -0400
commit23c7301d74ac2d80d0dafd6f84a6d11a0fc15ce5 (patch)
treef19bb1ffa448f4a6c1581f5a69291cffb077deab /arch
parent84a1caf1453c3d44050bd22db958af4a7f99315c (diff)
parent6bba0caf5883ebc1430df38551bbb77ce05d4659 (diff)
Merge branch 'next/board-samsung-2' into next/board-samsung-3
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/mach-exynos/Kconfig6
-rw-r--r--arch/arm/mach-exynos/mach-origen.c6
-rw-r--r--arch/arm/mach-exynos/mach-smdk4x12.c51
-rw-r--r--arch/arm/mach-exynos/mach-smdkv310.c13
-rw-r--r--arch/arm/mach-s3c64xx/include/mach/crag6410.h4
-rw-r--r--arch/arm/mach-s3c64xx/mach-crag6410-module.c10
-rw-r--r--arch/arm/mach-s3c64xx/mach-crag6410.c1
-rw-r--r--arch/arm/mach-s3c64xx/mach-smdk6410.c1
-rw-r--r--arch/arm/mach-s5pv210/Kconfig2
-rw-r--r--arch/arm/mach-s5pv210/mach-aquila.c7
-rw-r--r--arch/arm/mach-s5pv210/mach-goni.c7
-rw-r--r--arch/arm/mach-s5pv210/mach-smdkv210.c9
12 files changed, 107 insertions, 10 deletions
diff --git a/arch/arm/mach-exynos/Kconfig b/arch/arm/mach-exynos/Kconfig
index 6f6d13f91e4c..e698ca016f77 100644
--- a/arch/arm/mach-exynos/Kconfig
+++ b/arch/arm/mach-exynos/Kconfig
@@ -207,6 +207,7 @@ config MACH_SMDKV310
207 select S3C_DEV_HSMMC1 207 select S3C_DEV_HSMMC1
208 select S3C_DEV_HSMMC2 208 select S3C_DEV_HSMMC2
209 select S3C_DEV_HSMMC3 209 select S3C_DEV_HSMMC3
210 select S3C_DEV_USB_HSOTG
210 select SAMSUNG_DEV_BACKLIGHT 211 select SAMSUNG_DEV_BACKLIGHT
211 select EXYNOS_DEV_DRM 212 select EXYNOS_DEV_DRM
212 select EXYNOS_DEV_SYSMMU 213 select EXYNOS_DEV_SYSMMU
@@ -326,6 +327,7 @@ config MACH_ORIGEN
326 select S3C_DEV_WDT 327 select S3C_DEV_WDT
327 select S3C_DEV_HSMMC 328 select S3C_DEV_HSMMC
328 select S3C_DEV_HSMMC2 329 select S3C_DEV_HSMMC2
330 select S3C_DEV_USB_HSOTG
329 select S5P_DEV_FIMC0 331 select S5P_DEV_FIMC0
330 select S5P_DEV_FIMC1 332 select S5P_DEV_FIMC1
331 select S5P_DEV_FIMC2 333 select S5P_DEV_FIMC2
@@ -360,22 +362,26 @@ config MACH_SMDK4212
360 select S3C_DEV_I2C3 362 select S3C_DEV_I2C3
361 select S3C_DEV_I2C7 363 select S3C_DEV_I2C7
362 select S3C_DEV_RTC 364 select S3C_DEV_RTC
365 select S3C_DEV_USB_HSOTG
363 select S3C_DEV_WDT 366 select S3C_DEV_WDT
364 select S5P_DEV_FIMC0 367 select S5P_DEV_FIMC0
365 select S5P_DEV_FIMC1 368 select S5P_DEV_FIMC1
366 select S5P_DEV_FIMC2 369 select S5P_DEV_FIMC2
367 select S5P_DEV_FIMC3 370 select S5P_DEV_FIMC3
371 select S5P_DEV_FIMD0
368 select S5P_DEV_MFC 372 select S5P_DEV_MFC
369 select SAMSUNG_DEV_BACKLIGHT 373 select SAMSUNG_DEV_BACKLIGHT
370 select SAMSUNG_DEV_KEYPAD 374 select SAMSUNG_DEV_KEYPAD
371 select SAMSUNG_DEV_PWM 375 select SAMSUNG_DEV_PWM
372 select EXYNOS_DEV_SYSMMU 376 select EXYNOS_DEV_SYSMMU
373 select EXYNOS_DEV_DMA 377 select EXYNOS_DEV_DMA
378 select EXYNOS4_SETUP_FIMD0
374 select EXYNOS4_SETUP_I2C1 379 select EXYNOS4_SETUP_I2C1
375 select EXYNOS4_SETUP_I2C3 380 select EXYNOS4_SETUP_I2C3
376 select EXYNOS4_SETUP_I2C7 381 select EXYNOS4_SETUP_I2C7
377 select EXYNOS4_SETUP_KEYPAD 382 select EXYNOS4_SETUP_KEYPAD
378 select EXYNOS4_SETUP_SDHCI 383 select EXYNOS4_SETUP_SDHCI
384 select EXYNOS4_SETUP_USB_PHY
379 help 385 help
380 Machine support for Samsung SMDK4212 386 Machine support for Samsung SMDK4212
381 387
diff --git a/arch/arm/mach-exynos/mach-origen.c b/arch/arm/mach-exynos/mach-origen.c
index f5572be9d7bf..9ed0229db8ae 100644
--- a/arch/arm/mach-exynos/mach-origen.c
+++ b/arch/arm/mach-exynos/mach-origen.c
@@ -21,6 +21,7 @@
21#include <linux/mfd/max8997.h> 21#include <linux/mfd/max8997.h>
22#include <linux/lcd.h> 22#include <linux/lcd.h>
23#include <linux/rfkill-gpio.h> 23#include <linux/rfkill-gpio.h>
24#include <linux/platform_data/s3c-hsotg.h>
24 25
25#include <asm/mach/arch.h> 26#include <asm/mach/arch.h>
26#include <asm/hardware/gic.h> 27#include <asm/hardware/gic.h>
@@ -499,6 +500,9 @@ static void __init origen_ohci_init(void)
499 exynos4_ohci_set_platdata(pdata); 500 exynos4_ohci_set_platdata(pdata);
500} 501}
501 502
503/* USB OTG */
504static struct s3c_hsotg_plat origen_hsotg_pdata;
505
502static struct gpio_keys_button origen_gpio_keys_table[] = { 506static struct gpio_keys_button origen_gpio_keys_table[] = {
503 { 507 {
504 .code = KEY_MENU, 508 .code = KEY_MENU,
@@ -655,6 +659,7 @@ static struct platform_device *origen_devices[] __initdata = {
655 &s3c_device_hsmmc0, 659 &s3c_device_hsmmc0,
656 &s3c_device_i2c0, 660 &s3c_device_i2c0,
657 &s3c_device_rtc, 661 &s3c_device_rtc,
662 &s3c_device_usb_hsotg,
658 &s3c_device_wdt, 663 &s3c_device_wdt,
659 &s5p_device_ehci, 664 &s5p_device_ehci,
660 &s5p_device_fimc0, 665 &s5p_device_fimc0,
@@ -744,6 +749,7 @@ static void __init origen_machine_init(void)
744 749
745 origen_ehci_init(); 750 origen_ehci_init();
746 origen_ohci_init(); 751 origen_ohci_init();
752 s3c_hsotg_set_platdata(&origen_hsotg_pdata);
747 clk_xusbxti.rate = 24000000; 753 clk_xusbxti.rate = 24000000;
748 754
749 s5p_tv_setup(); 755 s5p_tv_setup();
diff --git a/arch/arm/mach-exynos/mach-smdk4x12.c b/arch/arm/mach-exynos/mach-smdk4x12.c
index fb09c70e195a..2623f3bde3f9 100644
--- a/arch/arm/mach-exynos/mach-smdk4x12.c
+++ b/arch/arm/mach-exynos/mach-smdk4x12.c
@@ -13,12 +13,14 @@
13#include <linux/i2c.h> 13#include <linux/i2c.h>
14#include <linux/input.h> 14#include <linux/input.h>
15#include <linux/io.h> 15#include <linux/io.h>
16#include <linux/lcd.h>
16#include <linux/mfd/max8997.h> 17#include <linux/mfd/max8997.h>
17#include <linux/mmc/host.h> 18#include <linux/mmc/host.h>
18#include <linux/platform_device.h> 19#include <linux/platform_device.h>
19#include <linux/pwm_backlight.h> 20#include <linux/pwm_backlight.h>
20#include <linux/regulator/machine.h> 21#include <linux/regulator/machine.h>
21#include <linux/serial_core.h> 22#include <linux/serial_core.h>
23#include <linux/platform_data/s3c-hsotg.h>
22 24
23#include <asm/mach/arch.h> 25#include <asm/mach/arch.h>
24#include <asm/hardware/gic.h> 26#include <asm/hardware/gic.h>
@@ -28,10 +30,12 @@
28#include <plat/clock.h> 30#include <plat/clock.h>
29#include <plat/cpu.h> 31#include <plat/cpu.h>
30#include <plat/devs.h> 32#include <plat/devs.h>
33#include <plat/fb.h>
31#include <plat/gpio-cfg.h> 34#include <plat/gpio-cfg.h>
32#include <plat/iic.h> 35#include <plat/iic.h>
33#include <plat/keypad.h> 36#include <plat/keypad.h>
34#include <plat/mfc.h> 37#include <plat/mfc.h>
38#include <plat/regs-fb.h>
35#include <plat/regs-serial.h> 39#include <plat/regs-serial.h>
36#include <plat/sdhci.h> 40#include <plat/sdhci.h>
37 41
@@ -219,8 +223,10 @@ static struct platform_pwm_backlight_data smdk4x12_bl_data = {
219 223
220static uint32_t smdk4x12_keymap[] __initdata = { 224static uint32_t smdk4x12_keymap[] __initdata = {
221 /* KEY(row, col, keycode) */ 225 /* KEY(row, col, keycode) */
222 KEY(1, 0, KEY_D), KEY(1, 1, KEY_A), KEY(1, 2, KEY_B), 226 KEY(1, 3, KEY_1), KEY(1, 4, KEY_2), KEY(1, 5, KEY_3),
223 KEY(1, 3, KEY_E), KEY(1, 4, KEY_C) 227 KEY(1, 6, KEY_4), KEY(1, 7, KEY_5),
228 KEY(2, 5, KEY_D), KEY(2, 6, KEY_A), KEY(2, 7, KEY_B),
229 KEY(0, 7, KEY_E), KEY(0, 5, KEY_C)
224}; 230};
225 231
226static struct matrix_keymap_data smdk4x12_keymap_data __initdata = { 232static struct matrix_keymap_data smdk4x12_keymap_data __initdata = {
@@ -230,10 +236,41 @@ static struct matrix_keymap_data smdk4x12_keymap_data __initdata = {
230 236
231static struct samsung_keypad_platdata smdk4x12_keypad_data __initdata = { 237static struct samsung_keypad_platdata smdk4x12_keypad_data __initdata = {
232 .keymap_data = &smdk4x12_keymap_data, 238 .keymap_data = &smdk4x12_keymap_data,
233 .rows = 2, 239 .rows = 3,
234 .cols = 5, 240 .cols = 8,
235}; 241};
236 242
243static struct s3c_fb_pd_win smdk4x12_fb_win0 = {
244 .xres = 480,
245 .yres = 800,
246 .virtual_x = 480,
247 .virtual_y = 800 * 2,
248 .max_bpp = 32,
249 .default_bpp = 24,
250};
251
252static struct fb_videomode smdk4x12_lcd_timing = {
253 .left_margin = 8,
254 .right_margin = 8,
255 .upper_margin = 6,
256 .lower_margin = 6,
257 .hsync_len = 6,
258 .vsync_len = 4,
259 .xres = 480,
260 .yres = 800,
261};
262
263static struct s3c_fb_platdata smdk4x12_lcd_pdata __initdata = {
264 .win[0] = &smdk4x12_fb_win0,
265 .vtiming = &smdk4x12_lcd_timing,
266 .vidcon0 = VIDCON0_VIDOUT_RGB | VIDCON0_PNRMODE_RGB,
267 .vidcon1 = VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC,
268 .setup_gpio = exynos4_fimd0_gpio_setup_24bpp,
269};
270
271/* USB OTG */
272static struct s3c_hsotg_plat smdk4x12_hsotg_pdata;
273
237static struct platform_device *smdk4x12_devices[] __initdata = { 274static struct platform_device *smdk4x12_devices[] __initdata = {
238 &s3c_device_hsmmc2, 275 &s3c_device_hsmmc2,
239 &s3c_device_hsmmc3, 276 &s3c_device_hsmmc3,
@@ -242,12 +279,14 @@ static struct platform_device *smdk4x12_devices[] __initdata = {
242 &s3c_device_i2c3, 279 &s3c_device_i2c3,
243 &s3c_device_i2c7, 280 &s3c_device_i2c7,
244 &s3c_device_rtc, 281 &s3c_device_rtc,
282 &s3c_device_usb_hsotg,
245 &s3c_device_wdt, 283 &s3c_device_wdt,
246 &s5p_device_fimc0, 284 &s5p_device_fimc0,
247 &s5p_device_fimc1, 285 &s5p_device_fimc1,
248 &s5p_device_fimc2, 286 &s5p_device_fimc2,
249 &s5p_device_fimc3, 287 &s5p_device_fimc3,
250 &s5p_device_fimc_md, 288 &s5p_device_fimc_md,
289 &s5p_device_fimd0,
251 &s5p_device_mfc, 290 &s5p_device_mfc,
252 &s5p_device_mfc_l, 291 &s5p_device_mfc_l,
253 &s5p_device_mfc_r, 292 &s5p_device_mfc_r,
@@ -293,6 +332,10 @@ static void __init smdk4x12_machine_init(void)
293 s3c_sdhci2_set_platdata(&smdk4x12_hsmmc2_pdata); 332 s3c_sdhci2_set_platdata(&smdk4x12_hsmmc2_pdata);
294 s3c_sdhci3_set_platdata(&smdk4x12_hsmmc3_pdata); 333 s3c_sdhci3_set_platdata(&smdk4x12_hsmmc3_pdata);
295 334
335 s3c_hsotg_set_platdata(&smdk4x12_hsotg_pdata);
336
337 s5p_fimd0_set_platdata(&smdk4x12_lcd_pdata);
338
296 platform_add_devices(smdk4x12_devices, ARRAY_SIZE(smdk4x12_devices)); 339 platform_add_devices(smdk4x12_devices, ARRAY_SIZE(smdk4x12_devices));
297} 340}
298 341
diff --git a/arch/arm/mach-exynos/mach-smdkv310.c b/arch/arm/mach-exynos/mach-smdkv310.c
index 262e9e446a96..7464a45745d5 100644
--- a/arch/arm/mach-exynos/mach-smdkv310.c
+++ b/arch/arm/mach-exynos/mach-smdkv310.c
@@ -19,6 +19,7 @@
19#include <linux/i2c.h> 19#include <linux/i2c.h>
20#include <linux/input.h> 20#include <linux/input.h>
21#include <linux/pwm_backlight.h> 21#include <linux/pwm_backlight.h>
22#include <linux/platform_data/s3c-hsotg.h>
22 23
23#include <asm/mach/arch.h> 24#include <asm/mach/arch.h>
24#include <asm/hardware/gic.h> 25#include <asm/hardware/gic.h>
@@ -271,6 +272,15 @@ static void __init smdkv310_ohci_init(void)
271 exynos4_ohci_set_platdata(pdata); 272 exynos4_ohci_set_platdata(pdata);
272} 273}
273 274
275/* USB OTG */
276static struct s3c_hsotg_plat smdkv310_hsotg_pdata;
277
278/* Audio device */
279static struct platform_device smdkv310_device_audio = {
280 .name = "smdk-audio",
281 .id = -1,
282};
283
274static struct platform_device *smdkv310_devices[] __initdata = { 284static struct platform_device *smdkv310_devices[] __initdata = {
275 &s3c_device_hsmmc0, 285 &s3c_device_hsmmc0,
276 &s3c_device_hsmmc1, 286 &s3c_device_hsmmc1,
@@ -279,6 +289,7 @@ static struct platform_device *smdkv310_devices[] __initdata = {
279 &s3c_device_i2c1, 289 &s3c_device_i2c1,
280 &s5p_device_i2c_hdmiphy, 290 &s5p_device_i2c_hdmiphy,
281 &s3c_device_rtc, 291 &s3c_device_rtc,
292 &s3c_device_usb_hsotg,
282 &s3c_device_wdt, 293 &s3c_device_wdt,
283 &s5p_device_ehci, 294 &s5p_device_ehci,
284 &s5p_device_fimc0, 295 &s5p_device_fimc0,
@@ -302,6 +313,7 @@ static struct platform_device *smdkv310_devices[] __initdata = {
302 &samsung_asoc_dma, 313 &samsung_asoc_dma,
303 &samsung_asoc_idma, 314 &samsung_asoc_idma,
304 &s5p_device_fimd0, 315 &s5p_device_fimd0,
316 &smdkv310_device_audio,
305 &smdkv310_lcd_lte480wv, 317 &smdkv310_lcd_lte480wv,
306 &smdkv310_smsc911x, 318 &smdkv310_smsc911x,
307 &exynos4_device_ahci, 319 &exynos4_device_ahci,
@@ -390,6 +402,7 @@ static void __init smdkv310_machine_init(void)
390 402
391 smdkv310_ehci_init(); 403 smdkv310_ehci_init();
392 smdkv310_ohci_init(); 404 smdkv310_ohci_init();
405 s3c_hsotg_set_platdata(&smdkv310_hsotg_pdata);
393 clk_xusbxti.rate = 24000000; 406 clk_xusbxti.rate = 24000000;
394 407
395 platform_add_devices(smdkv310_devices, ARRAY_SIZE(smdkv310_devices)); 408 platform_add_devices(smdkv310_devices, ARRAY_SIZE(smdkv310_devices));
diff --git a/arch/arm/mach-s3c64xx/include/mach/crag6410.h b/arch/arm/mach-s3c64xx/include/mach/crag6410.h
index 4cb2f951f1e9..4c3c9994fc2c 100644
--- a/arch/arm/mach-s3c64xx/include/mach/crag6410.h
+++ b/arch/arm/mach-s3c64xx/include/mach/crag6410.h
@@ -13,9 +13,7 @@
13 13
14#include <linux/gpio.h> 14#include <linux/gpio.h>
15 15
16#define BANFF_PMIC_IRQ_BASE IRQ_BOARD_START 16#define GLENFARCLAS_PMIC_IRQ_BASE IRQ_BOARD_START
17#define GLENFARCLAS_PMIC_IRQ_BASE (IRQ_BOARD_START + 64)
18#define CODEC_IRQ_BASE (IRQ_BOARD_START + 128)
19 17
20#define PCA935X_GPIO_BASE GPIO_BOARD_START 18#define PCA935X_GPIO_BASE GPIO_BOARD_START
21#define CODEC_GPIO_BASE (GPIO_BOARD_START + 8) 19#define CODEC_GPIO_BASE (GPIO_BOARD_START + 8)
diff --git a/arch/arm/mach-s3c64xx/mach-crag6410-module.c b/arch/arm/mach-s3c64xx/mach-crag6410-module.c
index 7a27f5603c74..4645aa15c82a 100644
--- a/arch/arm/mach-s3c64xx/mach-crag6410-module.c
+++ b/arch/arm/mach-s3c64xx/mach-crag6410-module.c
@@ -39,6 +39,7 @@ static struct spi_board_info wm1253_devs[] = {
39 .bus_num = 0, 39 .bus_num = 0,
40 .chip_select = 0, 40 .chip_select = 0,
41 .mode = SPI_MODE_0, 41 .mode = SPI_MODE_0,
42 .irq = S3C_EINT(5),
42 .controller_data = &wm0010_spi_csinfo, 43 .controller_data = &wm0010_spi_csinfo,
43 }, 44 },
44}; 45};
@@ -168,7 +169,6 @@ static struct wm8994_pdata wm8994_pdata = {
168 .gpio_defaults = { 169 .gpio_defaults = {
169 0x3, /* IRQ out, active high, CMOS */ 170 0x3, /* IRQ out, active high, CMOS */
170 }, 171 },
171 .irq_base = CODEC_IRQ_BASE,
172 .ldo = { 172 .ldo = {
173 { .init_data = &wm8994_ldo1, }, 173 { .init_data = &wm8994_ldo1, },
174 { .init_data = &wm8994_ldo2, }, 174 { .init_data = &wm8994_ldo2, },
@@ -182,6 +182,11 @@ static const struct i2c_board_info wm1277_devs[] = {
182 }, 182 },
183}; 183};
184 184
185static const struct i2c_board_info wm5102_devs[] = {
186 { I2C_BOARD_INFO("wm5102", 0x1a),
187 .irq = GLENFARCLAS_PMIC_IRQ_BASE + WM831X_IRQ_GPIO_2, },
188};
189
185static const struct i2c_board_info wm6230_i2c_devs[] = { 190static const struct i2c_board_info wm6230_i2c_devs[] = {
186 { I2C_BOARD_INFO("wm9081", 0x6c), 191 { I2C_BOARD_INFO("wm9081", 0x6c),
187 .platform_data = &wm9081_pdata, }, 192 .platform_data = &wm9081_pdata, },
@@ -209,6 +214,7 @@ static __devinitdata const struct {
209 .spi_devs = wm1253_devs, .num_spi_devs = ARRAY_SIZE(wm1253_devs) }, 214 .spi_devs = wm1253_devs, .num_spi_devs = ARRAY_SIZE(wm1253_devs) },
210 { .id = 0x32, .name = "XXXX-EV1 Caol Illa" }, 215 { .id = 0x32, .name = "XXXX-EV1 Caol Illa" },
211 { .id = 0x33, .name = "XXXX-EV1 Oban" }, 216 { .id = 0x33, .name = "XXXX-EV1 Oban" },
217 { .id = 0x34, .name = "WM0010-6320-CS42 Balblair" },
212 { .id = 0x39, .name = "1254-EV1 Dallas Dhu", 218 { .id = 0x39, .name = "1254-EV1 Dallas Dhu",
213 .i2c_devs = wm1254_devs, .num_i2c_devs = ARRAY_SIZE(wm1254_devs) }, 219 .i2c_devs = wm1254_devs, .num_i2c_devs = ARRAY_SIZE(wm1254_devs) },
214 { .id = 0x3a, .name = "1259-EV1 Tobermory", 220 { .id = 0x3a, .name = "1259-EV1 Tobermory",
@@ -218,6 +224,8 @@ static __devinitdata const struct {
218 { .id = 0x3c, .name = "1273-EV1 Longmorn" }, 224 { .id = 0x3c, .name = "1273-EV1 Longmorn" },
219 { .id = 0x3d, .name = "1277-EV1 Littlemill", 225 { .id = 0x3d, .name = "1277-EV1 Littlemill",
220 .i2c_devs = wm1277_devs, .num_i2c_devs = ARRAY_SIZE(wm1277_devs) }, 226 .i2c_devs = wm1277_devs, .num_i2c_devs = ARRAY_SIZE(wm1277_devs) },
227 { .id = 0x3e, .name = "WM5102-6271-EV1-CS127",
228 .i2c_devs = wm5102_devs, .num_i2c_devs = ARRAY_SIZE(wm5102_devs) },
221}; 229};
222 230
223static __devinit int wlf_gf_module_probe(struct i2c_client *i2c, 231static __devinit int wlf_gf_module_probe(struct i2c_client *i2c,
diff --git a/arch/arm/mach-s3c64xx/mach-crag6410.c b/arch/arm/mach-s3c64xx/mach-crag6410.c
index d0c352d861f8..161c3b6218a2 100644
--- a/arch/arm/mach-s3c64xx/mach-crag6410.c
+++ b/arch/arm/mach-s3c64xx/mach-crag6410.c
@@ -525,7 +525,6 @@ static struct wm831x_touch_pdata touch_pdata __initdata = {
525 525
526static struct wm831x_pdata crag_pmic_pdata __initdata = { 526static struct wm831x_pdata crag_pmic_pdata __initdata = {
527 .wm831x_num = 1, 527 .wm831x_num = 1,
528 .irq_base = BANFF_PMIC_IRQ_BASE,
529 .gpio_base = BANFF_PMIC_GPIO_BASE, 528 .gpio_base = BANFF_PMIC_GPIO_BASE,
530 .soft_shutdown = true, 529 .soft_shutdown = true,
531 530
diff --git a/arch/arm/mach-s3c64xx/mach-smdk6410.c b/arch/arm/mach-s3c64xx/mach-smdk6410.c
index df3103d450e2..0fe4f1503f4f 100644
--- a/arch/arm/mach-s3c64xx/mach-smdk6410.c
+++ b/arch/arm/mach-s3c64xx/mach-smdk6410.c
@@ -566,7 +566,6 @@ static struct wm831x_status_pdata wm1192_led8_pdata = {
566 566
567static struct wm831x_pdata smdk6410_wm1192_pdata = { 567static struct wm831x_pdata smdk6410_wm1192_pdata = {
568 .pre_init = wm1192_pre_init, 568 .pre_init = wm1192_pre_init,
569 .irq_base = IRQ_BOARD_START,
570 569
571 .backlight = &wm1192_backlight_pdata, 570 .backlight = &wm1192_backlight_pdata,
572 .dcdc = { 571 .dcdc = {
diff --git a/arch/arm/mach-s5pv210/Kconfig b/arch/arm/mach-s5pv210/Kconfig
index 88e983b0c82e..77185c38188b 100644
--- a/arch/arm/mach-s5pv210/Kconfig
+++ b/arch/arm/mach-s5pv210/Kconfig
@@ -152,6 +152,7 @@ config MACH_SMDKV210
152 select S3C_DEV_I2C1 152 select S3C_DEV_I2C1
153 select S3C_DEV_I2C2 153 select S3C_DEV_I2C2
154 select S3C_DEV_RTC 154 select S3C_DEV_RTC
155 select S3C_DEV_USB_HSOTG
155 select S3C_DEV_WDT 156 select S3C_DEV_WDT
156 select S5P_DEV_FIMC0 157 select S5P_DEV_FIMC0
157 select S5P_DEV_FIMC1 158 select S5P_DEV_FIMC1
@@ -170,6 +171,7 @@ config MACH_SMDKV210
170 select S5PV210_SETUP_IDE 171 select S5PV210_SETUP_IDE
171 select S5PV210_SETUP_KEYPAD 172 select S5PV210_SETUP_KEYPAD
172 select S5PV210_SETUP_SDHCI 173 select S5PV210_SETUP_SDHCI
174 select S5PV210_SETUP_USB_PHY
173 help 175 help
174 Machine support for Samsung SMDKV210 176 Machine support for Samsung SMDKV210
175 177
diff --git a/arch/arm/mach-s5pv210/mach-aquila.c b/arch/arm/mach-s5pv210/mach-aquila.c
index af528f9e97f9..78028df86c5d 100644
--- a/arch/arm/mach-s5pv210/mach-aquila.c
+++ b/arch/arm/mach-s5pv210/mach-aquila.c
@@ -600,10 +600,17 @@ static void aquila_setup_sdhci(void)
600 s3c_sdhci2_set_platdata(&aquila_hsmmc2_data); 600 s3c_sdhci2_set_platdata(&aquila_hsmmc2_data);
601}; 601};
602 602
603/* Audio device */
604static struct platform_device aquila_device_audio = {
605 .name = "smdk-audio",
606 .id = -1,
607};
608
603static struct platform_device *aquila_devices[] __initdata = { 609static struct platform_device *aquila_devices[] __initdata = {
604 &aquila_i2c_gpio_pmic, 610 &aquila_i2c_gpio_pmic,
605 &aquila_i2c_gpio5, 611 &aquila_i2c_gpio5,
606 &aquila_device_gpiokeys, 612 &aquila_device_gpiokeys,
613 &aquila_device_audio,
607 &s3c_device_fb, 614 &s3c_device_fb,
608 &s5p_device_onenand, 615 &s5p_device_onenand,
609 &s3c_device_hsmmc0, 616 &s3c_device_hsmmc0,
diff --git a/arch/arm/mach-s5pv210/mach-goni.c b/arch/arm/mach-s5pv210/mach-goni.c
index bf5087c2b7fe..b2cae1387869 100644
--- a/arch/arm/mach-s5pv210/mach-goni.c
+++ b/arch/arm/mach-s5pv210/mach-goni.c
@@ -859,12 +859,19 @@ static struct s5p_platform_fimc goni_fimc_md_platdata __initdata = {
859 .num_clients = ARRAY_SIZE(goni_camera_sensors), 859 .num_clients = ARRAY_SIZE(goni_camera_sensors),
860}; 860};
861 861
862/* Audio device */
863static struct platform_device goni_device_audio = {
864 .name = "smdk-audio",
865 .id = -1,
866};
867
862static struct platform_device *goni_devices[] __initdata = { 868static struct platform_device *goni_devices[] __initdata = {
863 &s3c_device_fb, 869 &s3c_device_fb,
864 &s5p_device_onenand, 870 &s5p_device_onenand,
865 &goni_spi_gpio, 871 &goni_spi_gpio,
866 &goni_i2c_gpio_pmic, 872 &goni_i2c_gpio_pmic,
867 &goni_i2c_gpio5, 873 &goni_i2c_gpio5,
874 &goni_device_audio,
868 &mmc2_fixed_voltage, 875 &mmc2_fixed_voltage,
869 &goni_device_gpiokeys, 876 &goni_device_gpiokeys,
870 &s5p_device_mfc, 877 &s5p_device_mfc,
diff --git a/arch/arm/mach-s5pv210/mach-smdkv210.c b/arch/arm/mach-s5pv210/mach-smdkv210.c
index 0d7ddec88eb7..c8997bce642d 100644
--- a/arch/arm/mach-s5pv210/mach-smdkv210.c
+++ b/arch/arm/mach-s5pv210/mach-smdkv210.c
@@ -19,6 +19,7 @@
19#include <linux/gpio.h> 19#include <linux/gpio.h>
20#include <linux/delay.h> 20#include <linux/delay.h>
21#include <linux/pwm_backlight.h> 21#include <linux/pwm_backlight.h>
22#include <linux/platform_data/s3c-hsotg.h>
22 23
23#include <asm/hardware/vic.h> 24#include <asm/hardware/vic.h>
24#include <asm/mach/arch.h> 25#include <asm/mach/arch.h>
@@ -47,6 +48,7 @@
47#include <plat/backlight.h> 48#include <plat/backlight.h>
48#include <plat/regs-fb-v4.h> 49#include <plat/regs-fb-v4.h>
49#include <plat/mfc.h> 50#include <plat/mfc.h>
51#include <plat/clock.h>
50 52
51#include "common.h" 53#include "common.h"
52 54
@@ -203,6 +205,9 @@ static struct s3c_fb_platdata smdkv210_lcd0_pdata __initdata = {
203 .setup_gpio = s5pv210_fb_gpio_setup_24bpp, 205 .setup_gpio = s5pv210_fb_gpio_setup_24bpp,
204}; 206};
205 207
208/* USB OTG */
209static struct s3c_hsotg_plat smdkv210_hsotg_pdata;
210
206static struct platform_device *smdkv210_devices[] __initdata = { 211static struct platform_device *smdkv210_devices[] __initdata = {
207 &s3c_device_adc, 212 &s3c_device_adc,
208 &s3c_device_cfcon, 213 &s3c_device_cfcon,
@@ -216,6 +221,7 @@ static struct platform_device *smdkv210_devices[] __initdata = {
216 &s3c_device_i2c2, 221 &s3c_device_i2c2,
217 &s3c_device_rtc, 222 &s3c_device_rtc,
218 &s3c_device_ts, 223 &s3c_device_ts,
224 &s3c_device_usb_hsotg,
219 &s3c_device_wdt, 225 &s3c_device_wdt,
220 &s5p_device_fimc0, 226 &s5p_device_fimc0,
221 &s5p_device_fimc1, 227 &s5p_device_fimc1,
@@ -314,6 +320,9 @@ static void __init smdkv210_machine_init(void)
314 320
315 samsung_bl_set(&smdkv210_bl_gpio_info, &smdkv210_bl_data); 321 samsung_bl_set(&smdkv210_bl_gpio_info, &smdkv210_bl_data);
316 322
323 s3c_hsotg_set_platdata(&smdkv210_hsotg_pdata);
324 clk_xusbxti.rate = 24000000;
325
317 platform_add_devices(smdkv210_devices, ARRAY_SIZE(smdkv210_devices)); 326 platform_add_devices(smdkv210_devices, ARRAY_SIZE(smdkv210_devices));
318} 327}
319 328