From: Tony Lindgren Date: Tue, 11 Jan 2011 23:31:45 +0000 (-0800) Subject: omap4: Fix ULPI PHY init for ES1.0 SDP X-Git-Tag: v3.0~2080^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7d4ca85a53bab1f6f9911411be38e0486a11187a;p=platform%2Fkernel%2Flinux-amlogic.git omap4: Fix ULPI PHY init for ES1.0 SDP Commit 6aa85a5ae610106d89e50c7e1f760c56d12f9bc4 (omap4: 4430sdp: enable the ehci port on 4430SDP) added code to enable EHCI support on 4430sdp board. Looks like the ULPI pin does not seem to be muxed properly on ES1.0 SDP and this causes the system to reboot when the ULPI PHY is enabled. Fix this by muxing the pin, this is the same setting for both ES1.0 and ES2.0. Also add checking for gpio_request. Cc: Keshava Munegowda --- diff --git a/arch/arm/mach-omap2/board-4430sdp.c b/arch/arm/mach-omap2/board-4430sdp.c index a70bdf2..07d1b20 100644 --- a/arch/arm/mach-omap2/board-4430sdp.c +++ b/arch/arm/mach-omap2/board-4430sdp.c @@ -554,6 +554,7 @@ static void __init omap_sfh7741prox_init(void) #ifdef CONFIG_OMAP_MUX static struct omap_board_mux board_mux[] __initdata = { + OMAP4_MUX(USBB2_ULPITLL_CLK, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT), { .reg_offset = OMAP_MUX_TERMINATOR }, }; #else @@ -576,11 +577,12 @@ static void __init omap_4430sdp_init(void) omap4_twl6030_hsmmc_init(mmc); /* Power on the ULPI PHY */ - if (gpio_is_valid(OMAP4SDP_MDM_PWR_EN_GPIO)) { - /* FIXME: Assumes pad is already muxed for GPIO mode */ - gpio_request(OMAP4SDP_MDM_PWR_EN_GPIO, "USBB1 PHY VMDM_3V3"); + status = gpio_request(OMAP4SDP_MDM_PWR_EN_GPIO, "USBB1 PHY VMDM_3V3"); + if (status) + pr_err("%s: Could not get USBB1 PHY GPIO\n", __func__); + else gpio_direction_output(OMAP4SDP_MDM_PWR_EN_GPIO, 1); - } + usb_ehci_init(&ehci_pdata); usb_musb_init(&musb_board_data);