Re: [PATCH 1/4] dt-bindings: usb: typec: add bindings for stm32g0 controller

From: Krzysztof Kozlowski
Date: Fri Jun 24 2022 - 12:16:37 EST


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