From fa1686466da2263ffc37eecb6ab93f2799a9dd5b Mon Sep 17 00:00:00 2001 From: Tony Lindgren Date: Tue, 11 Jan 2011 15:31:45 -0800 Subject: [PATCH] omap4: Fix ULPI PHY init for ES1.0 SDP Commit f30d8bad18e42653ac5c04fc10a28d79c76488e8 (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 --- arch/arm/mach-omap2/board-4430sdp.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/arch/arm/mach-omap2/board-4430sdp.c b/arch/arm/mach-omap2/board-4430sdp.c index a70bdf28e2bc2..07d1b20b11486 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); -- 2.39.5