[PATCH 00/16] Add support for USB Type-C on STM32MP25

Fabrice Gasnier fabrice.gasnier at foss.st.com
Fri Aug 21 09:23:11 PDT 2026


Add support for the UCPD controller found in STM32MP23 and STM32MP25 platforms.
It is tigtly coupled with external TCPP02/03 I2C companion chip to interface
and to protect UCB-C DRP port.

Purpose is to propose a complete set of drivers and bindings to enable USB
Type-C support on STM32MP25 reference design boards, EVAL and DK, compared
to alternate UCPD series [1].

This is an on-going work on top of over series [2] and [3].

[1] https://lore.kernel.org/all/20260819163410.119755-1-marex@nabladev.com/
[2] https://lore.kernel.org/linux-phy/20260816213849.1044073-1-marex@nabladev.com/
[3] https://lore.kernel.org/linux-usb/20260817163101.6203-1-fabrice.gasnier@foss.st.com/

---
Christian Bruel (6):
      dt-bindings: usb: st,tcpp: Document TCPP USB-C PD protection chip
      usb: typec: tcpm: Add STM32 tcpp driver
      dt-bindings: usb: st,stm32-ucpd: Document STM32 UCPD controller
      usb: typec: tcpm: Add STM32 UCPD driver
      arm64: dts: st: add i2c1 pinctrl entries for stm32mp25
      arm64: dts: st: add tcpp pinctrl entries for stm32mp25

Fabrice Gasnier (10):
      dt-bindings: usb: add FUSB340 switch binding
      usb: typec: add FUSB340 SuperSpeed switch driver
      dt-bindings: nvmem: st,stm32-romem: align patternProperties regex on nvmem-deprecated-cells.yaml
      arm64: dts: st: Add ucpd node on stm32mp251
      dt-bindings: usb: dwc3: stm32: refer to dwc3-common
      dt-bindings: phy: stm32: adapt usb2phy as syscon child on stm32mp25
      dt-bindings: arm: stm32mp2: allow child nodes since simple-mfd transition
      arm64: dts: st: enable usb on stm32mp257f-ev1
      arm64: dts: st: enable usb on stm32mp257f-dk
      arm64: configs: enable usb and its dependencies used on stm32mp25

 .../bindings/arm/stm32/st,stm32-syscon.yaml        |  10 +
 .../devicetree/bindings/nvmem/st,stm32-romem.yaml  |   2 +-
 .../devicetree/bindings/phy/st,stm32-usb2phy.yaml  |  20 +-
 .../devicetree/bindings/usb/onnn,fusb340.yaml      |  73 ++
 .../devicetree/bindings/usb/st,stm32-ucpd.yaml     | 134 ++++
 .../devicetree/bindings/usb/st,stm32mp25-dwc3.yaml |   3 +
 Documentation/devicetree/bindings/usb/st,tcpp.yaml |  63 ++
 arch/arm64/boot/dts/st/stm32mp25-pinctrl.dtsi      |  27 +
 arch/arm64/boot/dts/st/stm32mp251.dtsi             |  51 ++
 arch/arm64/boot/dts/st/stm32mp257f-dk.dts          | 111 +++
 arch/arm64/boot/dts/st/stm32mp257f-ev1.dts         |  79 ++
 arch/arm64/configs/defconfig                       |   6 +
 drivers/usb/typec/mux/Kconfig                      |   8 +
 drivers/usb/typec/mux/Makefile                     |   1 +
 drivers/usb/typec/mux/fusb340.c                    | 169 +++++
 drivers/usb/typec/tcpm/Kconfig                     |  22 +
 drivers/usb/typec/tcpm/Makefile                    |   2 +
 drivers/usb/typec/tcpm/st_tcpp.c                   | 418 +++++++++++
 drivers/usb/typec/tcpm/st_tcpp.h                   |  21 +
 drivers/usb/typec/tcpm/stm32_ucpd.c                | 818 +++++++++++++++++++++
 20 files changed, 2024 insertions(+), 14 deletions(-)
---
base-commit: a8eb98861eefbab7fc254c8014712471448b295c
change-id: 20260821-ucpd-host-fusb340-v7-2-rfc-836f0bac0543

Best regards,
--  
Fabrice Gasnier <fabrice.gasnier at foss.st.com>




More information about the linux-arm-kernel mailing list