|
|
Log in / Subscribe / Register

add DWC3 i.MX driver based on flatten devicetree

From:  Xu Yang <xu.yang_2-AT-nxp.com>
To:  Greg Kroah-Hartman <gregkh-AT-linuxfoundation.org>, Rob Herring <robh-AT-kernel.org>, Krzysztof Kozlowski <krzk+dt-AT-kernel.org>, Conor Dooley <conor+dt-AT-kernel.org>, Shawn Guo <shawnguo-AT-kernel.org>, Sascha Hauer <s.hauer-AT-pengutronix.de>, Pengutronix Kernel Team <kernel-AT-pengutronix.de>, Fabio Estevam <festevam-AT-gmail.com>, Frank Li <frank.li-AT-nxp.com>, Li Jun <jun.li-AT-nxp.com>, Thinh Nguyen <Thinh.Nguyen-AT-synopsys.com>
Subject:  [PATCH v4 0/3] add DWC3 i.MX driver based on flatten devicetree
Date:  Thu, 12 Feb 2026 16:35:02 +0800
Message-ID:  <20260212-add-flatten-dts-based-dwc3-imx-driver-v4-0-08c10b08ebb6@nxp.com>
Cc:  linux-usb-AT-vger.kernel.org, devicetree-AT-vger.kernel.org, imx-AT-lists.linux.dev, linux-arm-kernel-AT-lists.infradead.org, linux-kernel-AT-vger.kernel.org, Xu Yang <xu.yang_2-AT-nxp.com>, Frank Li <Frank.Li-AT-nxp.com>
Archive-link:  Article

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-...

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-...

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-...

---
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 <xu.yang_2@nxp.com>




Copyright © 2026, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds