lkml.org 
[lkml]   [2014]   [Sep]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [PATCHv4 01/12] usb: dwc2: Update Kconfig to support dual-role
Date

Hi,

On Friday, September 19, 2014 07:02:49 PM Paul Zimmerman wrote:
> > From: Bartlomiej Zolnierkiewicz [mailto:b.zolnierkie@samsung.com]
> > Sent: Friday, September 19, 2014 7:50 AM
> >
> > Unfortunately after second look there are even more problems with Kconfig
> > changes, please see below.
> >
> > > >
> > > >> if USB_DWC2
> > > >>
> > > >> +choice
> > > >> + bool "DWC2 Mode Selection"
> > > >> + default USB_DWC2_DUAL_ROLE if (USB && USB_GADGET)
> > > >> + default USB_DWC2_HOST if (USB && !USB_GADGET)
> > > >> + default USB_DWC2_PERIPHERAL if (!USB && USB_GADGET)
> >
> > Previously it was possible to have following functionalities in
> > one kernel (for multiplatform kernels):
> >
> > - host PCI support
> > - host platform support
> > - gadget platform support
> >
> > Now mode selection will determine the used mode for combined
> > host+gadget platform driver. It is no longer possible to have
> > host platform and gadget platform support in one kernel.
>
> Why not? Why wouldn't it work if you enable USB_DWC2_DUAL_ROLE? The
> dwc3 driver uses the same scheme as this, and I have not heard any
> complaints about that not working.

Ok, it seems that this should work fine if:

- USB_DWC2_DUAL_ROLE is set

- dwc2 handles dr_mode properly

[ BTW dwc3 has the following code in its ->probe which dwc2 lacks
(the code sets the default dr_mode value):

if (IS_ENABLED(CONFIG_USB_DWC3_HOST))
dwc->dr_mode = USB_DR_MODE_HOST;
else if (IS_ENABLED(CONFIG_USB_DWC3_GADGET))
dwc->dr_mode = USB_DR_MODE_PERIPHERAL;

if (dwc->dr_mode == USB_DR_MODE_UNKNOWN)
dwc->dr_mode = USB_DR_MODE_OTG;

It seems that correspoding changes are needed for dwc2. ]

- proper dr_mode is set in the DT dwc2 entry if the board needs it

Best regards,
--
Bartlomiej Zolnierkiewicz
Samsung R&D Institute Poland
Samsung Electronics



\
 
 \ /
  Last update: 2014-09-22 18:41    [W:0.042 / U:0.044 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site