summaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree/bindings/usb/richtek,rt1719.yaml
blob: 07bec1fe6ebf186e5fd7bae103bee8345c89d689 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/usb/richtek,rt1719.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Richtek RT1719 sink-only Type-C PD controller

maintainers:
  - ChiYuan Huang <cy_huang@richtek.com>

description: |
  The RT1719 is a sink-only USB Type-C controller that complies with the latest
  USB Type-C and PD standards. It does the USB Type-C detection including attach
  and orientation. It integrates the physical layer of the USB BMC power
  delivery protocol to allow up to 100W of power. The BMC PD block enables full
  support for alternative interfaces of the Type-C specification.

properties:
  compatible:
    enum:
      - richtek,rt1719

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  wakeup-source:
    description: enable IRQ remote wakeup, see power/wakeup-source.txt
    type: boolean

  connector:
    type: object
    $ref: ../connector/usb-connector.yaml#
    description:
      Properties for usb c connector.

additionalProperties: false

required:
  - compatible
  - reg
  - connector
  - interrupts

examples:
  - |
    #include <dt-bindings/interrupt-controller/irq.h>
    i2c {
      #address-cells = <1>;
      #size-cells = <0>;

      rt1719@43 {
        compatible = "richtek,rt1719";
        reg = <0x43>;
        interrupts-extended = <&gpio26 2 IRQ_TYPE_LEVEL_LOW>;
        wakeup-source;

        connector {
          compatible = "usb-c-connector";
          label = "USB-C";

          ports {
            #address-cells = <1>;
            #size-cells = <0>;

            port@0 {
              reg = <0>;
              endpoint {
                remote-endpoint = <&usb_hs>;
              };
            };
            port@1 {
              reg = <1>;
              endpoint {
                remote-endpoint = <&usb_ss>;
              };
            };
          };
        };
      };
    };
...