Message ID | 1563278895-10635-1-git-send-email-sherry.sun@nxp.com |
---|---|
Headers | show |
Series | USB: Add cadence USB3 gadget driver and host driver | expand |
Hi Sherry, On Tue, Jul 16, 2019 at 4:15 PM sherry sun <sherry.sun@nxp.com> wrote: > > From: Sherry Sun <sherry.sun@nxp.com> > > These patches introduce new Cadence USBSS driver to U-Boot. > > The first patch is to add the Cadence USB3 IP(CDNS3) driver for the usb > gadget, but the host mode is not supported now. The second patch > introduce the xhci-imx8 usb host driver separately. The cdns3 usb > gadget driver and xhci-imx8 host driver both use DM mode. > > The current driver has been validated on i.MX8 platform. > > Sherry Sun (3): > USB: gadget: Add the cadence USB3 gadget driver > USB: host: Add the USB3 host driver > USB: gadget: core: introduce ->udc_set_speed() method > > Makefile | 1 + > drivers/usb/Kconfig | 2 + > drivers/usb/cdns3/Kconfig | 20 + > drivers/usb/cdns3/Makefile | 5 + > drivers/usb/cdns3/cdns3-generic.c | 176 ++ > drivers/usb/cdns3/cdns3-nxp-reg-def.h | 158 ++ > drivers/usb/cdns3/core.c | 408 +++++ > drivers/usb/cdns3/core.h | 129 ++ > 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 | 2278 +++++++++++++++++++++++++ > drivers/usb/cdns3/gadget.h | 238 +++ > drivers/usb/cdns3/io.h | 30 + > drivers/usb/cdns3/linux-compat.h | 16 + > 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 | 311 ++++ > include/cdns3-uboot.h | 26 + > include/linux/usb/gadget.h | 5 + > include/usb/imx8_usb3_reg_def.h | 455 +++++ > scripts/Makefile.spl | 1 + > 26 files changed, 4563 insertions(+) > 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/cdns3/linux-compat.h > create mode 100644 drivers/usb/host/xhci-imx8.c > create mode 100644 include/cdns3-uboot.h > create mode 100644 include/usb/imx8_usb3_reg_def.h > > -- > 2.17.1 > > _______________________________________________ > U-Boot mailing list > U-Boot@lists.denx.de > https://lists.denx.de/listinfo/u-boot Thanks for your patches! Taking into account that this series introduces a brand new driver, it would be really nice to also have proper device tree bindings in doc/device-tree-bindings (so I can at least quickly enable it for my board, test it and leave my T-b tags). Thanks
Igor, > Subject: Re: [U-Boot] [PATCH 0/3] USB: Add cadence USB3 gadget driver and > host driver > > Hi Sherry, > > On Tue, Jul 16, 2019 at 4:15 PM sherry sun <sherry.sun@nxp.com> wrote: > > > > From: Sherry Sun <sherry.sun@nxp.com> > > > > These patches introduce new Cadence USBSS driver to U-Boot. > > > > The first patch is to add the Cadence USB3 IP(CDNS3) driver for the > > usb gadget, but the host mode is not supported now. The second patch > > introduce the xhci-imx8 usb host driver separately. The cdns3 usb > > gadget driver and xhci-imx8 host driver both use DM mode. > > > > The current driver has been validated on i.MX8 platform. > > > > Sherry Sun (3): > > USB: gadget: Add the cadence USB3 gadget driver > > USB: host: Add the USB3 host driver > > USB: gadget: core: introduce ->udc_set_speed() method > > > > Makefile | 1 + > > drivers/usb/Kconfig | 2 + > > drivers/usb/cdns3/Kconfig | 20 + > > drivers/usb/cdns3/Makefile | 5 + > > drivers/usb/cdns3/cdns3-generic.c | 176 ++ > > drivers/usb/cdns3/cdns3-nxp-reg-def.h | 158 ++ > > drivers/usb/cdns3/core.c | 408 +++++ > > drivers/usb/cdns3/core.h | 129 ++ > > 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 | 2278 > +++++++++++++++++++++++++ > > drivers/usb/cdns3/gadget.h | 238 +++ > > drivers/usb/cdns3/io.h | 30 + > > drivers/usb/cdns3/linux-compat.h | 16 + > > 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 | 311 ++++ > > include/cdns3-uboot.h | 26 + > > include/linux/usb/gadget.h | 5 + > > include/usb/imx8_usb3_reg_def.h | 455 +++++ > > scripts/Makefile.spl | 1 + > > 26 files changed, 4563 insertions(+) > > 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/cdns3/linux-compat.h create mode > > 100644 drivers/usb/host/xhci-imx8.c create mode 100644 > > include/cdns3-uboot.h create mode 100644 > > include/usb/imx8_usb3_reg_def.h > > > > -- > > 2.17.1 > > > > _______________________________________________ > > U-Boot mailing list > > U-Boot@lists.denx.de > > https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Flist > > > s.denx.de%2Flistinfo%2Fu-boot&data=02%7C01%7Cpeng.fan%40nxp.co > m%7C > > > fbf069e4184b49805ff608d716792228%7C686ea1d3bc2b4c6fa92cd99c5c301 > 635%7C > > > 0%7C0%7C637002581830489188&sdata=2sLbnCK6jSV9a3NQZFK8iwc1r > lh5jSyAR > > qSveO4nebg%3D&reserved=0 > > Thanks for your patches! > Taking into account that this series introduces a brand new driver, it would be > really nice to also have proper device tree bindings in > doc/device-tree-bindings (so I can at least quickly enable it for my board, test > it and leave my T-b tags). Currently there is also no linux upstream bindings for the new IP, so this will be dedicated for U-Boot. In future when Linux is ready, need to migrate to use Linux bindings. To let you test the patchset, suggest Sherry to create a branch on github or somewhere. Regards, Peng. > > Thanks > > -- > Best regards - Freundliche Grüsse - Meilleures salutations > > Igor Opaniuk > > mailto: igor.opaniuk@gmail.com > skype: igor.opanyuk > +380 (93) 836 40 67 > https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fua.linke > din.com%2Fin%2Fiopaniuk&data=02%7C01%7Cpeng.fan%40nxp.com%7 > Cfbf069e4184b49805ff608d716792228%7C686ea1d3bc2b4c6fa92cd99c5c30 > 1635%7C0%7C0%7C637002581830489188&sdata=xgOmj3btCYHz8akdK > 6oK7rLSGD9AhLnQmd6Ob2aq%2Bzc%3D&reserved=0
Hi Igor, Sorry for the late reply. > > Igor, > > > Subject: Re: [U-Boot] [PATCH 0/3] USB: Add cadence USB3 gadget driver > > and host driver > > > > Hi Sherry, > > > > On Tue, Jul 16, 2019 at 4:15 PM sherry sun <sherry.sun@nxp.com> > wrote: > > > > > > From: Sherry Sun <sherry.sun@nxp.com> > > > > > > These patches introduce new Cadence USBSS driver to U-Boot. > > > > > > The first patch is to add the Cadence USB3 IP(CDNS3) driver for the > > > usb gadget, but the host mode is not supported now. The second patch > > > introduce the xhci-imx8 usb host driver separately. The cdns3 usb > > > gadget driver and xhci-imx8 host driver both use DM mode. > > > > > > The current driver has been validated on i.MX8 platform. > > > > > > Sherry Sun (3): > > > USB: gadget: Add the cadence USB3 gadget driver > > > USB: host: Add the USB3 host driver > > > USB: gadget: core: introduce ->udc_set_speed() method > > > > > > Makefile | 1 + > > > drivers/usb/Kconfig | 2 + > > > drivers/usb/cdns3/Kconfig | 20 + > > > drivers/usb/cdns3/Makefile | 5 + > > > drivers/usb/cdns3/cdns3-generic.c | 176 ++ > > > drivers/usb/cdns3/cdns3-nxp-reg-def.h | 158 ++ > > > drivers/usb/cdns3/core.c | 408 +++++ > > > drivers/usb/cdns3/core.h | 129 ++ > > > 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 | 2278 > > +++++++++++++++++++++++++ > > > drivers/usb/cdns3/gadget.h | 238 +++ > > > drivers/usb/cdns3/io.h | 30 + > > > drivers/usb/cdns3/linux-compat.h | 16 + > > > 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 | 311 ++++ > > > include/cdns3-uboot.h | 26 + > > > include/linux/usb/gadget.h | 5 + > > > include/usb/imx8_usb3_reg_def.h | 455 +++++ > > > scripts/Makefile.spl | 1 + > > > 26 files changed, 4563 insertions(+) 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/cdns3/linux-compat.h create mode > > > 100644 drivers/usb/host/xhci-imx8.c create mode 100644 > > > include/cdns3-uboot.h create mode 100644 > > > include/usb/imx8_usb3_reg_def.h > > > > > > -- > > > 2.17.1 > > > > > > _______________________________________________ > > > U-Boot mailing list > > > U-Boot@lists.denx.de > > > > https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fli > > > st > > > > > > s.denx.de%2Flistinfo%2Fu-boot&data=02%7C01%7Cpeng.fan%40nx > p.co > > m%7C > > > > > > fbf069e4184b49805ff608d716792228%7C686ea1d3bc2b4c6fa92cd99c > 5c301 > > 635%7C > > > > > > 0%7C0%7C637002581830489188&sdata=2sLbnCK6jSV9a3NQZFK8i > wc1r > > lh5jSyAR > > > qSveO4nebg%3D&reserved=0 > > > > Thanks for your patches! > > Taking into account that this series introduces a brand new driver, it > > would be really nice to also have proper device tree bindings in > > doc/device-tree-bindings (so I can at least quickly enable it for my > > board, test it and leave my T-b tags). > > Currently there is also no linux upstream bindings for the new IP, so this > will be dedicated for U-Boot. In future when Linux is ready, need to migrate > to use Linux bindings. > > To let you test the patchset, suggest Sherry to create a branch on github or > somewhere. > > Regards, > Peng. > I created a branch on github, you can access it at https://github.com/sherrysun1/u-boot-imx.git. It includes some patches which I tested for cdns3 driver on imx8qm/qxp, maybe useful to you. By the way, I also add device tree bindings in doc/device-tree-bindings/usb/ at my branch in github, in case you need. Feel free to let me know if any problems. Best regards Sherry sun > > > > Thanks > > > > -- > > Best regards - Freundliche Grüsse - Meilleures salutations > > > > Igor Opaniuk > > > > mailto: igor.opaniuk@gmail.com > > skype: igor.opanyuk > > +380 (93) 836 40 67 > > > https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fua. > li > > nke > > > din.com%2Fin%2Fiopaniuk&data=02%7C01%7Cpeng.fan%40nxp.co > m%7 > > > Cfbf069e4184b49805ff608d716792228%7C686ea1d3bc2b4c6fa92cd99 > c5c30 > > > 1635%7C0%7C0%7C637002581830489188&sdata=xgOmj3btCYHz8 > akdK > > 6oK7rLSGD9AhLnQmd6Ob2aq%2Bzc%3D&reserved=0
From: Sherry Sun <sherry.sun@nxp.com> These patches introduce new Cadence USBSS driver to U-Boot. The first patch is to add the Cadence USB3 IP(CDNS3) driver for the usb gadget, but the host mode is not supported now. The second patch introduce the xhci-imx8 usb host driver separately. The cdns3 usb gadget driver and xhci-imx8 host driver both use DM mode. The current driver has been validated on i.MX8 platform. Sherry Sun (3): USB: gadget: Add the cadence USB3 gadget driver USB: host: Add the USB3 host driver USB: gadget: core: introduce ->udc_set_speed() method Makefile | 1 + drivers/usb/Kconfig | 2 + drivers/usb/cdns3/Kconfig | 20 + drivers/usb/cdns3/Makefile | 5 + drivers/usb/cdns3/cdns3-generic.c | 176 ++ drivers/usb/cdns3/cdns3-nxp-reg-def.h | 158 ++ drivers/usb/cdns3/core.c | 408 +++++ drivers/usb/cdns3/core.h | 129 ++ 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 | 2278 +++++++++++++++++++++++++ drivers/usb/cdns3/gadget.h | 238 +++ drivers/usb/cdns3/io.h | 30 + drivers/usb/cdns3/linux-compat.h | 16 + 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 | 311 ++++ include/cdns3-uboot.h | 26 + include/linux/usb/gadget.h | 5 + include/usb/imx8_usb3_reg_def.h | 455 +++++ scripts/Makefile.spl | 1 + 26 files changed, 4563 insertions(+) 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/cdns3/linux-compat.h create mode 100644 drivers/usb/host/xhci-imx8.c create mode 100644 include/cdns3-uboot.h create mode 100644 include/usb/imx8_usb3_reg_def.h