diff options
Diffstat (limited to 'arch/arm/mach-exynos/mach-smdkv310.c')
-rw-r--r-- | arch/arm/mach-exynos/mach-smdkv310.c | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/arch/arm/mach-exynos/mach-smdkv310.c b/arch/arm/mach-exynos/mach-smdkv310.c index 5fb209c4a59..3cfa688d274 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> |
@@ -270,6 +271,15 @@ static void __init smdkv310_ohci_init(void) | |||
270 | exynos4_ohci_set_platdata(pdata); | 271 | exynos4_ohci_set_platdata(pdata); |
271 | } | 272 | } |
272 | 273 | ||
274 | /* USB OTG */ | ||
275 | static struct s3c_hsotg_plat smdkv310_hsotg_pdata; | ||
276 | |||
277 | /* Audio device */ | ||
278 | static struct platform_device smdkv310_device_audio = { | ||
279 | .name = "smdk-audio", | ||
280 | .id = -1, | ||
281 | }; | ||
282 | |||
273 | static struct platform_device *smdkv310_devices[] __initdata = { | 283 | static struct platform_device *smdkv310_devices[] __initdata = { |
274 | &s3c_device_hsmmc0, | 284 | &s3c_device_hsmmc0, |
275 | &s3c_device_hsmmc1, | 285 | &s3c_device_hsmmc1, |
@@ -278,6 +288,7 @@ static struct platform_device *smdkv310_devices[] __initdata = { | |||
278 | &s3c_device_i2c1, | 288 | &s3c_device_i2c1, |
279 | &s5p_device_i2c_hdmiphy, | 289 | &s5p_device_i2c_hdmiphy, |
280 | &s3c_device_rtc, | 290 | &s3c_device_rtc, |
291 | &s3c_device_usb_hsotg, | ||
281 | &s3c_device_wdt, | 292 | &s3c_device_wdt, |
282 | &s5p_device_ehci, | 293 | &s5p_device_ehci, |
283 | &s5p_device_fimc0, | 294 | &s5p_device_fimc0, |
@@ -301,6 +312,7 @@ static struct platform_device *smdkv310_devices[] __initdata = { | |||
301 | &samsung_asoc_dma, | 312 | &samsung_asoc_dma, |
302 | &samsung_asoc_idma, | 313 | &samsung_asoc_idma, |
303 | &s5p_device_fimd0, | 314 | &s5p_device_fimd0, |
315 | &smdkv310_device_audio, | ||
304 | &smdkv310_lcd_lte480wv, | 316 | &smdkv310_lcd_lte480wv, |
305 | &smdkv310_smsc911x, | 317 | &smdkv310_smsc911x, |
306 | &exynos4_device_ahci, | 318 | &exynos4_device_ahci, |
@@ -353,7 +365,7 @@ static void s5p_tv_setup(void) | |||
353 | static void __init smdkv310_map_io(void) | 365 | static void __init smdkv310_map_io(void) |
354 | { | 366 | { |
355 | exynos_init_io(NULL, 0); | 367 | exynos_init_io(NULL, 0); |
356 | s3c24xx_init_clocks(24000000); | 368 | s3c24xx_init_clocks(clk_xusbxti.rate); |
357 | s3c24xx_init_uarts(smdkv310_uartcfgs, ARRAY_SIZE(smdkv310_uartcfgs)); | 369 | s3c24xx_init_uarts(smdkv310_uartcfgs, ARRAY_SIZE(smdkv310_uartcfgs)); |
358 | } | 370 | } |
359 | 371 | ||
@@ -389,7 +401,7 @@ static void __init smdkv310_machine_init(void) | |||
389 | 401 | ||
390 | smdkv310_ehci_init(); | 402 | smdkv310_ehci_init(); |
391 | smdkv310_ohci_init(); | 403 | smdkv310_ohci_init(); |
392 | clk_xusbxti.rate = 24000000; | 404 | s3c_hsotg_set_platdata(&smdkv310_hsotg_pdata); |
393 | 405 | ||
394 | platform_add_devices(smdkv310_devices, ARRAY_SIZE(smdkv310_devices)); | 406 | platform_add_devices(smdkv310_devices, ARRAY_SIZE(smdkv310_devices)); |
395 | } | 407 | } |
@@ -416,5 +428,6 @@ MACHINE_START(SMDKC210, "SMDKC210") | |||
416 | .init_machine = smdkv310_machine_init, | 428 | .init_machine = smdkv310_machine_init, |
417 | .init_late = exynos_init_late, | 429 | .init_late = exynos_init_late, |
418 | .timer = &exynos4_timer, | 430 | .timer = &exynos4_timer, |
431 | .reserve = &smdkv310_reserve, | ||
419 | .restart = exynos4_restart, | 432 | .restart = exynos4_restart, |
420 | MACHINE_END | 433 | MACHINE_END |