[U-Boot] [PATCH 2/4] usb: add 'bcm_udc_otg' support

Steve Rae srae at broadcom.com
Sat Jan 24 00:48:15 CET 2015


On 15-01-21 11:05 PM, Marek Vasut wrote:
> On Tuesday, January 20, 2015 at 11:42:08 PM, Steve Rae wrote:
>> Implement the UDC support for the USB OTG interface.
>>
>> Signed-off-by: Steve Rae <srae at broadcom.com>
>> ---
>
> General question -- this bcm controller you're adding here isn't by
> any chance a DWC2 controller, or is it ? There's already a driver
> for DWC2 in drivers/usb/gadget/s3c_udc_otg.c . This driver should really
> be properly renamed though ;-/
>
> If this is not DWC2, do you know what controller this is please ?

yes -- it is a DWC2....

So, I have had a quick look at the s3c_udc_otg*.c code....

First observation is that there is a completely different philosophy in 
the implementation. For example, the the interrupt handler routine(s), 
Broadcom is using #defines (sysmap.h which BTW are autogenerated by our 
Device Team) whereas "S3C" is using a "s3c_usbotg_reg" structure for the 
'address' and #defines for the 'data/masks'. I'm not suggesting that one 
is better than the other, they are just different.

So, how do we proceed?
- is the ultimate goal to get to a proper gadget driver for DWC2? (I 
don't really know enough about this yet, so I apologize for these 
questions....)
- is the "S3C" code a proper 'gadget' driver and/or is it a better 
starting point to get to a gadget driver?
- I don't have enough time right now to really investigate the existing 
"S3C" and implement it on our board(s); they are significantly different 
and it looks like it will take a lot of effort - is there someone (Denx 
or community) that could assist me?
- Could we continue to review this patchset and accept it; then 
establish a team to provide a "DWC2 gadget" that could be used going 
forward?
    Note: this patchset is relatively small:
    6938ae5 usb: fastboot: implement fastboot
    M       drivers/usb/gadget/Makefile
    A       drivers/usb/gadget/bcm_usb_gadget.c
    M       include/configs/bcm28155_ap.h
    b85657d usb: update 'sysmap.h'
    M       arch/arm/include/asm/arch-bcm281xx/sysmap.h
    d590d41 usb: add 'bcm_udc_otg' support
    A       drivers/usb/gadget/bcm_udc_otg.c
    A       drivers/usb/gadget/bcm_udc_otg.h
    5f1d857 usb: gadget: fastboot: add CONFIG_FASTBOOT_NO_GADGET support
    M       drivers/usb/gadget/f_fastboot.c

Thanks in advance, Steve

>
> [...]
[... snip ...]


More information about the U-Boot mailing list