HI, On 4/19/2018 4:03 AM, Masahiro Yamada wrote: > In the current design of DWC3 driver, > the DT typically becomes a nested structure like follows: > > dwc3-glue { > compatible = "foo,dwc3"; > ... > > dwc3 { > compatible = "snps,dwc3"; > ... > }; > } > > The current DWC3 core (drivers/usb/dwc3/core.c) can not handle > clocks / resets at all. > > The only solution we have now, is to put DWC3 core node under > the glue layer node, then add clocks and resets there. > Actually, dwc3-of-simple.c exists to handle clocks and resets. > > As always for digital circuits, DWC3 core IP itself needs clock input. > This is specific to this IP. So, supporting clocks and resets in > dwc3/core.c makes sense. Why can't dwc3-of-simple be used with this IP? Adding core/reset handling in both core and glue drivers might only add to confusion and I cant think of a reason why having a parent node representing dwc3-of-simple glue would be any concern. Or are you planning to remove dwc3-of-simple.c driver? > > In this version, the number of clocks (and names) is specific > to this IP, with clock names taken from Synopsys datasheet. -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project -- 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