[PATCH v4 0/3] add DWC3 i.MX driver based on flatten devicetree
From: Xu Yang <xu.yang_2@nxp.com>
Date: 2026-02-12 08:33:51
Also in:
imx, linux-devicetree, linux-usb, lkml
The i.MX USB glue and DWC3 core are closely coupled. Describe the i.MX USB block in a single block will bring more benefits than a parent- child relation. Now DWC3 USB common driver already support to do more key jobs in glue driver, such as power management and core initialization. Now let's make a step and add a flatten devicetree based driver. The first one add a new "nxp,imx-dwc3.yaml" binding to describe all i.MX related USB controller. Then, to support wakeup capability even when controller experienced power lost, a fix patch is added to make controller work after system resume back. --- Changes in v4: - add R-b tags - rename core_may_lose_power to needs_full_reinit - add dwc3_imx_get_property() to parse of node - remove dev_dbg() - describe the transition policy in the commit message - Link to v3: https://lore.kernel.org/r/20260206-add-flatten-dts-based-dwc3-imx-driver-v3-0-ebd9b9b77049@nxp.com (local) Changes in v3: - rename file name as nxp,imx-dwc3.yaml - rename compatible as nxp,imx*-dwc3 - remove status property in example node - modify commit message - Link to v2: https://lore.kernel.org/r/20260204-add-flatten-dts-based-dwc3-imx-driver-v2-0-d2c9b5a58c01@nxp.com (local) Changes in v2: - reorder compatible property - rename may_lose_power to needs_full_reinit - remove Frank review by tag due to some changes - fix code style in dwc3-imx.c - disable wakeup irq when register interrupt by default - remove runtime PM operations in dwc3_imx_remove() - Link to v1: https://lore.kernel.org/r/20260202-add-flatten-dts-based-dwc3-imx-driver-v1-0-c44a5e919380@nxp.com (local) --- Xu Yang (3): dt-bindings: usb: introduce nxp,imx-dwc3 usb: dwc3: add needs_full_reinit flag usb: dwc3: introduce flatten model driver of i.MX Soc .../devicetree/bindings/usb/fsl,imx8mp-dwc3.yaml | 2 + .../devicetree/bindings/usb/nxp,imx-dwc3.yaml | 123 ++++++ drivers/usb/dwc3/Kconfig | 12 + drivers/usb/dwc3/Makefile | 1 + drivers/usb/dwc3/core.c | 9 +- drivers/usb/dwc3/core.h | 3 + drivers/usb/dwc3/dwc3-imx.c | 442 +++++++++++++++++++++ drivers/usb/dwc3/glue.h | 3 + 8 files changed, 593 insertions(+), 2 deletions(-) --- base-commit: da87d45b195148d670ab995367d52aa9e8a9a1fa change-id: 20260202-add-flatten-dts-based-dwc3-imx-driver-96e4a4af9570 Best regards, -- Xu Yang [off-list ref]