diff mbox series

[RFC,v2,1/2] dt-bindings: usb: Add DT bindings for Microchip sama7g5 tcpc

Message ID 20210330205442.981649-2-cristian.birsan@microchip.com
State New
Headers show
Series usb: typec: Add driver for Microchip sama7g5 tcpc | expand

Commit Message

cristian.birsan@microchip.com March 30, 2021, 8:54 p.m. UTC
From: Cristian Birsan <cristian.birsan@microchip.com>

This patch adds DT bindings for the new Microchip USB Type-C Port
Controller (TCPC) embedded in sama7g5 SoC.

Signed-off-by: Cristian Birsan <cristian.birsan@microchip.com>
---
 .../bindings/usb/microchip,sama7g5-tcpc.yaml  | 90 +++++++++++++++++++
 1 file changed, 90 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/usb/microchip,sama7g5-tcpc.yaml

Comments

Rob Herring (Arm) April 1, 2021, 5:16 p.m. UTC | #1
On Tue, Mar 30, 2021 at 11:54:41PM +0300, cristian.birsan@microchip.com wrote:
> From: Cristian Birsan <cristian.birsan@microchip.com>

> 

> This patch adds DT bindings for the new Microchip USB Type-C Port

> Controller (TCPC) embedded in sama7g5 SoC.

> 

> Signed-off-by: Cristian Birsan <cristian.birsan@microchip.com>

> ---

>  .../bindings/usb/microchip,sama7g5-tcpc.yaml  | 90 +++++++++++++++++++

>  1 file changed, 90 insertions(+)

>  create mode 100644 Documentation/devicetree/bindings/usb/microchip,sama7g5-tcpc.yaml

> 

> diff --git a/Documentation/devicetree/bindings/usb/microchip,sama7g5-tcpc.yaml b/Documentation/devicetree/bindings/usb/microchip,sama7g5-tcpc.yaml

> new file mode 100644

> index 000000000000..2d3289dd9ac9

> --- /dev/null

> +++ b/Documentation/devicetree/bindings/usb/microchip,sama7g5-tcpc.yaml

> @@ -0,0 +1,90 @@

> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)

> +%YAML 1.2

> +---

> +$id: "http://devicetree.org/schemas/usb/microchip,sama7g5-tcpc.yaml#"

> +$schema: "http://devicetree.org/meta-schemas/core.yaml#"

> +

> +title: Microchip SAMA7G5 Type-C port controller bindings

> +

> +maintainers:

> +  - Cristian Birsan <cristian.birsan@microchip.com>

> +

> +properties:

> +  compatible:

> +    enum:

> +      - microchip,sama7g5-tcpc

> +

> +  reg:

> +    maxItems: 1

> +

> +  clocks:

> +    items:

> +      - description: Peripheral Bus Clock

> +      - description: Generic Clock

> +

> +  clock-names:

> +    items:

> +      - const: pclk

> +      - const: gclk

> +

> +  vbus-supply:

> +    description: vbus power supply (5V) phandle


This belongs in the connector node unless this chip uses Vbus as a 
supply.

> +

> +  microchip,vbus-gpio:

> +    description: vbus detect gpio


We have standard property for this in the connector node.

> +

> +  connector:

> +    type: object

> +

> +    allOf:

> +      - $ref: ../connector/usb-connector.yaml


You can drop 'allOf'. And add:

       unevaluatedProperties: false

> +

> +    properties:

> +      compatible:

> +        const: usb-c-connector

> +

> +      power-role: true

> +

> +    required:

> +      - compatible

> +

> +required:

> +  - compatible

> +  - reg

> +  - connector

> +

> +additionalProperties: false

> +

> +examples:

> +  - |

> +    #include <dt-bindings/clock/at91.h>

> +    #include <dt-bindings/usb/pd.h>

> +    tcpcb: tcpcb@e0844000 {

> +      compatible = "microchip,sama7g5-tcpc";

> +      reg = <0xe0844000 0x3fff>;

> +      clocks = <&pmc PMC_TYPE_PERIPHERAL 95>, <&pmc PMC_TYPE_GCK 95>;

> +      clock-names = "pclk", "gclk";

> +

> +      usb_con: connector {

> +        #address-cells = <1>;

> +        #size-cells = <0>;

> +        compatible = "usb-c-connector";

> +        label = "USB-C";

> +        data-role = "device";

> +        power-role = "sink";

> +        try-power-role = "sink";

> +        source-pdos = <PDO_FIXED(5000, 500,

> +            PDO_FIXED_USB_COMM)>;

> +        sink-pdos = <PDO_FIXED(5000, 500,

> +            PDO_FIXED_USB_COMM)>;

> +        op-sink-microwatt = <2500000>;

> +

> +        port@1 {

> +          reg = <1>;

> +          usb_con_hs: endpoint {

> +            remote-endpoint = <&usb_phy1>;

> +          };

> +        };

> +      };

> +    };

> +...

> -- 

> 2.25.1

>
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/usb/microchip,sama7g5-tcpc.yaml b/Documentation/devicetree/bindings/usb/microchip,sama7g5-tcpc.yaml
new file mode 100644
index 000000000000..2d3289dd9ac9
--- /dev/null
+++ b/Documentation/devicetree/bindings/usb/microchip,sama7g5-tcpc.yaml
@@ -0,0 +1,90 @@ 
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: "http://devicetree.org/schemas/usb/microchip,sama7g5-tcpc.yaml#"
+$schema: "http://devicetree.org/meta-schemas/core.yaml#"
+
+title: Microchip SAMA7G5 Type-C port controller bindings
+
+maintainers:
+  - Cristian Birsan <cristian.birsan@microchip.com>
+
+properties:
+  compatible:
+    enum:
+      - microchip,sama7g5-tcpc
+
+  reg:
+    maxItems: 1
+
+  clocks:
+    items:
+      - description: Peripheral Bus Clock
+      - description: Generic Clock
+
+  clock-names:
+    items:
+      - const: pclk
+      - const: gclk
+
+  vbus-supply:
+    description: vbus power supply (5V) phandle
+
+  microchip,vbus-gpio:
+    description: vbus detect gpio
+
+  connector:
+    type: object
+
+    allOf:
+      - $ref: ../connector/usb-connector.yaml
+
+    properties:
+      compatible:
+        const: usb-c-connector
+
+      power-role: true
+
+    required:
+      - compatible
+
+required:
+  - compatible
+  - reg
+  - connector
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/clock/at91.h>
+    #include <dt-bindings/usb/pd.h>
+    tcpcb: tcpcb@e0844000 {
+      compatible = "microchip,sama7g5-tcpc";
+      reg = <0xe0844000 0x3fff>;
+      clocks = <&pmc PMC_TYPE_PERIPHERAL 95>, <&pmc PMC_TYPE_GCK 95>;
+      clock-names = "pclk", "gclk";
+
+      usb_con: connector {
+        #address-cells = <1>;
+        #size-cells = <0>;
+        compatible = "usb-c-connector";
+        label = "USB-C";
+        data-role = "device";
+        power-role = "sink";
+        try-power-role = "sink";
+        source-pdos = <PDO_FIXED(5000, 500,
+            PDO_FIXED_USB_COMM)>;
+        sink-pdos = <PDO_FIXED(5000, 500,
+            PDO_FIXED_USB_COMM)>;
+        op-sink-microwatt = <2500000>;
+
+        port@1 {
+          reg = <1>;
+          usb_con_hs: endpoint {
+            remote-endpoint = <&usb_phy1>;
+          };
+        };
+      };
+    };
+...