omap4: 4430sdp: drop ehci support
Subsystems (3)
PATCH 1/2 omap4: 4430sdp: drop ehci support
Most revisions of the OMAP4 Blaze/SDP platform do not have the EHCI signals routed by default. The pads are routed for the alternate HSI functionality instead, and explicit board modifications are needed to route the signals to the USB PHY on the board.
Also, turning on the PHY connected to the EHCI port causes a board reboot during bootup due to an unintended short on the rails - this affects many initial revisions of the board, and needs a minor board mod to fix (or as a workaround, one should not attempt to power on the USB PHY).
Given that these boards need explicit board mods to even get EHCI working (separate from the accidental short above), we should not attempt to enable EHCI by default.
So drop the EHCI support from the board files for the Blaze/SDP platforms.
---
arch/arm/mach-omap2/board-4430sdp.c | 20 -------------------- 1 file changed, 20 deletions(-)
arch/arm/mach-omap2/board-4430sdp.c +0 -19
@@ -44,7 +44,6 @@#define ETH_KS8851_IRQ 34#define ETH_KS8851_POWER_ON 48#define ETH_KS8851_QUART 138 -#define OMAP4SDP_MDM_PWR_EN_GPIO 157#define OMAP4_SFH7741_SENSOR_OUTPUT_GPIO 184#define OMAP4_SFH7741_ENABLE_GPIO 188
@@ -251,16 +250,6 @@ static void __init omap_4430sdp_init_irqgic_init_irq (); } -static const struct ehci_hcd_omap_platform_data ehci_pdata__initconst = { - .port_mode[0 ] =EHCI_HCD_OMAP_MODE_PHY , - .port_mode[1 ] =EHCI_HCD_OMAP_MODE_UNKNOWN , - .port_mode[2 ] =EHCI_HCD_OMAP_MODE_UNKNOWN , - .phy_reset = false, - .reset_gpio_port[0 ] = -EINVAL , - .reset_gpio_port[1 ] = -EINVAL , - .reset_gpio_port[2 ] = -EINVAL , -}; -static struct omap_musb_board_data musb_board_data = { .interface_type =MUSB_INTERFACE_UTMI , .mode =MUSB_OTG ,
@@ -576,14 +564,6 @@ static void __init omap_4430sdp_init(voiomap_serial_init ();omap4_twl6030_hsmmc_init (mmc); -/* Power on the ULPI PHY */ - 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); status =omap_ethernet_init ();
PATCH 2/2 omap4: 4430sdp: mux GPIO_157 to safe mode
Commit 7d4ca85a5 (omap4: Fix ULPI PHY init for ES1.0 SDP) changed the mux mode of the pad for GPIO_157 to HSI_MODE by accident - the original intent was to mux it properly to solve a board reboot problem.
The board reboot is caused by a bug on many revs of the board that causes an accidental short circuilt when this pad is driven high. To ensure this never happens (even with misbehaving bootloaders), mux the pad to safe mode instead.
--- arch/arm/mach-omap2/board-4430sdp.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-)
arch/arm/mach-omap2/board-4430sdp.c +9 -1
@@ -543,7 +543,15 @@ static void __init omap_sfh7741prox_init#ifdef CONFIG_OMAP_MUX static struct omap_board_mux board_mux[]__initdata = { -OMAP4_MUX (USBB2_ULPITLL_CLK ,OMAP_MUX_MODE4 |OMAP_PIN_OUTPUT ), +/* +* USBB2_ULPITLL_CLK/GPIO_157 controls the circuitry +* that turns on the PHY connected to the EHCI port. +* several revisions of the Blaze are affected by +* an accidental short-circuit that causes a reboot +* if this pad is driven high. So, explicitly configure +* the pad in safe mode to ensure this never happens +*/ +OMAP4_MUX (USBB2_ULPITLL_CLK ,OMAP_MUX_MODE7 ), { .reg_offset =OMAP_MUX_TERMINATOR }, };#else
PATCH 1/2 omap4: 4430sdp: drop ehci support
In reply to Anand GadiyarQuoted 17 lines · Anand Gadiyar
Most revisions of the OMAP4 Blaze/SDP platform do not have the EHCI signals routed by default. The pads are routed for the alternate HSI functionality instead, and explicit board modifications are needed to route the signals to the USB PHY on the board.
Also, turning on the PHY connected to the EHCI port causes a board reboot during bootup due to an unintended short on the rails - this affects many initial revisions of the board, and needs a minor board mod to fix (or as a workaround, one should not attempt to power on the USB PHY).
Given that these boards need explicit board mods to even get EHCI working (separate from the accidental short above), we should not attempt to enable EHCI by default.
Quoted 6 lines
So drop the EHCI support from the board files for the Blaze/SDP platforms.
Signed-off-by Anand Gadiyar <[email protected]>Cc Keshava Munegowda <[email protected]>Cc Tony Lindgren <[email protected]>
Tony, if you want to queue this one directly, here's my:
if you wish, I can send you a pull request as well. I already have another patch for you anyway.
Signature · 1 line
balbi
Tony Lindgren
maintainerPATCH 1/2 omap4: 4430sdp: drop ehci support
Quoted 25 lines · Felipe Balbi
Quoted 17 lines · Anand Gadiyar
Most revisions of the OMAP4 Blaze/SDP platform do not have the EHCI signals routed by default. The pads are routed for the alternate HSI functionality instead, and explicit board modifications are needed to route the signals to the USB PHY on the board.
Also, turning on the PHY connected to the EHCI port causes a board reboot during bootup due to an unintended short on the rails - this affects many initial revisions of the board, and needs a minor board mod to fix (or as a workaround, one should not attempt to power on the USB PHY).
Given that these boards need explicit board mods to even get EHCI working (separate from the accidental short above), we should not attempt to enable EHCI by default.
Quoted 6 lines
So drop the EHCI support from the board files for the Blaze/SDP platforms.
Signed-off-by Anand Gadiyar <[email protected]>Cc Keshava Munegowda <[email protected]>Cc Tony Lindgren <[email protected]>
Quoted 6 lines
Tony, if you want to queue this one directly, here's my:
Acked-by Felipe Balbi <[email protected]>if you wish, I can send you a pull request as well. I already have another patch for you anyway.
OK if you have more I'd rather pull.
Tony
PATCH 1/2 omap4: 4430sdp: drop ehci support
Quoted 26 lines · Tony Lindgren
Quoted 25 lines · Felipe Balbi
Quoted 23 lines · Anand Gadiyar
Most revisions of the OMAP4 Blaze/SDP platform do not have the EHCI signals routed by default. The pads are routed for the alternate HSI functionality instead, and explicit board modifications are needed to route the signals to the USB PHY on the board.
Also, turning on the PHY connected to the EHCI port causes a board reboot during bootup due to an unintended short on the rails - this affects many initial revisions of the board, and needs a minor board mod to fix (or as a workaround, one should not attempt to power on the USB PHY).
Given that these boards need explicit board mods to even get EHCI working (separate from the accidental short above), we should not attempt to enable EHCI by default.
So drop the EHCI support from the board files for the Blaze/SDP platforms.
Signed-off-by Anand Gadiyar <[email protected]>Cc Keshava Munegowda <[email protected]>Cc Tony Lindgren <[email protected]>
Quoted 8 lines
Quoted 6 lines
Tony, if you want to queue this one directly, here's my:
Acked-by Felipe Balbi <[email protected]>if you wish, I can send you a pull request as well. I already have another patch for you anyway.
OK if you have more I'd rather pull.
ok. Taken.
Signature · 1 line
balbi
Felipe Balbi
AppliedPATCH 1/2 omap4: 4430sdp: drop ehci support
In reply to Anand GadiyarQuoted 17 lines · Anand Gadiyar
Most revisions of the OMAP4 Blaze/SDP platform do not have the EHCI signals routed by default. The pads are routed for the alternate HSI functionality instead, and explicit board modifications are needed to route the signals to the USB PHY on the board.
Also, turning on the PHY connected to the EHCI port causes a board reboot during bootup due to an unintended short on the rails - this affects many initial revisions of the board, and needs a minor board mod to fix (or as a workaround, one should not attempt to power on the USB PHY).
Given that these boards need explicit board mods to even get EHCI working (separate from the accidental short above), we should not attempt to enable EHCI by default.
Quoted 6 lines
So drop the EHCI support from the board files for the Blaze/SDP platforms.
Signed-off-by Anand Gadiyar <[email protected]>Cc Keshava Munegowda <[email protected]>Cc Tony Lindgren <[email protected]>
applied, thanks.
Signature · 1 line
balbi
PATCH 1/2 omap4: 4430sdp: drop ehci support
In reply to Anand GadiyarQuoted 6 lines · Anand Gadiyar
Most revisions of the OMAP4 Blaze/SDP platform do not have the EHCI signals routed by default. The pads are routed for the alternate HSI functionality instead, and explicit board modifications are needed to route the signals to the USB PHY on the board.
Quoted 6 lines
Also, turning on the PHY connected to the EHCI port causes a board reboot during bootup due to an unintended short on the rails - this affects many initial revisions of the board, and needs a minor board mod to fix (or as a workaround, one should not attempt to power on the USB PHY).
It's probably a good idea to put some comment in the code to that effect - people don't generally look at the history when adding new features. It's probably also a good idea to claim the GPIO for the PHY power control and ensure that it's set to 'off' mode - that code can then be a placeholder for the comment.
PATCH 1/2 omap4: 4430sdp: drop ehci support
Quoted 14 lines · Russell King - ARM Linux
Quoted 6 lines · Anand Gadiyar
Most revisions of the OMAP4 Blaze/SDP platform do not have the EHCI signals routed by default. The pads are routed for the alternate HSI functionality instead, and explicit board modifications are needed to route the signals to the USB PHY on the board.
Quoted 6 lines
Also, turning on the PHY connected to the EHCI port causes a board reboot during bootup due to an unintended short on the rails - this affects many initial revisions of the board, and needs a minor board mod to fix (or as a workaround, one should not attempt to power on the USB PHY).
Quoted 3 lines
It's probably a good idea to put some comment in the code to that effect - people don't generally look at the history when adding new features.
I did part of this in patch 2/2.
I've muxed the pad in "safe mode" which turns off the output drivers for the pad - so it can no longer drive a 1.
I've also placed a big warning above that line explaining why.
Quoted 3 lines
It's probably also a good idea to claim the GPIO for the PHY power control and ensure that it's set to 'off' mode - that code can then be a placeholder for the comment.
This is a good idea too. Tony, if you concur, I'll go respin this series.
- Anand