xref: /linux/Documentation/devicetree/bindings/usb/richtek,rt1711h.yaml (revision e7e86d7697c6ed1dbbde18d7185c35b6967945ed)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/usb/richtek,rt1711h.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Richtek RT1711H Type-C Port Switch and Power Delivery controller
8
9maintainers:
10  - Gene Chen <gene_chen@richtek.com>
11
12description: |
13  The RT1711H is a USB Type-C controller that complies with the latest
14  USB Type-C and PD standards. It does the USB Type-C detection including attach
15  and orientation. It integrates the physical layer of the USB BMC power
16  delivery protocol to allow up to 100W of power. The BMC PD block enables full
17  support for alternative interfaces of the Type-C specification.
18
19properties:
20  compatible:
21    enum:
22      - richtek,rt1711h
23      - richtek,rt1715
24    description:
25      RT1711H support PD20, RT1715 support PD30 except Fast Role Swap.
26
27  reg:
28    maxItems: 1
29
30  interrupts:
31    maxItems: 1
32
33  vbus-supply:
34    description: VBUS power supply
35
36  wakeup-source:
37    type: boolean
38
39  connector:
40    type: object
41    $ref: /schemas/connector/usb-connector.yaml#
42    description:
43      Properties for usb c connector.
44
45additionalProperties: false
46
47required:
48  - compatible
49  - reg
50  - connector
51  - interrupts
52
53examples:
54  - |
55    #include <dt-bindings/interrupt-controller/irq.h>
56    #include <dt-bindings/usb/pd.h>
57    i2c {
58      #address-cells = <1>;
59      #size-cells = <0>;
60
61      rt1711h@4e {
62        compatible = "richtek,rt1711h";
63        reg = <0x4e>;
64        interrupts-extended = <&gpio26 3 IRQ_TYPE_LEVEL_LOW>;
65        wakeup-source;
66
67        connector {
68          compatible = "usb-c-connector";
69          label = "USB-C";
70          data-role = "dual";
71          power-role = "dual";
72          try-power-role = "sink";
73          source-pdos = <PDO_FIXED(5000, 2000, PDO_FIXED_DUAL_ROLE | PDO_FIXED_DATA_SWAP)>;
74          sink-pdos = <PDO_FIXED(5000, 2000, PDO_FIXED_DUAL_ROLE | PDO_FIXED_DATA_SWAP)>;
75          op-sink-microwatt = <10000000>;
76
77          ports {
78            #address-cells = <1>;
79            #size-cells = <0>;
80
81            port@0 {
82              reg = <0>;
83              endpoint {
84                remote-endpoint = <&usb_hs>;
85              };
86            };
87            port@1 {
88              reg = <1>;
89              endpoint {
90                remote-endpoint = <&usb_ss>;
91              };
92            };
93            port@2 {
94              reg = <2>;
95              endpoint {
96                remote-endpoint = <&dp_aux>;
97              };
98            };
99          };
100        };
101      };
102    };
103...
104