On Wed, Oct 01, 2025 at 07:33:41PM +0000, Jameson Thies wrote: > Chrome OS devices with PDCs allow the host to read port status and > control port behavior with UCSI commands sent to the embedded controller > (EC). Add documentation for cros-ec-ucsi node which loads the Chrome OS > UCSI driver. > > Signed-off-by: Jameson Thies Reviewed-by: Benson Leung > --- > .../bindings/chrome/google,cros-ec-ucsi.yaml | 71 +++++++++++++++++++ > .../bindings/mfd/google,cros-ec.yaml | 4 +- > 2 files changed, 74 insertions(+), 1 deletion(-) > create mode 100644 Documentation/devicetree/bindings/chrome/google,cros-ec-ucsi.yaml > > diff --git a/Documentation/devicetree/bindings/chrome/google,cros-ec-ucsi.yaml b/Documentation/devicetree/bindings/chrome/google,cros-ec-ucsi.yaml > new file mode 100644 > index 000000000000..2121776e3ff0 > --- /dev/null > +++ b/Documentation/devicetree/bindings/chrome/google,cros-ec-ucsi.yaml > @@ -0,0 +1,71 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/chrome/google,cros-ec-ucsi.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Google Chrome OS EC(Embedded Controller) UCSI driver. > + > +maintainers: > + - Abhishek Pandit-Subedi > + - Andrei Kuchynski > + - Benson Leung > + - Jameson Thies > + - Ɓukasz Bartosik > + > +description: > + Chrome OS devices with PDC-based USB-C ports expose a UCSI interface > + from the Embedded Controller (EC) which allows the host to request > + port state and control limited port behavior (DR/PR swap). This node > + allows the host UCSI driver to send and receive UCSI commands to a > + Chrome OS EC. The node for this device should be under a cros-ec node > + like google,cros-ec-spi. > + > +properties: > + compatible: > + const: google,cros-ec-ucsi > + > + '#address-cells': > + const: 1 > + > + '#size-cells': > + const: 0 > + > +patternProperties: > + '^connector@[0-9a-f]+$': > + $ref: /schemas/connector/usb-connector.yaml# > + required: > + - reg > + > +required: > + - compatible > + > +additionalProperties: false > + > +examples: > + - |+ > + spi { > + #address-cells = <1>; > + #size-cells = <0>; > + > + cros_ec: ec@0 { > + compatible = "google,cros-ec-spi"; > + reg = <0>; > + interrupts = <35 0>; > + > + typec { > + compatible = "google,cros-ec-ucsi"; > + > + #address-cells = <1>; > + #size-cells = <0>; > + > + connector@0 { > + compatible = "usb-c-connector"; > + reg = <0>; > + power-role = "dual"; > + data-role = "dual"; > + try-power-role = "source"; > + }; > + }; > + }; > + }; > diff --git a/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml b/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml > index 50f457090066..646bc81c526f 100644 > --- a/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml > +++ b/Documentation/devicetree/bindings/mfd/google,cros-ec.yaml > @@ -99,7 +99,9 @@ properties: > gpio-controller: true > > typec: > - $ref: /schemas/chrome/google,cros-ec-typec.yaml# > + oneOf: > + - $ref: /schemas/chrome/google,cros-ec-typec.yaml# > + - $ref: /schemas/chrome/google,cros-ec-ucsi.yaml# > > ec-pwm: > $ref: /schemas/pwm/google,cros-ec-pwm.yaml# > -- > 2.51.0.618.g983fd99d29-goog >