Hi, Yoshihiro Shimoda writes: > Hi Roger, > >> From: Roger Quadros >> Sent: Monday, June 20, 2016 7:13 PM >> >> Hi, >> >> On 20/06/16 10:45, Felipe Balbi wrote: > < snip > >> >> diff --git a/include/linux/usb/gadget.h b/include/linux/usb/gadget.h >> >> index f4fc0aa..1d74fb8 100644 >> >> --- a/include/linux/usb/gadget.h >> >> +++ b/include/linux/usb/gadget.h >> >> @@ -328,6 +328,7 @@ struct usb_gadget_ops { >> >> * @in_epnum: last used in ep number >> >> * @mA: last set mA value >> >> * @otg_caps: OTG capabilities of this gadget. >> >> + * @otg_dev: OTG controller device, if needs to be used with OTG core. >> > >> > do you really know of any platform which has a separate OTG controller? >> > >> >> Andrew had pointed out in [1] that Tegra210 has separate blocks for OTG, host >> and gadget. >> >> [1] http://article.gmane.org/gmane.linux.ports.tegra/22969 >> >> Yoshihiro, >> >> How is the dual-role architecture on your Renesas platform? > > About the dual-role architecture, Renesas platform (R-Car H3) has a > USB 2.0 host controller (EHCI/OHCI) with OTG function and a separate > USB 2.0 peripheral controller (HS-USB). The OTG function is related > to some PHY control registers, so I intend to add the OTG/Dual-role > core support into the phy driver (drivers/phy/phy-rcar-gen3-usb2.c). that looks like a mux to me :-) thanks for the pointer -- balbi