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 = <®_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>; > + }; > + }; > + }; > + }; > + };