Hi Sherry, On 21/08/19 8:05 PM, Sherry Sun wrote: > These patches introduce new Cadence driver to U-Boot. > The first patch is to add the Cadence USB3 IP(CDNS3) core and driver for > the usb gadget. > The second patch introduce the xhci-imx8 usb host driver separately. > The third patch introduce the cdns3 phy driver which can be used for both > cdns3 host driver and gadget driver. > The cdns3 usb gadget/host/phy driver are all used DM mode. > > The current driver has been validated on i.MX8 platform. > If someone want to test it, please note that the additional dts nodes/ > config macros/clock driver are also essential. You can also get > my test patches at https://github.com/sherrysun1/u-boot-imx.git to > start your test quickly. >
I see that Cadence USB driver for Linux kernel is still under development and DT compatible binding is supposed to be "cdns,usb3" not "cdns,usb3-1.0.0". See v11: https://patchwork.kernel.org/patch/11114415/ Deviating from kernel binding will break sync'ing of DTs b/w kernel and U-Boot. Also, why not sync the latest host/gadget driver patches from kernel as is? That should help in borrowing bug fixes/features whenever Cadence updates kernel driver in future. BTW, have you tested gadget driver with functions that use bulk endpoints such as f_mass_storage or f_fastboot? Regards Vignesh > Changes in v5: > - Delete some unnecessary code. > - Fix some issues about lack of parentheses. > - Add separate patch for core framework changes. > - Add "reg-names" for usb nodes in DT and use it to get reg > values. > - Use "cdns,usb3-1.0.0" compatible instead "cdns,usb3". > - Add DM_FLAG_OS_PREPARE flag to xhci-imx8 driver. > > Sherry Sun (7): > dt-bindings: add dt-binding doc for CDNS3 controller > usb: gadget: Add the cadence USB3 gadget driver > usb: gadget: Add match_ep call back to usb_gadget_ops > usb: gadget: Add gadget_is_cdns3 checking to provide bcdUSB value > usb: host: Add the USB3 host driver > phy: Add USB PHY driver for the cadence USB3 > usb: gadget: core: introduce ->udc_set_speed() method > > Makefile | 1 + > doc/device-tree-bindings/usb/cdns-usb3.txt | 53 + > drivers/phy/Kconfig | 8 + > drivers/phy/Makefile | 1 + > drivers/phy/cdns3-usb-phy.c | 241 +++ > drivers/usb/Kconfig | 2 + > drivers/usb/cdns3/Kconfig | 20 + > drivers/usb/cdns3/Makefile | 5 + > drivers/usb/cdns3/cdns3-generic.c | 114 + > drivers/usb/cdns3/cdns3-nxp-reg-def.h | 93 + > drivers/usb/cdns3/core.c | 203 ++ > drivers/usb/cdns3/core.h | 118 ++ > drivers/usb/cdns3/dev-regs-macro.h | 116 ++ > drivers/usb/cdns3/dev-regs-map.h | 117 ++ > drivers/usb/cdns3/gadget-export.h | 26 + > drivers/usb/cdns3/gadget.c | 2183 ++++++++++++++++++++ > drivers/usb/cdns3/gadget.h | 225 ++ > drivers/usb/cdns3/io.h | 27 + > drivers/usb/gadget/epautoconf.c | 4 + > drivers/usb/gadget/gadget_chips.h | 7 + > drivers/usb/gadget/udc/Makefile | 1 + > drivers/usb/gadget/udc/udc-core.c | 23 + > drivers/usb/host/Kconfig | 9 + > drivers/usb/host/Makefile | 1 + > drivers/usb/host/xhci-imx8.c | 210 ++ > include/linux/usb/gadget.h | 5 + > scripts/Makefile.spl | 1 + > 27 files changed, 3814 insertions(+) > create mode 100644 doc/device-tree-bindings/usb/cdns-usb3.txt > create mode 100644 drivers/phy/cdns3-usb-phy.c > create mode 100644 drivers/usb/cdns3/Kconfig > create mode 100644 drivers/usb/cdns3/Makefile > create mode 100644 drivers/usb/cdns3/cdns3-generic.c > create mode 100644 drivers/usb/cdns3/cdns3-nxp-reg-def.h > create mode 100644 drivers/usb/cdns3/core.c > create mode 100644 drivers/usb/cdns3/core.h > create mode 100644 drivers/usb/cdns3/dev-regs-macro.h > create mode 100644 drivers/usb/cdns3/dev-regs-map.h > create mode 100644 drivers/usb/cdns3/gadget-export.h > create mode 100644 drivers/usb/cdns3/gadget.c > create mode 100644 drivers/usb/cdns3/gadget.h > create mode 100644 drivers/usb/cdns3/io.h > create mode 100644 drivers/usb/host/xhci-imx8.c > -- Regards Vignesh _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot