[U-Boot] [PATCH] usb: dwc2_udc_otg: support 8-bit interface

Steve Rae steve.rae at broadcom.com
Mon Jun 6 18:50:45 CEST 2016


On Mon, Jun 6, 2016 at 9:30 AM, Marek Vasut <marex at denx.de> wrote:

> On 06/06/2016 06:15 PM, Steve Rae wrote:
> > On Mon, Jun 6, 2016 at 8:59 AM, Marek Vasut <marex at denx.de> wrote:
> >>
> >> On 06/06/2016 05:57 PM, Steve Rae wrote:
> >>> Define CONFIG_USB_GADGET_DWC2_PHY_8_BIT to allow the
> >>> physical interface to be 8-bit (rather than 16-bit).
> >>>
> >>> Signed-off-by: Steve Rae <srae at broadcom.com>
> >>
> >> Can this config option be picked from DT rather than hard-coded by some
> >> new ad-hoc config option ? Also, new options should be Kconfig'd .
> >>
> >> Thanks
> >>
> >
> > Marek,
>
> Hi,
>
> > would this be the correct place to add this Kconfig???
> > is the wording sufficient?
> > Thanks, Steve
> >
> > diff --git a/drivers/usb/gadget/Kconfig b/drivers/usb/gadget/Kconfig
> > index a35a1c7..e957df4 100644
> > --- a/drivers/usb/gadget/Kconfig
> > +++ b/drivers/usb/gadget/Kconfig
> > @@ -45,20 +45,26 @@ config USB_GADGET_ATMEL_USBA
> >
> >  config USB_GADGET_DWC2_OTG
> >         bool "DesignWare USB2.0 HS OTG controller (gadget mode)"
> >         select USB_GADGET_DUALSPEED
> >         help
> >           The Designware USB2.0 high-speed gadget controller
> >           integrated into many SoCs. Select this option if you want the
> >           driver to operate in Peripheral mode. This option requires
> >           USB_GADGET to be enabled.
> >
> > +config USB_GADGET_DWC2_PHY_8_BIT
> > +       bool "DesignWare USB2.0 controller (gadget mode)"
>
> This is wrong, right ?
>
(see below)

>
> > +       help
> > +         Set the Designware USB2.0 high-speed gadget controller
> > +         to 8-bit mode, rather than the default 16-bit mode.
>
> You mean 8bit mode ULPI, don't you ?
>
(see below)

>
> >  config CI_UDC
> >         bool "ChipIdea device controller"
> >         select USB_GADGET_DUALSPEED
> >         help
> >           Say Y here to enable device controller functionality of the
> >           ChipIdea driver.
> >
> >  config USB_GADGET_VBUS_DRAW
> >         int "Maximum VBUS Power usage (2-500 mA)"
> >         range 2 500
> >
> >>
> >>> ---
> >>>
> >>>  drivers/usb/gadget/dwc2_udc_otg.c | 4 ++++
> >>>  include/configs/bcm28155_ap.h     | 1 +
> >>>  2 files changed, 5 insertions(+)
> >>>
> >>> diff --git a/drivers/usb/gadget/dwc2_udc_otg.c
> b/drivers/usb/gadget/dwc2_udc_otg.c
> >>> index cb20b00..a95c8d5 100644
> >>> --- a/drivers/usb/gadget/dwc2_udc_otg.c
> >>> +++ b/drivers/usb/gadget/dwc2_udc_otg.c
> >>> @@ -415,7 +415,11 @@ static void reconfig_usbd(struct dwc2_udc *dev)
> >>>               |0<<7           /* Ulpi DDR sel*/
> >>>               |0<<6           /* 0: high speed utmi+, 1: full speed
> serial*/
> >>>               |0<<4           /* 0: utmi+, 1:ulpi*/
> >>> +#ifdef CONFIG_USB_GADGET_DWC2_PHY_8_BIT
> >>> +             |0<<3           /* phy i/f  0:8bit, 1:16bit*/
> >>> +#else
> >>>               |1<<3           /* phy i/f  0:8bit, 1:16bit*/
> >>> +#endif
> >>>               |0x7<<0;        /* HS/FS Timeout**/
>

Marek,
The _only_ thing that I know is that this structure contains settings to
make the USB-OTG interface work on Broadcom boards. Broadcom "hardcoded"
these values to "utmi+" and "8bit" ("years ago"...), and I am attempting to
upstream this change (which I think requires a CONFIG option -- so that I
don't break the current usage; unless there is a better method???)
So what this CONFIG is "called" and what is its "explanation" is completely
unknown to me -- hence, I am asking for help in determining what the
Kconfig option should actually be....
Thanks in advance, Steve

>>>
> >>>       if (dev->pdata->usb_gusbcfg)
> >>> diff --git a/include/configs/bcm28155_ap.h
> b/include/configs/bcm28155_ap.h
> >>> index 889e5db..e04cfbe 100644
> >>> --- a/include/configs/bcm28155_ap.h
> >>> +++ b/include/configs/bcm28155_ap.h
> >>> @@ -134,6 +134,7 @@
> >>>  #define CONFIG_SYS_CACHELINE_SIZE    64
> >>>  #define CONFIG_FASTBOOT_BUF_SIZE     (CONFIG_SYS_SDRAM_SIZE - SZ_1M)
> >>>  #define CONFIG_FASTBOOT_BUF_ADDR     CONFIG_SYS_SDRAM_BASE
> >>> +#define CONFIG_USB_GADGET_DWC2_PHY_8_BIT
> >>>  #define CONFIG_USB_GADGET_BCM_UDC_OTG_PHY
> >>>  #define CONFIG_USBID_ADDR            0x34052c46
> >>>
> >>>
> >>
> >>
> >> --
> >> Best regards,
> >> Marek Vasut
>
>
> --
> Best regards,
> Marek Vasut
>


More information about the U-Boot mailing list