ARM: EXYNOS4: Add usb ehci device to the NURI board
authorJoonyoung Shim <jy0922.shim@samsung.com>
Fri, 8 Apr 2011 04:22:11 +0000 (13:22 +0900)
committerGreg Kroah-Hartman <gregkh@suse.de>
Wed, 13 Apr 2011 23:53:30 +0000 (16:53 -0700)
This patch is to support usb ehci device to the NURI board.

Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
arch/arm/mach-exynos4/Kconfig
arch/arm/mach-exynos4/mach-nuri.c

index e849f67..8051962 100644 (file)
@@ -170,6 +170,7 @@ config MACH_NURI
        select S3C_DEV_HSMMC3
        select S3C_DEV_I2C1
        select S3C_DEV_I2C5
+       select S5P_DEV_USB_EHCI
        select EXYNOS4_SETUP_I2C1
        select EXYNOS4_SETUP_I2C5
        select EXYNOS4_SETUP_SDHCI
index b79ad01..bb5d12f 100644 (file)
@@ -30,6 +30,8 @@
 #include <plat/cpu.h>
 #include <plat/devs.h>
 #include <plat/sdhci.h>
+#include <plat/ehci.h>
+#include <plat/clock.h>
 
 #include <mach/map.h>
 
@@ -262,6 +264,16 @@ static struct i2c_board_info i2c5_devs[] __initdata = {
        /* max8997, To be updated */
 };
 
+/* USB EHCI */
+static struct s5p_ehci_platdata nuri_ehci_pdata;
+
+static void __init nuri_ehci_init(void)
+{
+       struct s5p_ehci_platdata *pdata = &nuri_ehci_pdata;
+
+       s5p_ehci_set_platdata(pdata);
+}
+
 static struct platform_device *nuri_devices[] __initdata = {
        /* Samsung Platform Devices */
        &emmc_fixed_voltage,
@@ -270,6 +282,7 @@ static struct platform_device *nuri_devices[] __initdata = {
        &s3c_device_hsmmc3,
        &s3c_device_wdt,
        &s3c_device_timer[0],
+       &s5p_device_ehci,
 
        /* NURI Devices */
        &nuri_gpio_keys,
@@ -291,6 +304,9 @@ static void __init nuri_machine_init(void)
        i2c_register_board_info(1, i2c1_devs, ARRAY_SIZE(i2c1_devs));
        i2c_register_board_info(5, i2c5_devs, ARRAY_SIZE(i2c5_devs));
 
+       nuri_ehci_init();
+       clk_xusbxti.rate = 24000000;
+
        /* Last */
        platform_add_devices(nuri_devices, ARRAY_SIZE(nuri_devices));
 }