[PATCH 00/16] Add support for USB Type-C on STM32MP25
Fabrice Gasnier <[email protected]>
| Newsgroups | org.kernel.vger.linux-devicetree,org.infradead.lists.linux-arm-kernel,org.infradead.lists.linux-phy,org.kernel.vger.linux-kernel,org.kernel.vger.linux-usb |
|---|---|
| Message-ID | <20260821-ucpd-host-fusb340-v7-2-rfc-v1-0-c5e27cbc0795@foss.st.com> |
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/[email protected]/ [2] https://lore.kernel.org/linux-phy/[email protected]/ [3] https://lore.kernel.org/linux-usb/[email protected]/ --- 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 <[email protected]>