ARM: EXYNOS: Add s3c-hsotg device support for NURI board
Joonyoung Shim [Sat, 12 May 2012 23:25:24 +0000 (08:25 +0900)]
This patch adds hsotg device to the NURI board.

Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
[Rebased on the newest git/kgene/linux-samsung #for-next]
Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>

arch/arm/mach-exynos/Kconfig
arch/arm/mach-exynos/mach-nuri.c

index b8df521..cbe0dad 100644 (file)
@@ -280,6 +280,7 @@ config MACH_NURI
        select S3C_DEV_I2C3
        select S3C_DEV_I2C5
        select S3C_DEV_I2C6
+       select S3C_DEV_USB_HSOTG
        select S5P_DEV_CSIS0
        select S5P_DEV_JPEG
        select S5P_DEV_FIMC0
index ed90aef..f74c3b7 100644 (file)
@@ -351,6 +351,7 @@ static struct regulator_consumer_supply __initdata max8997_ldo1_[] = {
        REGULATOR_SUPPLY("vdd", "s5p-adc"), /* Used by CPU's ADC drv */
 };
 static struct regulator_consumer_supply __initdata max8997_ldo3_[] = {
+       REGULATOR_SUPPLY("vusb_d", "s3c-hsotg"), /* USB */
        REGULATOR_SUPPLY("vdd11", "s5p-mipi-csis.0"), /* MIPI */
 };
 static struct regulator_consumer_supply __initdata max8997_ldo4_[] = {
@@ -366,7 +367,7 @@ static struct regulator_consumer_supply __initdata max8997_ldo7_[] = {
        REGULATOR_SUPPLY("dig_18", "0-001f"), /* HCD803 */
 };
 static struct regulator_consumer_supply __initdata max8997_ldo8_[] = {
-       REGULATOR_SUPPLY("vusb_d", NULL), /* Used by CPU */
+       REGULATOR_SUPPLY("vusb_a", "s3c-hsotg"), /* USB */
        REGULATOR_SUPPLY("vdac", NULL), /* Used by CPU */
 };
 static struct regulator_consumer_supply __initdata max8997_ldo11_[] = {
@@ -822,6 +823,7 @@ static struct regulator_init_data __initdata max8997_esafeout1_data = {
        .constraints    = {
                .name           = "SAFEOUT1",
                .valid_ops_mask = REGULATOR_CHANGE_STATUS,
+               .always_on      = 1,
                .state_mem      = {
                        .disabled       = 1,
                },
@@ -1079,6 +1081,9 @@ static void __init nuri_ehci_init(void)
        s5p_ehci_set_platdata(pdata);
 }
 
+/* USB OTG */
+static struct s3c_hsotg_plat nuri_hsotg_pdata;
+
 /* CAMERA */
 static struct regulator_consumer_supply cam_vt_cam15_supply =
        REGULATOR_SUPPLY("vdd_core", "6-003c");
@@ -1291,6 +1296,7 @@ static struct platform_device *nuri_devices[] __initdata = {
        &s5p_device_mfc_l,
        &s5p_device_mfc_r,
        &s5p_device_fimc_md,
+       &s3c_device_usb_hsotg,
 
        /* NURI Devices */
        &nuri_gpio_keys,
@@ -1339,6 +1345,7 @@ static void __init nuri_machine_init(void)
        nuri_camera_init();
 
        nuri_ehci_init();
+       s3c_hsotg_set_platdata(&nuri_hsotg_pdata);
 
        /* Last */
        platform_add_devices(nuri_devices, ARRAY_SIZE(nuri_devices));