Hi, On Friday, September 19, 2014 07:02:49 PM Paul Zimmerman wrote: > > From: Bartlomiej Zolnierkiewicz [mailto:b.zolnierkie@xxxxxxxxxxx] > > 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 -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html