On 24/06/2022 17:54, Fabrice Gasnier wrote: > This patch adds DT schema documentation for the STM32G0 Type-C controller. No "This patch" https://elixir.bootlin.com/linux/v5.17.1/source/Documentation/process/submitting-patches.rst#L95 > STM32G0 provides an integrated USB Type-C and power delivery interface. > It can be programmed with a firmware to handle UCSI protocol over I2C > interface. A GPIO is used as an interrupt line. > It may be used as a wakeup source, so use optional "wakeup-source" and > "power-domains" properties to support wakeup. > > Signed-off-by: Fabrice Gasnier <fabrice.gasnier@xxxxxxxxxxx> > --- > .../bindings/usb/st,typec-stm32g0.yaml | 83 +++++++++++++++++++ > 1 file changed, 83 insertions(+) > create mode 100644 Documentation/devicetree/bindings/usb/st,typec-stm32g0.yaml > > diff --git a/Documentation/devicetree/bindings/usb/st,typec-stm32g0.yaml b/Documentation/devicetree/bindings/usb/st,typec-stm32g0.yaml > new file mode 100644 > index 0000000000000..b2729bd015a1a > --- /dev/null > +++ b/Documentation/devicetree/bindings/usb/st,typec-stm32g0.yaml > @@ -0,0 +1,83 @@ > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: "http://devicetree.org/schemas/usb/st,typec-stm32g0.yaml#" > +$schema: "http://devicetree.org/meta-schemas/core.yaml#" No quotes. > + > +title: STMicroelectronics STM32G0 Type-C controller bindings s/bindings// > + > +description: | > + The STM32G0 MCU can be programmed to control Type-C connector(s) through I2C > + typically using the UCSI protocol over I2C, with a dedicated alert > + (interrupt) pin. > + > +maintainers: > + - Fabrice Gasnier <fabrice.gasnier@xxxxxxxxxxx> > + > +properties: > + compatible: > + const: st,stm32g0-typec > + > + reg: > + maxItems: 1 > + > + interrupts: > + maxItems: 1 > + > + connector: > + type: object> + allOf: > + - $ref: ../connector/usb-connector.yaml# Full path, so /schemas/connector/... unevaluatedProperties: false > + > + firmware-name: > + description: | > + Should contain the name of the default firmware image > + file located on the firmware search path > + > + wakeup-source: true > + power-domains: true maxItems > + > +required: > + - compatible > + - reg > + - interrupts > + > +additionalProperties: false > + > +examples: > + - | > + #include <dt-bindings/interrupt-controller/irq.h> > + i2c5 { Just "i2c" > + #address-cells = <1>; > + #size-cells = <0>; > + > + stm32g0@53 { Generic node name describing class of the device. > + compatible = "st,stm32g0-typec"; > + reg = <0x53>; > + /* Alert pin on GPIO PE12 */ > + interrupts = <12 IRQ_TYPE_EDGE_FALLING>; > + interrupt-parent = <&gpioe>; > + > + /* Example with one type-C connector */ > + connector { > + compatible = "usb-c-connector"; > + label = "USB-C"; > + > + port { This does not look like proper schema of connector.yaml. > + con_usb_c_ep: endpoint { > + remote-endpoint = <&usbotg_hs_ep>; > + }; > + }; > + }; > + }; > + }; > + > + usbotg_hs { Generic node names, no underscores in node names. > + usb-role-switch; > + port { > + usbotg_hs_ep: endpoint { > + remote-endpoint = <&con_usb_c_ep>; > + }; > + }; > + }; > +... Best regards, Krzysztof