[PATCH 3/4] arm64: dts: st: Add UCPD node on stm32mp231
Marek Vasut
marex at nabladev.com
Wed Aug 19 09:33:54 PDT 2026
Add ST UCPD Type-C block node on stm32mp231. The UCPD integrates the
physical layer of the Power Delivery (PD), with CC signaling method,
for operation with Type-C cables. Vbus and Vconn control is performed
using an external chip, usually ST TCPP01/TCPP02/TCPP03 or similar.
The UCPD Rp/Rd resistor trimming values are part of OTP, add the nvmem
subnode and include a phandle to it.
Signed-off-by: Marek Vasut <marex at nabladev.com>
---
Cc: Alexandre Torgue <alexandre.torgue at foss.st.com>
Cc: Conor Dooley <conor+dt at kernel.org>
Cc: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
Cc: Heikki Krogerus <heikki.krogerus at linux.intel.com>
Cc: Krzysztof Kozlowski <krzk+dt at kernel.org>
Cc: Maxime Coquelin <mcoquelin.stm32 at gmail.com>
Cc: Rob Herring <robh at kernel.org>
Cc: Sebastian Reichel <sebastian.reichel at collabora.com>
Cc: devicetree at vger.kernel.org
Cc: kernel at dh-electronics.com
Cc: linux-arm-kernel at lists.infradead.org
Cc: linux-kernel at vger.kernel.org
Cc: linux-stm32 at st-md-mailman.stormreply.com
Cc: linux-usb at vger.kernel.org
---
arch/arm64/boot/dts/st/stm32mp231.dtsi | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/arch/arm64/boot/dts/st/stm32mp231.dtsi b/arch/arm64/boot/dts/st/stm32mp231.dtsi
index 9e1d240888ff2..5049e031a38dd 100644
--- a/arch/arm64/boot/dts/st/stm32mp231.dtsi
+++ b/arch/arm64/boot/dts/st/stm32mp231.dtsi
@@ -715,6 +715,21 @@ dcmipp: dcmipp at 48030000 {
status = "disabled";
};
+ ucpd: phy at 480a0000 {
+ compatible = "st,stm32mp25-ucpd";
+ reg = <0x480a0000 0x1000>;
+ access-controllers = <&rifsc 69>;
+ clocks = <&rcc CK_BUS_USBTC>, <&rcc CK_KER_USBTC>;
+ clock-names = "apb", "ker";
+ interrupts-extended = <&exti1 46 IRQ_TYPE_LEVEL_HIGH>;
+ nvmem-cells = <&ucpdtrim>;
+ nvmem-cell-names = "trim";
+ power-domains = <&cluster_pd>;
+ resets = <&rcc USBTC_R>;
+ reset-names = "phy";
+ status = "disabled";
+ };
+
sdmmc1: mmc at 48220000 {
compatible = "st,stm32mp25-sdmmc2", "arm,pl18x", "arm,primecell";
reg = <0x48220000 0x400>, <0x44230400 0x8>;
@@ -794,6 +809,11 @@ package-otp at 1e8 {
reg = <0x1e8 0x1>;
bits = <0 3>;
};
+
+ ucpdtrim: atrim3 at 1e8 {
+ reg = <0x1e8 0x4>;
+ bits = <4 16>;
+ };
};
rcc: clock-controller at 44200000 {
--
2.53.0
More information about the linux-arm-kernel
mailing list