[PATCH 01/16] dt-bindings: usb: st,tcpp: Document TCPP USB-C PD protection chip

From: Fabrice Gasnier

Date: Fri Aug 21 2026 - 12:25:07 EST


From: Christian Bruel <christian.bruel@xxxxxxxxxxx>

Add binding documentation for the STMicroelectronics TCPP Type-C port
controller. TCPP03 is a companion chip to interface and to protect
UCB-C DRP port. It has been developed to be used with STM32
family embedding the UCPD controller.

Signed-off-by: Christian Bruel <christian.bruel@xxxxxxxxxxx>
Signed-off-by: Fabrice Gasnier <fabrice.gasnier@xxxxxxxxxxx>
---
Documentation/devicetree/bindings/usb/st,tcpp.yaml | 63 ++++++++++++++++++++++
1 file changed, 63 insertions(+)

diff --git a/Documentation/devicetree/bindings/usb/st,tcpp.yaml b/Documentation/devicetree/bindings/usb/st,tcpp.yaml
new file mode 100644
index 000000000000..3224969359c6
--- /dev/null
+++ b/Documentation/devicetree/bindings/usb/st,tcpp.yaml
@@ -0,0 +1,63 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/usb/st,tcpp.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: STMicroelectronics TCPP03 USB-C PD protection chip for DRP
+
+maintainers:
+ - Christian Bruel <christian.bruel@xxxxxxxxxxx>
+ - Fabrice Gasnier <fabrice.gasnier@xxxxxxxxxxx>
+
+description:
+ TCPP03 is a companion chip to interface and to protect USB-C DRP port.
+ It has been developed to be used with STM32 family embedding UCPD controller.
+ Access from I2C interface with 2 read registers SR1/SR2 and 1 CR register.
+
+properties:
+ compatible:
+ const: st,tcpp03
+
+ reg:
+ description: I2C address
+ maxItems: 1
+
+ interrupts:
+ maxItems: 1
+
+ enable-gpios:
+ description:
+ GPIO pin connected to the TCPP_EN signal of the UCPD
+ maxItems: 1
+
+required:
+ - compatible
+ - reg
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/interrupt-controller/irq.h>
+ #include <dt-bindings/gpio/gpio.h>
+
+ i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&i2c1_pins_a>;
+ pinctrl-1 = <&i2c1_sleep_pins_a>;
+ clock-frequency = <400000>;
+
+ typec@34 {
+ compatible = "st,tcpp03";
+ reg = <0x34>;
+ enable-gpios = <&gpiog 2 GPIO_ACTIVE_HIGH>;
+ interrupt-parent = <&gpiog>;
+ interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&tcpp_flgn_pins_a>;
+ };
+ };

--
2.43.0