Re: [PATCH v2 0/9] arm64: dts: phy: st: usb: Add STM32MP2 USB support
Fabrice Gasnier <[email protected]>
| Newsgroups | org.kernel.vger.linux-usb,org.infradead.lists.linux-arm-kernel,org.infradead.lists.linux-phy,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
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/[email protected]/ 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 <[email protected]> > Cc: Christian Bruel <[email protected]> > Cc: Conor Dooley <[email protected]> > Cc: Fabrice Gasnier <[email protected]> > Cc: Greg Kroah-Hartman <[email protected]> > Cc: Krzysztof Kozlowski <[email protected]> > Cc: Maxime Coquelin <[email protected]> > Cc: Neil Armstrong <[email protected]> > Cc: Pankaj Dev <[email protected]> > Cc: Rahul Kumar <[email protected]> > Cc: Rob Herring <[email protected]> > Cc: Rosen Penev <[email protected]> > Cc: Thinh Nguyen <[email protected]> > Cc: Vinod Koul <[email protected]> > Cc: [email protected] > Cc: [email protected] > Cc: [email protected] > Cc: [email protected] > Cc: [email protected] > Cc: [email protected] > Cc: [email protected] >