Linux 6.9-rc1
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / mfd / maxim,max77843.yaml
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
7 title: Maxim MAX77843 MicroUSB and Companion Power Management IC
8
9 maintainers:
10   - Krzysztof Kozlowski <krzk@kernel.org>
11
12 description: |
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
20 properties:
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
54 required:
55   - compatible
56   - interrupts
57   - reg
58
59 additionalProperties: false
60
61 examples:
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     };