1# SPDX-License-Identifier: GPL-2.0-only
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/mfd/maxim,max77843.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Maxim MAX77843 MicroUSB and Companion Power Management IC
8
9maintainers:
10  - Krzysztof Kozlowski <krzk@kernel.org>
11
12description: |
13  This is a part of device tree bindings for Maxim MAX77843 MicroUSB
14  Integrated Circuit (MUIC).
15
16  The Maxim MAX77843 is a MicroUSB and Companion Power Management IC which
17  includes voltage current regulators, charger, fuel-gauge, haptic motor driver
18  and MicroUSB management IC.
19
20properties:
21  compatible:
22    const: maxim,max77843
23
24  interrupts:
25    maxItems: 1
26
27  reg:
28    maxItems: 1
29
30  extcon:
31    $ref: /schemas/extcon/maxim,max77843.yaml
32
33  motor-driver:
34    type: object
35    additionalProperties: false
36    properties:
37      compatible:
38        const: maxim,max77843-haptic
39
40      haptic-supply:
41        description: Power supply to the haptic motor
42
43      pwms:
44        maxItems: 1
45
46    required:
47      - compatible
48      - haptic-supply
49      - pwms
50
51  regulators:
52    $ref: /schemas/regulator/maxim,max77843.yaml
53
54required:
55  - compatible
56  - interrupts
57  - reg
58
59additionalProperties: false
60
61examples:
62  - |
63    #include <dt-bindings/interrupt-controller/irq.h>
64
65    i2c {
66        #address-cells = <1>;
67        #size-cells = <0>;
68
69        pmic@66 {
70            compatible = "maxim,max77843";
71            interrupt-parent = <&gpa1>;
72            interrupts = <5 IRQ_TYPE_EDGE_FALLING>;
73            reg = <0x66>;
74
75            extcon {
76                compatible = "maxim,max77843-muic";
77
78                connector {
79                    compatible = "samsung,usb-connector-11pin",
80                                 "usb-b-connector";
81                    label = "micro-USB";
82                    type = "micro";
83
84                    ports {
85                        #address-cells = <1>;
86                        #size-cells = <0>;
87
88                        port@0 {
89                            /*
90                             * TODO: The DTS this is based on does not have
91                             * port@0 which is a required property. The ports
92                             * look incomplete and need fixing.
93                             * Add a disabled port just to satisfy dtschema.
94                             */
95                            reg = <0>;
96                            status = "disabled";
97                        };
98
99                        port@3 {
100                            reg = <3>;
101                            endpoint {
102                                remote-endpoint = <&mhl_to_musb_con>;
103                            };
104                        };
105                    };
106                };
107
108                ports {
109                    port {
110                        endpoint {
111                            remote-endpoint = <&usb_to_muic>;
112                        };
113                    };
114                };
115            };
116
117            regulators {
118                compatible = "maxim,max77843-regulator";
119
120                SAFEOUT1 {
121                    regulator-name = "SAFEOUT1";
122                    regulator-min-microvolt = <3300000>;
123                    regulator-max-microvolt = <4950000>;
124                };
125
126                SAFEOUT2 {
127                    regulator-name = "SAFEOUT2";
128                    regulator-min-microvolt = <3300000>;
129                    regulator-max-microvolt = <4950000>;
130                };
131
132                CHARGER {
133                    regulator-name = "CHARGER";
134                    regulator-min-microamp = <100000>;
135                    regulator-max-microamp = <3150000>;
136                };
137            };
138
139            motor-driver {
140                compatible = "maxim,max77843-haptic";
141                haptic-supply = <&ldo38_reg>;
142                pwms = <&pwm 0 33670 0>;
143            };
144        };
145    };
146