On Sat, Feb 26, 2022 at 4:43 PM Johan Jonker <jbx6244@xxxxxxxxx> wrote: > > Hi Peter, > > See comments by rob+dt: > > https://lore.kernel.org/linux-rockchip/CAL_JsqJwNdUfoYM8SZmOgMG9iAyZkJ4-kzjjiDDm_mdmghTEOA@xxxxxxxxxxxxxx/ > > > Presumably you are getting lucky here (with link order). The kernel > > has no logic to decide which driver to bind to if there are 2 matching > > drivers. > > Due to the fall back string you make a mess with two drivers. > Don't use dwc3-of-simple.c > (only for rk3399 and legacy support. Not for new SoCs), > because core.c has now reset support. > You are creating a race which driver get probed first. > Handle your quirks in core. I finally understood what you were trying to get at here. After some testing, it seems the core driver handles everything we need now. This makes me want to revisit the rk3399 support. Thanks! > > Johan > > On 2/26/22 19:41, Peter Geis wrote: > > The rk3568 dwc3 controller is backwards compatible with the rk3399 dwc3 > > controller. > > Add support for it to the dwc3-of-simple driver. > > > > Signed-off-by: Peter Geis <pgwipeout@xxxxxxxxx> > > --- > > drivers/usb/dwc3/dwc3-of-simple.c | 4 ++++ > > 1 file changed, 4 insertions(+) > > > > diff --git a/drivers/usb/dwc3/dwc3-of-simple.c b/drivers/usb/dwc3/dwc3-of-simple.c > > index 57ba9427ad74..d9d1c5bfac3f 100644 > > --- a/drivers/usb/dwc3/dwc3-of-simple.c > > +++ b/drivers/usb/dwc3/dwc3-of-simple.c > > @@ -195,6 +195,10 @@ static const struct of_device_id of_dwc3_simple_match[] = { > > .compatible = "rockchip,rk3399-dwc3", > > .data = &dwc3_of_simple_data_rk3399, > > }, > > + { > > + .compatible = "rockchip,rk3568-dwc3", > > + .data = &dwc3_of_simple_data_rk3399, > > + }, > > { > > .compatible = "sprd,sc9860-dwc3", > > },