Messages in this thread | | | From | Paul Zimmerman <> | Subject | RE: [PATCHv4 01/12] usb: dwc2: Update Kconfig to support dual-role | Date | Fri, 19 Sep 2014 19:02:49 +0000 |
| |
> 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
| |