arm64: dts: qcom: sm8550: add TRNG node
[linux-modified.git] / Documentation / devicetree / bindings / usb / richtek,rt1711h.yaml
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
7 title: Richtek RT1711H Type-C Port Switch and Power Delivery controller
8
9 maintainers:
10   - Gene Chen <gene_chen@richtek.com>
11
12 description: |
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
19 properties:
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   wakeup-source:
34     type: boolean
35
36   connector:
37     type: object
38     $ref: /schemas/connector/usb-connector.yaml#
39     description:
40       Properties for usb c connector.
41
42 additionalProperties: false
43
44 required:
45   - compatible
46   - reg
47   - connector
48   - interrupts
49
50 examples:
51   - |
52     #include <dt-bindings/interrupt-controller/irq.h>
53     #include <dt-bindings/usb/pd.h>
54     i2c {
55       #address-cells = <1>;
56       #size-cells = <0>;
57
58       rt1711h@4e {
59         compatible = "richtek,rt1711h";
60         reg = <0x4e>;
61         interrupts-extended = <&gpio26 3 IRQ_TYPE_LEVEL_LOW>;
62         wakeup-source;
63
64         connector {
65           compatible = "usb-c-connector";
66           label = "USB-C";
67           data-role = "dual";
68           power-role = "dual";
69           try-power-role = "sink";
70           source-pdos = <PDO_FIXED(5000, 2000, PDO_FIXED_DUAL_ROLE | PDO_FIXED_DATA_SWAP)>;
71           sink-pdos = <PDO_FIXED(5000, 2000, PDO_FIXED_DUAL_ROLE | PDO_FIXED_DATA_SWAP)>;
72           op-sink-microwatt = <10000000>;
73
74           ports {
75             #address-cells = <1>;
76             #size-cells = <0>;
77
78             port@0 {
79               reg = <0>;
80               endpoint {
81                 remote-endpoint = <&usb_hs>;
82               };
83             };
84             port@1 {
85               reg = <1>;
86               endpoint {
87                 remote-endpoint = <&usb_ss>;
88               };
89             };
90             port@2 {
91               reg = <2>;
92               endpoint {
93                 remote-endpoint = <&dp_aux>;
94               };
95             };
96           };
97         };
98       };
99     };
100 ...