Re: [PATCH 1/4] dt-bindings: usb: Document ST UCPD

Fabrice Gasnier <[email protected]>
Newsgroups org.kernel.vger.linux-devicetree,org.infradead.lists.linux-arm-kernel,org.kernel.vger.linux-kernel,org.kernel.vger.linux-usb
Message-ID <[email protected]>
On 8/19/26 18:33, Marek Vasut wrote:
> Document ST UCPD Type-C block. 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.

Hi Marek, All,

I've sent a series for the complete case. Please check and review here:
https://lore.kernel.org/linux-usb/20260821-ucpd-host-fusb340-v7-2-rfc-v1-0-c5e27cbc0795@foss.st.com/

Thanks,
BR,
Fabrice

> 
> Signed-off-by: Marek Vasut <[email protected]>
> ---
> Cc: Alexandre Torgue <[email protected]>
> Cc: Conor Dooley <[email protected]>
> Cc: Greg Kroah-Hartman <[email protected]>
> Cc: Heikki Krogerus <[email protected]>
> Cc: Krzysztof Kozlowski <[email protected]>
> Cc: Maxime Coquelin <[email protected]>
> Cc: Rob Herring <[email protected]>
> Cc: Sebastian Reichel <[email protected]>
> Cc: [email protected]
> Cc: [email protected]
> Cc: [email protected]
> Cc: [email protected]
> Cc: [email protected]
> Cc: [email protected]
> ---
>  .../bindings/usb/st,stm32mp25-ucpd.yaml       | 154 ++++++++++++++++++
>  1 file changed, 154 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/usb/st,stm32mp25-ucpd.yaml
> 
> diff --git a/Documentation/devicetree/bindings/usb/st,stm32mp25-ucpd.yaml b/Documentation/devicetree/bindings/usb/st,stm32mp25-ucpd.yaml
> new file mode 100644
> index 0000000000000..9b13efdc90597
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/usb/st,stm32mp25-ucpd.yaml
> @@ -0,0 +1,154 @@
> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/usb/st,stm32mp25-ucpd.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: STMicroelectronics STM32MP25 UCPD Type-C controller
> +
> +maintainers:
> +  - Marek Vasut <[email protected]>
> +
> +description:
> +  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.
> +
> +properties:
> +  compatible:
> +    const: st,stm32mp25-ucpd
> +
> +  reg:
> +    maxItems: 1
> +
> +  access-controllers:
> +    maxItems: 1
> +
> +  clocks:
> +    minItems: 2
> +    maxItems: 2
> +
> +  clock-names:
> +    items:
> +      - const: apb
> +      - const: ker
> +
> +  interrupts:
> +    maxItems: 1
> +
> +  nvmem-cells:
> +    maxItems: 1
> +
> +  nvmem-cell-names:
> +    const: trim
> +
> +  power-domains:
> +    maxItems: 1
> +
> +  resets:
> +    maxItems: 1
> +
> +  reset-names:
> +    const: phy
> +
> +  vconn-gpios:
> +    description: GPIOs used to control CC1 and CC2 Vconn
> +
> +  vdd33-supply:
> +    description: Regulator that supplies the CC lines driver
> +
> +  connector:
> +    type: object
> +    $ref: /schemas/connector/usb-connector.yaml#
> +    unevaluatedProperties: false
> +
> +    properties:
> +      compatible:
> +        const: usb-c-connector
> +
> +      power-role: true
> +
> +      typec-power-opmode: true
> +
> +    required:
> +      - compatible
> +
> +required:
> +  - compatible
> +  - reg
> +  - clocks
> +  - clock-names
> +  - interrupts
> +  - nvmem-cells
> +  - nvmem-cell-names
> +  - power-domains
> +  - resets
> +  - reset-names
> +
> +unevaluatedProperties: false
> +
> +examples:
> +  - |
> +    #include <dt-bindings/clock/st,stm32mp25-rcc.h>
> +    #include <dt-bindings/interrupt-controller/arm-gic.h>
> +    #include <dt-bindings/reset/st,stm32mp25-rcc.h>
> +
> +    ucpd: phy@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 = <46 IRQ_TYPE_LEVEL_HIGH>;
> +        nvmem-cells = <&ucpdtrim>;
> +        nvmem-cell-names = "trim";
> +        power-domains = <&cluster_pd>;
> +        resets = <&rcc USBTC_R>;
> +        reset-names = "phy";
> +
> +        vconn-gpios = <&tcpp 0 0>, <&tcpp 1 0>;
> +        vdd33-supply = <&scmi_vdd33ucpd>;
> +
> +        connector {
> +            compatible = "usb-c-connector";
> +            label = "USB-C";
> +            data-role = "dual";
> +            power-role = "source";
> +            self-powered;
> +            vbus-gpios = <&gpioa 10 0>;
> +            vbus-supply = <&reg_usbc_vbus>;
> +
> +            altmodes {
> +                displayport {
> +                    svid = /bits/ 16 <0xff01>;
> +                    vdo = <0xffffffff>;
> +                };
> +            };
> +
> +            ports {
> +                #address-cells = <1>;
> +                #size-cells = <0>;
> +
> +                port@0 {
> +                    reg = <0>;
> +                    usbc0_hs_ep: endpoint {
> +                        remote-endpoint = <&usb_drd0_hs_ep>;
> +                    };
> +                };
> +                port@1 {
> +                    reg = <1>;
> +                    usbc0_ss_ep: endpoint {
> +                        remote-endpoint = <&usb_drd0_ss_ep>;
> +                    };
> +                };
> +
> +                port@2 {
> +                    reg = <2>;
> +                    usbc0_sbu_ep: endpoint {
> +                        remote-endpoint = <&usb_sbu_ep>;
> +                    };
> +                };
> +            };
> +        };
> +    };
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.