From: Nicolas Pitre Date: Tue, 3 Mar 2009 04:44:41 +0000 (-0500) Subject: [ARM] Kirkwood: SheevaPlug USB Power Enable setup X-Git-Tag: v2.6.30-rc1~636^2~18^2~3 X-Git-Url: http://bbs.cooldavid.org/git/?a=commitdiff_plain;h=3ec0d47427be9ff5b82ba5c5e853c691a942ed65;p=net-next-2.6.git [ARM] Kirkwood: SheevaPlug USB Power Enable setup Ideally, the default should be set to 0 and let the EHCI driver turn it on as needed. This makes USB usable in the mean time. Signed-off-by: Nicolas Pitre --- diff --git a/arch/arm/mach-kirkwood/sheevaplug-setup.c b/arch/arm/mach-kirkwood/sheevaplug-setup.c index d48989dfe4d..c1cb9f4d346 100644 --- a/arch/arm/mach-kirkwood/sheevaplug-setup.c +++ b/arch/arm/mach-kirkwood/sheevaplug-setup.c @@ -14,12 +14,14 @@ #include #include #include +#include #include #include #include #include #include #include "common.h" +#include "mpp.h" static struct mtd_partition sheevaplug_nand_parts[] = { { @@ -71,15 +73,26 @@ static struct mvsdio_platform_data sheevaplug_mvsdio_data = { // unfortunately the CD signal has not been connected */ }; +static unsigned int sheevaplug_mpp_config[] __initdata = { + MPP29_GPIO, /* USB Power Enable */ + 0 +}; + static void __init sheevaplug_init(void) { /* * Basic setup. Needs to be called early. */ kirkwood_init(); + kirkwood_mpp_conf(sheevaplug_mpp_config); kirkwood_uart0_init(); + + if (gpio_request(29, "USB Power Enable") != 0 || + gpio_direction_output(29, 1) != 0) + printk(KERN_ERR "can't set up GPIO 29 (USB Power Enable)\n"); kirkwood_ehci_init(); + kirkwood_ge00_init(&sheevaplug_ge00_data); kirkwood_sdio_init(&sheevaplug_mvsdio_data);