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