public inbox for linux-omap@vger.kernel.org
 help / color / mirror / Atom feed
* Hang in usb_musb_init() with 2.6.32-rc5?
@ 2009-11-03 22:28 Bill Gatliff
  2009-11-03 22:31 ` Felipe Balbi
  0 siblings, 1 reply; 2+ messages in thread
From: Bill Gatliff @ 2009-11-03 22:28 UTC (permalink / raw)
  To: linux-omap@vger.kernel.org

Guys:


I'm back!  :)  This time, it's because my Beagleboard-like platform
hangs hard during boot if I call usb_musb_init().

There are more differences between my platform and Beagleboard in this
area, namely that I'm using a different USB transceiver and I'm on hs0. 
But why would the platform hang hard during boot?

Here are what I think are the relevant parts of my config:

CONFIG_SND_USB=y                                     
# CONFIG_SND_USB_AUDIO is not set                    
# CONFIG_SND_USB_CAIAQ is not set                    
CONFIG_USB_SUPPORT=y                                 
CONFIG_USB_ARCH_HAS_HCD=y                            
CONFIG_USB_ARCH_HAS_OHCI=y                           
CONFIG_USB_ARCH_HAS_EHCI=y                           
CONFIG_USB=y                                         
CONFIG_USB_DEBUG=y                                   
CONFIG_USB_ANNOUNCE_NEW_DEVICES=y                    
CONFIG_USB_EHCI_HCD=y                                
# CONFIG_USB_EHCI_ROOT_HUB_TT is not set             
# CONFIG_USB_EHCI_TT_NEWSCHED is not set             
# CONFIG_USB_OXU210HP_HCD is not set                 
# CONFIG_USB_ISP116X_HCD is not set                  
# CONFIG_USB_ISP1760_HCD is not set                  
# CONFIG_USB_ISP1362_HCD is not set                  
CONFIG_USB_OHCI_HCD=y                                
# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set         
# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set         
CONFIG_USB_OHCI_LITTLE_ENDIAN=y                      
CONFIG_USB_MUSB_HDRC=y                               
CONFIG_USB_MUSB_SOC=y                                
# OMAP 343x high speed USB support                   
CONFIG_USB_MUSB_HOST=y                               
# CONFIG_USB_MUSB_PERIPHERAL is not set              
# CONFIG_USB_MUSB_OTG is not set                     
CONFIG_USB_MUSB_HDRC_HCD=y                           
# CONFIG_MUSB_PIO_ONLY is not set                    
CONFIG_USB_INVENTRA_DMA=y                            
CONFIG_USB_MUSB_DEBUG=y                              
CONFIG_NOP_USB_XCEIV=y

I also created some new mux entries that I need:

    omap_cfg_reg(R21_3430_USB0HS_PHY_CLK);
    omap_cfg_reg(R23_3430_USB0HS_PHY_STP);
    omap_cfg_reg(P23_3430_USB0HS_PHY_DIR);
    omap_cfg_reg(R22_3430_USB0HS_PHY_NXT);
    omap_cfg_reg(T24_3430_USB0HS_PHY_D0);
    omap_cfg_reg(T23_3430_USB0HS_PHY_D1);
    omap_cfg_reg(U24_3430_USB0HS_PHY_D2);
    omap_cfg_reg(U23_3430_USB0HS_PHY_D3);
    omap_cfg_reg(W24_3430_USB0HS_PHY_D4);
    omap_cfg_reg(V23_3430_USB0HS_PHY_D5);
    omap_cfg_reg(W23_3430_USB0HS_PHY_D6);
    omap_cfg_reg(T22_3430_USB0HS_PHY_D7);

I'm even doing this, which I'm not sure is necessary:

    ick = clk_get(NULL, "ick");
    if (ick) clk_enable(ick);
...
   usb_musb_init();
...


Any ideas?  Thanks!!


b.g.

-- 
Bill Gatliff
bgat@billgatliff.com


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Hang in usb_musb_init() with 2.6.32-rc5?
  2009-11-03 22:28 Hang in usb_musb_init() with 2.6.32-rc5? Bill Gatliff
@ 2009-11-03 22:31 ` Felipe Balbi
  0 siblings, 0 replies; 2+ messages in thread
From: Felipe Balbi @ 2009-11-03 22:31 UTC (permalink / raw)
  To: ext Bill Gatliff; +Cc: linux-omap@vger.kernel.org

Hi,

On Tue, Nov 03, 2009 at 11:28:04PM +0100, ext Bill Gatliff wrote:
> I'm back!  :)  This time, it's because my Beagleboard-like platform
> hangs hard during boot if I call usb_musb_init().
> 
> There are more differences between my platform and Beagleboard in this
> area, namely that I'm using a different USB transceiver and I'm on hs0. 
> But why would the platform hang hard during boot?
> 
> Here are what I think are the relevant parts of my config:
> 
> CONFIG_SND_USB=y                                     
> # CONFIG_SND_USB_AUDIO is not set                    
> # CONFIG_SND_USB_CAIAQ is not set                    
> CONFIG_USB_SUPPORT=y                                 
> CONFIG_USB_ARCH_HAS_HCD=y                            
> CONFIG_USB_ARCH_HAS_OHCI=y                           
> CONFIG_USB_ARCH_HAS_EHCI=y                           
> CONFIG_USB=y                                         
> CONFIG_USB_DEBUG=y                                   
> CONFIG_USB_ANNOUNCE_NEW_DEVICES=y                    
> CONFIG_USB_EHCI_HCD=y                                
> # CONFIG_USB_EHCI_ROOT_HUB_TT is not set             
> # CONFIG_USB_EHCI_TT_NEWSCHED is not set             
> # CONFIG_USB_OXU210HP_HCD is not set                 
> # CONFIG_USB_ISP116X_HCD is not set                  
> # CONFIG_USB_ISP1760_HCD is not set                  
> # CONFIG_USB_ISP1362_HCD is not set                  
> CONFIG_USB_OHCI_HCD=y                                
> # CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set         
> # CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set         
> CONFIG_USB_OHCI_LITTLE_ENDIAN=y                      
> CONFIG_USB_MUSB_HDRC=y                               
> CONFIG_USB_MUSB_SOC=y                                
> # OMAP 343x high speed USB support                   
> CONFIG_USB_MUSB_HOST=y                               
> # CONFIG_USB_MUSB_PERIPHERAL is not set              
> # CONFIG_USB_MUSB_OTG is not set                     
> CONFIG_USB_MUSB_HDRC_HCD=y                           
> # CONFIG_MUSB_PIO_ONLY is not set                    
> CONFIG_USB_INVENTRA_DMA=y                            
> CONFIG_USB_MUSB_DEBUG=y                              
> CONFIG_NOP_USB_XCEIV=y
> 
> I also created some new mux entries that I need:
> 
>     omap_cfg_reg(R21_3430_USB0HS_PHY_CLK);
>     omap_cfg_reg(R23_3430_USB0HS_PHY_STP);
>     omap_cfg_reg(P23_3430_USB0HS_PHY_DIR);
>     omap_cfg_reg(R22_3430_USB0HS_PHY_NXT);
>     omap_cfg_reg(T24_3430_USB0HS_PHY_D0);
>     omap_cfg_reg(T23_3430_USB0HS_PHY_D1);
>     omap_cfg_reg(U24_3430_USB0HS_PHY_D2);
>     omap_cfg_reg(U23_3430_USB0HS_PHY_D3);
>     omap_cfg_reg(W24_3430_USB0HS_PHY_D4);
>     omap_cfg_reg(V23_3430_USB0HS_PHY_D5);
>     omap_cfg_reg(W23_3430_USB0HS_PHY_D6);
>     omap_cfg_reg(T22_3430_USB0HS_PHY_D7);
> 
> I'm even doing this, which I'm not sure is necessary:
> 
>     ick = clk_get(NULL, "ick");
>     if (ick) clk_enable(ick);
> ...
>    usb_musb_init();
> ...
> 
> 
> Any ideas?  Thanks!!

test with omap-debug branch, enable CONFIG_LL_DEBUG and see what's going
on. I'm guessing you didn't enable any transceiver driver and you're
getting an oops.

-- 
balbi

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2009-11-03 22:32 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-11-03 22:28 Hang in usb_musb_init() with 2.6.32-rc5? Bill Gatliff
2009-11-03 22:31 ` Felipe Balbi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox