[PATCH] omap4: Fix ULPI PHY init for ES1.0 SDP (Re: 4430SDP boot failure)
From: Anand Gadiyar <hidden>
Date: 2011-02-01 12:55:59
Also in:
linux-omap
Tony Lindgren wrote:
quoted hunk ↗ jump to hunk
Here's one more es1.0 fix after the recent USB changes. Regards, Tony Author: Tony Lindgren [off-list ref] Date: Tue Jan 11 15:03:03 2011 -0800 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 <keshava_mgowda@ti.com Signed-off-by: Tony Lindgren [off-list ref]--- 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
Tony, I believe this fix is fixing your reboot issue, but it's breaking EHCI support on the SDP. The MODE4 above should really be MODE3 - all GPIOs are on MODE3. By changing The patch snippet below fixes EHCI on the SDP, but I believe that making this change will reintroduce the "board reboots" issue you originally reported. Could you check and tell me if this is the case? Just curious - is your board a Blaze, or an SDP?
diff --git a/arch/arm/mach-omap2/board-4430sdp.cb/arch/arm/mach-omap2/board-4430sdp.c index 07d1b20..ab9fb4d 100644
--- a/arch/arm/mach-omap2/board-4430sdp.c
+++ b/arch/arm/mach-omap2/board-4430sdp.c@@ -554,7 +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), + OMAP4_MUX(USBB2_ULPITLL_CLK, OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT), { .reg_offset = OMAP_MUX_TERMINATOR }, }; #else