diff --git a/arch/arm/mach-exynos4/Kconfig b/arch/arm/mach-exynos4/Kconfig index 980ffd6ccc4ec1e78a9b5629852b202998d4ebc0..c4068fd7b83cbae9cce6d5f93bac42305f2adbdc 100644 --- a/arch/arm/mach-exynos4/Kconfig +++ b/arch/arm/mach-exynos4/Kconfig @@ -142,6 +142,7 @@ config MACH_SMDKV310 select S5P_DEV_I2C_HDMIPHY select S5P_DEV_MFC select S5P_DEV_TV + select S5P_DEV_USB_EHCI select S3C_DEV_HSMMC select S3C_DEV_HSMMC1 select S3C_DEV_HSMMC2 @@ -156,6 +157,7 @@ config MACH_SMDKV310 select EXYNOS4_SETUP_I2C1 select EXYNOS4_SETUP_KEYPAD select EXYNOS4_SETUP_SDHCI + select EXYNOS4_SETUP_USB_PHY help Machine support for Samsung SMDKV310 diff --git a/arch/arm/mach-exynos4/mach-smdkv310.c b/arch/arm/mach-exynos4/mach-smdkv310.c index 5ba432e21e27c4e2c68a265b916c3ad53105e55f..0fa734c1aa69658beb4325cf70b36d53c454e16f 100644 --- a/arch/arm/mach-exynos4/mach-smdkv310.c +++ b/arch/arm/mach-exynos4/mach-smdkv310.c @@ -33,6 +33,8 @@ #include #include #include +#include +#include #include @@ -167,6 +169,16 @@ static struct i2c_board_info i2c_devs1[] __initdata = { {I2C_BOARD_INFO("wm8994", 0x1a),}, }; +/* USB EHCI */ +static struct s5p_ehci_platdata smdkv310_ehci_pdata; + +static void __init smdkv310_ehci_init(void) +{ + struct s5p_ehci_platdata *pdata = &smdkv310_ehci_pdata; + + s5p_ehci_set_platdata(pdata); +} + static struct platform_device *smdkv310_devices[] __initdata = { &s3c_device_hsmmc0, &s3c_device_hsmmc1, @@ -176,6 +188,7 @@ static struct platform_device *smdkv310_devices[] __initdata = { &s5p_device_i2c_hdmiphy, &s3c_device_rtc, &s3c_device_wdt, + &s5p_device_ehci, &exynos4_device_ac97, &exynos4_device_i2s0, &samsung_device_keypad, @@ -276,6 +289,9 @@ static void __init smdkv310_machine_init(void) samsung_bl_set(&smdkv310_bl_gpio_info, &smdkv310_bl_data); + smdkv310_ehci_init(); + clk_xusbxti.rate = 24000000; + platform_add_devices(smdkv310_devices, ARRAY_SIZE(smdkv310_devices)); s5p_device_mfc.dev.parent = &exynos4_device_pd[PD_MFC].dev; }