xref: /linux/Documentation/devicetree/bindings/usb/maxim,max33359.yaml (revision fbf5df34a4dbcd09d433dd4f0916bf9b2ddb16de)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/usb/maxim,max33359.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Maxim TCPCI Type-C PD controller
8
9maintainers:
10  - Badhri Jagan Sridharan <badhri@google.com>
11
12description: Maxim TCPCI Type-C PD controller
13
14properties:
15  compatible:
16    oneOf:
17      - enum:
18          - maxim,max33359
19      - items:
20          - const: maxim,max77759-tcpci
21          - const: maxim,max33359
22
23  reg:
24    maxItems: 1
25
26  interrupts:
27    maxItems: 1
28
29  connector:
30    type: object
31    $ref: ../connector/usb-connector.yaml#
32    description:
33      Properties for usb c connector.
34
35  vbus-supply:
36    description: Regulator to control sourcing Vbus.
37
38required:
39  - compatible
40  - reg
41  - interrupts
42  - connector
43
44additionalProperties: false
45
46examples:
47  - |
48    #include <dt-bindings/interrupt-controller/irq.h>
49    #include <dt-bindings/usb/pd.h>
50    i2c {
51        #address-cells = <1>;
52        #size-cells = <0>;
53
54        maxtcpc@25 {
55            compatible = "maxim,max33359";
56            reg = <0x25>;
57            interrupt-parent = <&gpa8>;
58            interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
59            vbus-supply = <&chgin_otg_reg>;
60
61            connector {
62                compatible = "usb-c-connector";
63                label = "USB-C";
64                data-role = "dual";
65                power-role = "dual";
66                try-power-role = "sink";
67                self-powered;
68                op-sink-microwatt = <2600000>;
69                new-source-frs-typec-current = <FRS_5V_1P5A>;
70                source-pdos = <PDO_FIXED(5000, 900,
71                                         PDO_FIXED_SUSPEND |
72                                         PDO_FIXED_USB_COMM |
73                                         PDO_FIXED_DATA_SWAP |
74                                         PDO_FIXED_DUAL_ROLE)>;
75                sink-pdos = <PDO_FIXED(5000, 3000,
76                                       PDO_FIXED_USB_COMM |
77                                       PDO_FIXED_DATA_SWAP |
78                                       PDO_FIXED_DUAL_ROLE)
79                                       PDO_FIXED(9000, 2000, 0)>;
80                sink-bc12-completion-time-ms = <500>;
81                pd-revision = /bits/ 8 <0x03 0x01 0x01 0x08>;
82                sink-load-step = <150>;
83                sink-load-characteristics = /bits/ 16 <SINK_LOAD_CHAR(0, 1, 1, 2)>;
84                sink-compliance = /bits/ 8 <(COMPLIANCE_LPS | COMPLIANCE_PS1)>;
85                charging-adapter-pdp-milliwatt = <18000>;
86            };
87        };
88    };
89...
90