arm: tegra: Enable Host mode on USB3 port
[linux-2.6.git] / arch / arm / mach-tegra / board-cardhu.c
index e01372f..235b1cc 100644 (file)
@@ -63,7 +63,7 @@ static struct plat_serial8250_port debug_uart_platform_data[] = {
                .type           = PORT_TEGRA,
                .iotype         = UPIO_MEM,
                .regshift       = 2,
-               .uartclk        = 13000000,
+               .uartclk        = 216000000,
        }, {
                .flags          = 0,
        }
@@ -145,22 +145,23 @@ static inline void cardhu_bt_rfkill(void) { }
 
 static __initdata struct tegra_clk_init_table cardhu_clk_init_table[] = {
        /* name         parent          rate            enabled */
-       { "uarta",      "clk_m",        13000000,       true},
+       { "uarta",      "pll_p",        216000000,      true},
        { "uartb",      "clk_m",        13000000,       true},
        { "uartc",      "clk_m",        13000000,       true},
        { "uartd",      "clk_m",        13000000,       true},
        { "uarte",      "clk_m",        13000000,       true},
        { "pll_m",      NULL,           0,              true},
-       { "blink",      "clk_32k",      32768,          false},
        { "pll_p_out4", "pll_p",        24000000,       true },
        { "pwm",        "clk_32k",      32768,          false},
-       { "blink",      "clk_32k",      32768,          false},
+       { "blink",      "clk_32k",      32768,          true},
        { "pll_a",      NULL,           56448000,       true},
        { "pll_a_out0", NULL,           11289600,       true},
        { "i2s1",       "pll_a_out0",   11289600,       true},
        { "i2s2",       "pll_a_out0",   11289600,       true},
        { "audio",      "pll_a_out0",   11289600,       true},
        { "audio_2x",   "audio",        22579200,       true},
+       { "sdmmc3",     "clk_m",        12000000,       true},
+       { "sdmmc1",     "clk_m",        12000000,       true},
        { NULL,         NULL,           0,              0},
 };
 
@@ -242,9 +243,7 @@ static struct platform_device tegra_rtc_device = {
 };
 
 static struct platform_device *cardhu_devices[] __initdata = {
-#if ENABLE_USB_HOST
        &tegra_otg_device,
-#endif
        &debug_uart,
        &tegra_uartb_device,
        &tegra_uartc_device,
@@ -287,13 +286,11 @@ static struct tegra_ehci_platform_data tegra_ehci_pdata[] = {
        },
 };
 
-#if ENABLE_USB_HOST
 static void cardhu_usb_init(void)
 {
        tegra_ehci3_device.dev.platform_data = &tegra_ehci_pdata[2];
        platform_device_register(&tegra_ehci3_device);
 }
-#endif
 
 struct platform_device *tegra_usb_otg_host_register(void)
 {
@@ -365,11 +362,10 @@ static void __init tegra_cardhu_init(void)
        cardhu_sdhci_init();
        cardhu_i2c_init();
        cardhu_regulator_init();
+       cardhu_gpio_switch_regulator_init();
        cardhu_suspend_init();
        cardhu_touch_init();
-#if ENABLE_USB_HOST
        cardhu_usb_init();
-#endif
 
 #ifdef CONFIG_KEYBOARD_TEGRA
        cardhu_kbc_init();
@@ -391,7 +387,7 @@ static void __init tegra_cardhu_init(void)
 
 static void __init tegra_cardhu_reserve(void)
 {
-       tegra_reserve(SZ_32M, SZ_4M, 0);
+       tegra_reserve(SZ_128M, SZ_4M, SZ_8M);
 }
 
 MACHINE_START(CARDHU, "cardhu")