lkml.org 
[lkml]   [2014]   [Sep]   [19]   [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
> 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.

> Also there is only one mode selection for both PCI and platform
> drivers so it is no longer possible to have both gadget platform
> support and host PCI support in one kernel.

There will be, once I update the dwc2 PCI support to include the gadget
functionality. Then, if you enable USB_DWC2_DUAL_ROLE and DWC2_PCI, you
should be set.

In the meantime, I believe the only platform today that needs PCI support
for dwc2 is our internal Synopsys development board, which is not an ARM
platform. So I don't think there is a real issue here.

> I think it would be the best to replace global mode selection
> choice option with just two independent suboptions for combined
> host+gadget platform driver which will enable host and gadget
> support to be compiled into the driver (you would need to enable
> both for dual role support). The actual selection of the mode
> used should be done at runtime using device tree.

See above. The dwc3 driver uses the same scheme as Dinh has implemented,
and I don't think there have been any problems with it.

--
Paul



\
 
 \ /
  Last update: 2014-09-19 21:21    [W:0.088 / U:0.356 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site