[U-Boot] [PATCH v2 2/4] board: ti: am57xx: Fix USB configuration

Roger Quadros rogerq at ti.com
Mon May 16 11:49:26 CEST 2016


On 16/05/16 12:26, Roger Quadros wrote:
> On 16/05/16 12:06, Roger Quadros wrote:
>> On 13/05/16 15:45, Marek Vasut wrote:
>>> On 05/13/2016 02:36 PM, Roger Quadros wrote:
>>>> Currently CONFIG_USB_DWC3 is not selected so doing a usb start
>>>> command results in a serious error [1].
>>>
>>> Why does this error happen ? That is what should be fixed. Selecting
>>> some random options seems like papering over a bug.
>>
>> Agreed. I was lazy :P.
> 
> OK. The issue is like this.
> 
> CONFIG_CMD_USB and CONFIG_USB_XHCI is defined, so usb_init() calls
> usb_lowlevel_init() in xhci.c which calls xhci_hcd_init in xhci-omap.c which calls
> board_usb_init().
> 
> But board_usb_init() in am57xx/board.c is defined only if CONFIG_USB_DWC3 is defined
> and that is missing in am57xx_evm.h leading to the serious error. We're trying to
> access the IP without turning on the necessary clocks.
> 
> So it looks like we need to define it based on CONFIG_USB_XHCI_OMAP or something else.
> 
> But then again looking into the future, what if we want only gadget operation?
> That would not define XHCI, but we still need board_usb_init(). So board_usb_init()
> should be defined based on CONFIG_CMD_USB=y?
> 
> What do you suggest?

But board_usb_init() calls 

                ti_usb_phy_uboot_init(&usb_phy1_device);
                dwc3_omap_uboot_init(&usb_otg_ss1_glue);
                dwc3_uboot_init(&usb_otg_ss1);

which depend on CONFIG_USB_DWC3_PHY_OMAP, CONFIG_USB_DWC3_OMAP and CONFIG_USB_DWC3
respectively.

So I really don't know how to fix all this.


--
cheers,
-roger

>>
>>>
>>>> Fix that by enabling CONFIG_USB_DWC3 and other related options
>>>> CONFIG_USB_DWC3_PHY_OMAP and CONFIG_USB_DWC3_OMAP.
>>>>
>>>> [1]
>>>> => usb start
>>>> starting USB...
>>>> USB0:   data abort
>>>> pc : [<fff7ed10>]          lr : [<fff7ebbf>]
>>>> reloc pc : [<8081dd10>]    lr : [<8081dbbf>]
>>>> sp : fef3d260  ip : 00000000     fp : fef3d2a8
>>>> r10: fffa4610  r9 : fef50ed0     r8 : 00000000
>>>> r7 : fef3d280  r6 : fef3d284     r5 : fffbc380  r4 : 00000000
>>>> r3 : 48880000  r2 : 00000000     r1 : 00000000  r0 : fffbc380
>>>> Flags: nzcv  IRQs off  FIQs off  Mode SVC_32
>>>> Resetting CPU ...
>>>>
>>>> Signed-off-by: Roger Quadros <rogerq at ti.com>
>>>> ---
>>>>  include/configs/am57xx_evm.h | 3 +++
>>>>  1 file changed, 3 insertions(+)
>>>
>>> Changelog is missing ;-)
>>>
>>>> diff --git a/include/configs/am57xx_evm.h b/include/configs/am57xx_evm.h
>>>> index 32d7d4d..939057c 100644
>>>> --- a/include/configs/am57xx_evm.h
>>>> +++ b/include/configs/am57xx_evm.h
>>>> @@ -63,6 +63,7 @@
>>>>  #define CONFIG_SUPPORT_EMMC_BOOT
>>>>  
>>>>  /* USB xHCI HOST */
>>>> +#define CONFIG_USB_DWC3
>>>>  #define CONFIG_USB_HOST
>>>>  #define CONFIG_USB_XHCI_DWC3
>>>>  #define CONFIG_USB_XHCI
>>>> @@ -72,6 +73,8 @@
>>>>  
>>>>  #define CONFIG_OMAP_USB_PHY
>>>>  #define CONFIG_OMAP_USB3PHY1_HOST
>>>> +#define CONFIG_USB_DWC3_PHY_OMAP
>>>> +#define CONFIG_USB_DWC3_OMAP
>>>>  
>>>>  /* SATA */
>>>>  #define CONFIG_BOARD_LATE_INIT
>>>>
>>>
>>>
>> _______________________________________________
>> U-Boot mailing list
>> U-Boot at lists.denx.de
>> http://lists.denx.de/mailman/listinfo/u-boot
>>
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot
> 


More information about the U-Boot mailing list