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