Re: [PATCH v2 0/9] arm64: dts: phy: st: usb: Add STM32MP2 USB support
From: Fabrice Gasnier <fabrice.gasnier@foss.st.com>
Date: 2026-08-17 16:36:18
Also in:
linux-devicetree, linux-phy, linux-usb, lkml
On 8/16/26 23:37, Marek Vasut wrote:
Add USB support for STM32MP23xx/STM32MP25xx SoCs. This includes USB 2.0 FEMTO-PHY driver, DWC3 glue code and DT adjustments. Parts of this are taken from ST downstream kernel fork, reduced, or rewritten, since not all of the content there was useful and bits which might be missing and are useful can be added later. Unlike the downstream implementation, the DWC3 glue code is using plain dwc3-generic-plat, the EHCI and OHCI controllers are instantiated as plain generic controllers without any wrapper glue driver, and the USB2 PHY driver is simplified. Both USB 2.0 Host controller and DWC3 super-speed controller are tested.
Hi Marek, Regarding dwc3, I've started to test and needed another patch from our downstream. I've posted it here: https://lore.kernel.org/linux-usb/20260817163101.6203-1-fabrice.gasnier@foss.st.com/ (local) Regarding USBH, there's a dedicated glue on STM32MP2x SoCs for the EHCI/OHCI controllers, similar to the dwc3. On dwc3, I see it can be managed. There are: - AFMUX signals out of EHCI/OHCI controllers, to manage a Vbus power switch (with polarity) control. - AFMUX need pinctrl to be added, and managed during system PM - On coming MP21 (not supported here), there's address translation control - Common dedicated interrupt to manage wakeup Using generic controller drivers, I don't see how to manage it, without describing it in the DT. For sure, generic ehci/ochi drivers and bindings can/must be used. What would be the proper place for this glue to leave ? Why not adding the glue driver from the downstream ? That's supposed to address this. Do you wish I send it upstream, so it can be properly reviewed, amended ? I'd like to sort this glue management out before the DT for the USBH can land. Best Regards, Thanks, Fabrice
Marek Vasut (6):
dt-bindings: usb: generic-ehci: Document access-controllers property
dt-bindings: usb: generic-ohci: Document access-controllers property
dt-bindings: usb: dwc3: Document ST STM32MP2 DWC3 xHCI USB controller
usb: dwc3: dwc3-generic-plat: Add ST STM32MP2 DWC3 xHCI USB controller
glue
dt-bindings: arm: stm32: Switch st,stm32mp23/25-syscfg into simple-mfd
arm64: dts: st: Add USB nodes on stm32mp231
Pankaj Dev (3):
dt-bindings: phy: Document ST STM32MP25 USB2-FEMTO PHY
phy: stm32: Add support for ST STM32MP25 USB2-FEMTO PHY
arm64: dts: st: Add USB nodes on stm32mp251
.../bindings/arm/stm32/st,stm32-syscon.yaml | 7 +-
.../bindings/phy/st,stm32-usb2phy.yaml | 73 ++++
.../devicetree/bindings/usb/generic-ehci.yaml | 3 +
.../devicetree/bindings/usb/generic-ohci.yaml | 3 +
.../bindings/usb/st,stm32mp25-dwc3.yaml | 108 ++++++
arch/arm64/boot/dts/st/stm32mp231.dtsi | 81 +++-
arch/arm64/boot/dts/st/stm32mp251.dtsi | 65 +++-
drivers/phy/st/Kconfig | 10 +
drivers/phy/st/Makefile | 1 +
drivers/phy/st/phy-stm32-usb2phy.c | 361 ++++++++++++++++++
drivers/usb/dwc3/dwc3-generic-plat.c | 44 +++
11 files changed, 751 insertions(+), 5 deletions(-)
create mode 100644 Documentation/devicetree/bindings/phy/st,stm32-usb2phy.yaml
create mode 100644 Documentation/devicetree/bindings/usb/st,stm32mp25-dwc3.yaml
create mode 100644 drivers/phy/st/phy-stm32-usb2phy.c
Cc: Alexandre Torgue <alexandre.torgue@foss.st.com>
Cc: Christian Bruel <christian.bruel@foss.st.com>
Cc: Conor Dooley <conor+dt@kernel.org>
Cc: Fabrice Gasnier <fabrice.gasnier@foss.st.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Krzysztof Kozlowski <krzk+dt@kernel.org>
Cc: Maxime Coquelin <mcoquelin.stm32@gmail.com>
Cc: Neil Armstrong <neil.armstrong@linaro.org>
Cc: Pankaj Dev <redacted>
Cc: Rahul Kumar <redacted>
Cc: Rob Herring <robh@kernel.org>
Cc: Rosen Penev <redacted>
Cc: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
Cc: Vinod Koul <vkoul@kernel.org>
Cc: devicetree@vger.kernel.org
Cc: kernel@dh-electronics.com
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Cc: linux-phy@lists.infradead.org
Cc: linux-stm32@st-md-mailman.stormreply.com
Cc: linux-usb@vger.kernel.org