
Hi Jean,
Hi Marek, Sherry,
we keep the cdns3 node for usb gadget driver, then add a usb host node for xhci-imx8 driver in *-uboot.dtsi. so here is no need to change the host driver
compatible.
But the compatible in gadget driver should be changed later.
We should try avoiding ABI breaks in DT.
But the cdns3 usb gaget driver and host driver in different uclass need two
dt nodes to bind with.
And the compatible of the two node cannot be same. So for gadget driver, the compatible may use "cdns,usb3-1.0.0", for host
driver, the compatible will use "cdns,usb3-1.0.0-host".
What do you think about it?
CCing Jean, since I think he did solve similar topic for his platform.
I've been OOO for a few weeks and didn't look at the whole series.
For this particular issue, the solution I used is to let the wrapper do the binding job. The name of the driver to use is hard-coded in the wrapper diver.
This is done in dwc3_glue_bind().
Thanks for your suggestions.
So if I want to use the cdns3 usb node as both usb gadget device and usb host device, do you mean that I should make the cdns3 usb node as a usb wrapper device, and create two subnodes in it. Then when binding the wrapper node, it will hard-coded the two subnodes to different driver(gadge/host driver) according to the dr_mode property in nodes.
Best regards Sherry sun
JJ
> + { } > +};