xref: /freebsd/sys/contrib/device-tree/Bindings/mfd/maxim,max77693.yaml (revision aa1a8ff2d6dbc51ef058f46f3db5a8bb77967145)
1c9ccf3a3SEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only
2c9ccf3a3SEmmanuel Vadot%YAML 1.2
3c9ccf3a3SEmmanuel Vadot---
4c9ccf3a3SEmmanuel Vadot$id: http://devicetree.org/schemas/mfd/maxim,max77693.yaml#
5c9ccf3a3SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6c9ccf3a3SEmmanuel Vadot
7c9ccf3a3SEmmanuel Vadottitle: Maxim MAX77693 MicroUSB and Companion Power Management IC
8c9ccf3a3SEmmanuel Vadot
9c9ccf3a3SEmmanuel Vadotmaintainers:
10c9ccf3a3SEmmanuel Vadot  - Chanwoo Choi <cw00.choi@samsung.com>
11c9ccf3a3SEmmanuel Vadot  - Krzysztof Kozlowski <krzk@kernel.org>
12c9ccf3a3SEmmanuel Vadot
13c9ccf3a3SEmmanuel Vadotdescription: |
14c9ccf3a3SEmmanuel Vadot  This is a part of device tree bindings for Maxim MAX77693 MicroUSB
15c9ccf3a3SEmmanuel Vadot  Integrated Circuit (MUIC).
16c9ccf3a3SEmmanuel Vadot
17c9ccf3a3SEmmanuel Vadot  The Maxim MAX77693 is a MicroUSB and Companion Power Management IC which
18c9ccf3a3SEmmanuel Vadot  includes voltage current regulators, charger, LED/flash, haptic motor driver
19c9ccf3a3SEmmanuel Vadot  and MicroUSB management IC.
20c9ccf3a3SEmmanuel Vadot
21c9ccf3a3SEmmanuel Vadotproperties:
22c9ccf3a3SEmmanuel Vadot  compatible:
23c9ccf3a3SEmmanuel Vadot    const: maxim,max77693
24c9ccf3a3SEmmanuel Vadot
25c9ccf3a3SEmmanuel Vadot  interrupts:
26c9ccf3a3SEmmanuel Vadot    maxItems: 1
27c9ccf3a3SEmmanuel Vadot
28c9ccf3a3SEmmanuel Vadot  reg:
29c9ccf3a3SEmmanuel Vadot    maxItems: 1
30c9ccf3a3SEmmanuel Vadot
31c9ccf3a3SEmmanuel Vadot  charger:
32c9ccf3a3SEmmanuel Vadot    $ref: /schemas/power/supply/maxim,max77693.yaml
33c9ccf3a3SEmmanuel Vadot
34c9ccf3a3SEmmanuel Vadot  led:
35c9ccf3a3SEmmanuel Vadot    $ref: /schemas/leds/maxim,max77693.yaml
36c9ccf3a3SEmmanuel Vadot
37c9ccf3a3SEmmanuel Vadot  max77693-muic:
38c9ccf3a3SEmmanuel Vadot    type: object
39c9ccf3a3SEmmanuel Vadot    additionalProperties: false
40*aa1a8ff2SEmmanuel Vadot    deprecated: true
41c9ccf3a3SEmmanuel Vadot
42c9ccf3a3SEmmanuel Vadot    properties:
43c9ccf3a3SEmmanuel Vadot      compatible:
44c9ccf3a3SEmmanuel Vadot        const: maxim,max77693-muic
45c9ccf3a3SEmmanuel Vadot
46c9ccf3a3SEmmanuel Vadot    required:
47c9ccf3a3SEmmanuel Vadot      - compatible
48c9ccf3a3SEmmanuel Vadot
49*aa1a8ff2SEmmanuel Vadot  muic:
50*aa1a8ff2SEmmanuel Vadot    type: object
51*aa1a8ff2SEmmanuel Vadot    additionalProperties: false
52*aa1a8ff2SEmmanuel Vadot
53*aa1a8ff2SEmmanuel Vadot    properties:
54*aa1a8ff2SEmmanuel Vadot      compatible:
55*aa1a8ff2SEmmanuel Vadot        const: maxim,max77693-muic
56*aa1a8ff2SEmmanuel Vadot
57*aa1a8ff2SEmmanuel Vadot      connector:
58*aa1a8ff2SEmmanuel Vadot        $ref: /schemas/connector/usb-connector.yaml#
59*aa1a8ff2SEmmanuel Vadot        unevaluatedProperties: false
60*aa1a8ff2SEmmanuel Vadot
61*aa1a8ff2SEmmanuel Vadot    required:
62*aa1a8ff2SEmmanuel Vadot      - compatible
63*aa1a8ff2SEmmanuel Vadot
64c9ccf3a3SEmmanuel Vadot  motor-driver:
65c9ccf3a3SEmmanuel Vadot    type: object
66c9ccf3a3SEmmanuel Vadot    additionalProperties: false
67c9ccf3a3SEmmanuel Vadot
68c9ccf3a3SEmmanuel Vadot    properties:
69c9ccf3a3SEmmanuel Vadot      compatible:
70c9ccf3a3SEmmanuel Vadot        const: maxim,max77693-haptic
71c9ccf3a3SEmmanuel Vadot
72c9ccf3a3SEmmanuel Vadot      haptic-supply:
73c9ccf3a3SEmmanuel Vadot        description: Power supply to the haptic motor
74c9ccf3a3SEmmanuel Vadot
75c9ccf3a3SEmmanuel Vadot      pwms:
76c9ccf3a3SEmmanuel Vadot        maxItems: 1
77c9ccf3a3SEmmanuel Vadot
78c9ccf3a3SEmmanuel Vadot    required:
79c9ccf3a3SEmmanuel Vadot      - compatible
80c9ccf3a3SEmmanuel Vadot      - haptic-supply
81c9ccf3a3SEmmanuel Vadot      - pwms
82c9ccf3a3SEmmanuel Vadot
83c9ccf3a3SEmmanuel Vadot  regulators:
84c9ccf3a3SEmmanuel Vadot    $ref: ../regulator/maxim,max77693.yaml
85c9ccf3a3SEmmanuel Vadot    description:
86c9ccf3a3SEmmanuel Vadot      List of child nodes that specify the regulators.
87c9ccf3a3SEmmanuel Vadot
88c9ccf3a3SEmmanuel Vadotrequired:
89c9ccf3a3SEmmanuel Vadot  - compatible
90c9ccf3a3SEmmanuel Vadot  - interrupts
91c9ccf3a3SEmmanuel Vadot  - reg
92c9ccf3a3SEmmanuel Vadot
93c9ccf3a3SEmmanuel VadotadditionalProperties: false
94c9ccf3a3SEmmanuel Vadot
95c9ccf3a3SEmmanuel Vadotexamples:
96c9ccf3a3SEmmanuel Vadot  - |
97c9ccf3a3SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/irq.h>
98c9ccf3a3SEmmanuel Vadot    #include <dt-bindings/leds/common.h>
99c9ccf3a3SEmmanuel Vadot
100c9ccf3a3SEmmanuel Vadot    i2c {
101c9ccf3a3SEmmanuel Vadot        #address-cells = <1>;
102c9ccf3a3SEmmanuel Vadot        #size-cells = <0>;
103c9ccf3a3SEmmanuel Vadot
104c9ccf3a3SEmmanuel Vadot        pmic@66 {
105c9ccf3a3SEmmanuel Vadot            compatible = "maxim,max77693";
106c9ccf3a3SEmmanuel Vadot            reg = <0x66>;
107c9ccf3a3SEmmanuel Vadot            interrupt-parent = <&gpx1>;
108c9ccf3a3SEmmanuel Vadot            interrupts = <5 IRQ_TYPE_LEVEL_LOW>;
109c9ccf3a3SEmmanuel Vadot
110c9ccf3a3SEmmanuel Vadot            regulators {
111c9ccf3a3SEmmanuel Vadot                ESAFEOUT1 {
112c9ccf3a3SEmmanuel Vadot                    regulator-name = "ESAFEOUT1";
113c9ccf3a3SEmmanuel Vadot                };
114c9ccf3a3SEmmanuel Vadot
115c9ccf3a3SEmmanuel Vadot                ESAFEOUT2 {
116c9ccf3a3SEmmanuel Vadot                    regulator-name = "ESAFEOUT2";
117c9ccf3a3SEmmanuel Vadot                };
118c9ccf3a3SEmmanuel Vadot
119c9ccf3a3SEmmanuel Vadot                CHARGER {
120c9ccf3a3SEmmanuel Vadot                    regulator-name = "CHARGER";
121c9ccf3a3SEmmanuel Vadot                    regulator-min-microamp = <60000>;
122c9ccf3a3SEmmanuel Vadot                    regulator-max-microamp = <2580000>;
123c9ccf3a3SEmmanuel Vadot                };
124c9ccf3a3SEmmanuel Vadot            };
125c9ccf3a3SEmmanuel Vadot
126*aa1a8ff2SEmmanuel Vadot            muic {
127*aa1a8ff2SEmmanuel Vadot                compatible = "maxim,max77693-muic";
128*aa1a8ff2SEmmanuel Vadot
129*aa1a8ff2SEmmanuel Vadot                connector {
130*aa1a8ff2SEmmanuel Vadot                    compatible = "samsung,usb-connector-11pin",
131*aa1a8ff2SEmmanuel Vadot                                 "usb-b-connector";
132*aa1a8ff2SEmmanuel Vadot                    label = "micro-USB";
133*aa1a8ff2SEmmanuel Vadot                    type = "micro";
134*aa1a8ff2SEmmanuel Vadot
135*aa1a8ff2SEmmanuel Vadot                    ports {
136*aa1a8ff2SEmmanuel Vadot                        #address-cells = <1>;
137*aa1a8ff2SEmmanuel Vadot                        #size-cells = <0>;
138*aa1a8ff2SEmmanuel Vadot
139*aa1a8ff2SEmmanuel Vadot                        port@0 {
140*aa1a8ff2SEmmanuel Vadot                            reg = <0>;
141*aa1a8ff2SEmmanuel Vadot
142*aa1a8ff2SEmmanuel Vadot                            muic_to_usb: endpoint {
143*aa1a8ff2SEmmanuel Vadot                                remote-endpoint = <&usb_to_muic>;
144*aa1a8ff2SEmmanuel Vadot                            };
145*aa1a8ff2SEmmanuel Vadot                        };
146*aa1a8ff2SEmmanuel Vadot
147*aa1a8ff2SEmmanuel Vadot                        port@3 {
148*aa1a8ff2SEmmanuel Vadot                            reg = <3>;
149*aa1a8ff2SEmmanuel Vadot
150*aa1a8ff2SEmmanuel Vadot                            muic_to_mhl: endpoint {
151*aa1a8ff2SEmmanuel Vadot                                remote-endpoint = <&mhl_to_muic>;
152*aa1a8ff2SEmmanuel Vadot                            };
153*aa1a8ff2SEmmanuel Vadot                        };
154*aa1a8ff2SEmmanuel Vadot                    };
155*aa1a8ff2SEmmanuel Vadot                };
156*aa1a8ff2SEmmanuel Vadot            };
157*aa1a8ff2SEmmanuel Vadot
158c9ccf3a3SEmmanuel Vadot            motor-driver {
159c9ccf3a3SEmmanuel Vadot                compatible = "maxim,max77693-haptic";
160c9ccf3a3SEmmanuel Vadot                haptic-supply = <&ldo26_reg>;
161c9ccf3a3SEmmanuel Vadot                pwms = <&pwm 0 38022 0>;
162c9ccf3a3SEmmanuel Vadot            };
163c9ccf3a3SEmmanuel Vadot
164c9ccf3a3SEmmanuel Vadot            charger {
165c9ccf3a3SEmmanuel Vadot                compatible = "maxim,max77693-charger";
166c9ccf3a3SEmmanuel Vadot
167c9ccf3a3SEmmanuel Vadot                maxim,constant-microvolt = <4350000>;
168c9ccf3a3SEmmanuel Vadot                maxim,min-system-microvolt = <3600000>;
169c9ccf3a3SEmmanuel Vadot                maxim,thermal-regulation-celsius = <100>;
170c9ccf3a3SEmmanuel Vadot                maxim,battery-overcurrent-microamp = <3500000>;
171c9ccf3a3SEmmanuel Vadot                maxim,charge-input-threshold-microvolt = <4300000>;
172c9ccf3a3SEmmanuel Vadot            };
173c9ccf3a3SEmmanuel Vadot
174c9ccf3a3SEmmanuel Vadot            led {
175c9ccf3a3SEmmanuel Vadot                compatible = "maxim,max77693-led";
176c9ccf3a3SEmmanuel Vadot                maxim,boost-mode = <LEDS_BOOST_FIXED>;
177c9ccf3a3SEmmanuel Vadot                maxim,boost-mvout = <5000>;
178c9ccf3a3SEmmanuel Vadot                maxim,mvsys-min = <2400>;
179c9ccf3a3SEmmanuel Vadot
180c9ccf3a3SEmmanuel Vadot                flash-led {
181c9ccf3a3SEmmanuel Vadot                    label = "max77693-flash";
182c9ccf3a3SEmmanuel Vadot                    function = LED_FUNCTION_FLASH;
183c9ccf3a3SEmmanuel Vadot                    color = <LED_COLOR_ID_WHITE>;
184c9ccf3a3SEmmanuel Vadot                    led-sources = <0>, <1>;
185c9ccf3a3SEmmanuel Vadot                    led-max-microamp = <500000>;
186c9ccf3a3SEmmanuel Vadot                    flash-max-microamp = <1250000>;
187c9ccf3a3SEmmanuel Vadot                    flash-max-timeout-us = <1000000>;
188c9ccf3a3SEmmanuel Vadot                };
189c9ccf3a3SEmmanuel Vadot            };
190c9ccf3a3SEmmanuel Vadot        };
191c9ccf3a3SEmmanuel Vadot    };
192