xref: /linux/Documentation/devicetree/bindings/mfd/nxp,pf1550.yaml (revision 84318277d6334c6981ab326d4acc87c6a6ddc9b8)
1*2391e137SSamuel Kayode# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2*2391e137SSamuel Kayode%YAML 1.2
3*2391e137SSamuel Kayode---
4*2391e137SSamuel Kayode$id: http://devicetree.org/schemas/mfd/nxp,pf1550.yaml#
5*2391e137SSamuel Kayode$schema: http://devicetree.org/meta-schemas/core.yaml#
6*2391e137SSamuel Kayode
7*2391e137SSamuel Kayodetitle: NXP PF1550 Power Management IC
8*2391e137SSamuel Kayode
9*2391e137SSamuel Kayodemaintainers:
10*2391e137SSamuel Kayode  - Samuel Kayode <samuel.kayode@savoirfairelinux.com>
11*2391e137SSamuel Kayode
12*2391e137SSamuel Kayodedescription:
13*2391e137SSamuel Kayode  PF1550 PMIC provides battery charging and power supply for low power IoT and
14*2391e137SSamuel Kayode  wearable applications. This device consists of an i2c controlled MFD that
15*2391e137SSamuel Kayode  includes regulators, battery charging and an onkey/power button.
16*2391e137SSamuel Kayode
17*2391e137SSamuel Kayode$ref: /schemas/power/supply/power-supply.yaml
18*2391e137SSamuel Kayode
19*2391e137SSamuel Kayodeproperties:
20*2391e137SSamuel Kayode  compatible:
21*2391e137SSamuel Kayode    const: nxp,pf1550
22*2391e137SSamuel Kayode
23*2391e137SSamuel Kayode  reg:
24*2391e137SSamuel Kayode    maxItems: 1
25*2391e137SSamuel Kayode
26*2391e137SSamuel Kayode  interrupts:
27*2391e137SSamuel Kayode    maxItems: 1
28*2391e137SSamuel Kayode
29*2391e137SSamuel Kayode  wakeup-source: true
30*2391e137SSamuel Kayode
31*2391e137SSamuel Kayode  regulators:
32*2391e137SSamuel Kayode    type: object
33*2391e137SSamuel Kayode    additionalProperties: false
34*2391e137SSamuel Kayode
35*2391e137SSamuel Kayode    patternProperties:
36*2391e137SSamuel Kayode      "^(ldo[1-3]|sw[1-3]|vrefddr)$":
37*2391e137SSamuel Kayode        type: object
38*2391e137SSamuel Kayode        $ref: /schemas/regulator/regulator.yaml
39*2391e137SSamuel Kayode        description:
40*2391e137SSamuel Kayode          regulator configuration for ldo1-3, buck converters(sw1-3)
41*2391e137SSamuel Kayode          and DDR termination reference voltage (vrefddr)
42*2391e137SSamuel Kayode        unevaluatedProperties: false
43*2391e137SSamuel Kayode
44*2391e137SSamuel Kayode  monitored-battery:
45*2391e137SSamuel Kayode    description: |
46*2391e137SSamuel Kayode      A phandle to a monitored battery node that contains a valid value
47*2391e137SSamuel Kayode      for:
48*2391e137SSamuel Kayode      constant-charge-voltage-max-microvolt.
49*2391e137SSamuel Kayode
50*2391e137SSamuel Kayode  nxp,thermal-regulation-celsius:
51*2391e137SSamuel Kayode    description:
52*2391e137SSamuel Kayode      Temperature threshold for thermal regulation of charger in celsius.
53*2391e137SSamuel Kayode    enum: [ 80, 95, 110, 125 ]
54*2391e137SSamuel Kayode
55*2391e137SSamuel Kayode  nxp,min-system-microvolt:
56*2391e137SSamuel Kayode    description:
57*2391e137SSamuel Kayode      System specific lower limit voltage.
58*2391e137SSamuel Kayode    enum: [ 3500000, 3700000, 4300000 ]
59*2391e137SSamuel Kayode
60*2391e137SSamuel Kayode  nxp,disable-key-power:
61*2391e137SSamuel Kayode    type: boolean
62*2391e137SSamuel Kayode    description:
63*2391e137SSamuel Kayode      Disable power-down using a long key-press. The onkey driver will remove
64*2391e137SSamuel Kayode      support for the KEY_POWER key press when triggered using a long press of
65*2391e137SSamuel Kayode      the onkey.
66*2391e137SSamuel Kayode
67*2391e137SSamuel Kayoderequired:
68*2391e137SSamuel Kayode  - compatible
69*2391e137SSamuel Kayode  - reg
70*2391e137SSamuel Kayode  - interrupts
71*2391e137SSamuel Kayode
72*2391e137SSamuel KayodeunevaluatedProperties: false
73*2391e137SSamuel Kayode
74*2391e137SSamuel Kayodeexamples:
75*2391e137SSamuel Kayode  - |
76*2391e137SSamuel Kayode    #include <dt-bindings/interrupt-controller/irq.h>
77*2391e137SSamuel Kayode    #include <dt-bindings/input/linux-event-codes.h>
78*2391e137SSamuel Kayode
79*2391e137SSamuel Kayode    battery: battery-cell {
80*2391e137SSamuel Kayode        compatible = "simple-battery";
81*2391e137SSamuel Kayode        constant-charge-voltage-max-microvolt = <4400000>;
82*2391e137SSamuel Kayode    };
83*2391e137SSamuel Kayode
84*2391e137SSamuel Kayode    i2c {
85*2391e137SSamuel Kayode        #address-cells = <1>;
86*2391e137SSamuel Kayode        #size-cells = <0>;
87*2391e137SSamuel Kayode
88*2391e137SSamuel Kayode        pmic@8 {
89*2391e137SSamuel Kayode            compatible = "nxp,pf1550";
90*2391e137SSamuel Kayode            reg = <0x8>;
91*2391e137SSamuel Kayode
92*2391e137SSamuel Kayode            interrupt-parent = <&gpio1>;
93*2391e137SSamuel Kayode            interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
94*2391e137SSamuel Kayode            wakeup-source;
95*2391e137SSamuel Kayode            monitored-battery = <&battery>;
96*2391e137SSamuel Kayode            nxp,min-system-microvolt = <4300000>;
97*2391e137SSamuel Kayode            nxp,thermal-regulation-celsius = <80>;
98*2391e137SSamuel Kayode
99*2391e137SSamuel Kayode            regulators {
100*2391e137SSamuel Kayode                sw1_reg: sw1 {
101*2391e137SSamuel Kayode                    regulator-name = "sw1";
102*2391e137SSamuel Kayode                    regulator-min-microvolt = <600000>;
103*2391e137SSamuel Kayode                    regulator-max-microvolt = <1387500>;
104*2391e137SSamuel Kayode                    regulator-always-on;
105*2391e137SSamuel Kayode                    regulator-ramp-delay = <6250>;
106*2391e137SSamuel Kayode
107*2391e137SSamuel Kayode                    regulator-state-mem {
108*2391e137SSamuel Kayode                        regulator-on-in-suspend;
109*2391e137SSamuel Kayode                        regulator-suspend-min-microvolt = <1270000>;
110*2391e137SSamuel Kayode                    };
111*2391e137SSamuel Kayode                };
112*2391e137SSamuel Kayode
113*2391e137SSamuel Kayode                sw2_reg: sw2 {
114*2391e137SSamuel Kayode                    regulator-name = "sw2";
115*2391e137SSamuel Kayode                    regulator-min-microvolt = <600000>;
116*2391e137SSamuel Kayode                    regulator-max-microvolt = <1387500>;
117*2391e137SSamuel Kayode                    regulator-always-on;
118*2391e137SSamuel Kayode
119*2391e137SSamuel Kayode                    regulator-state-mem {
120*2391e137SSamuel Kayode                        regulator-on-in-suspend;
121*2391e137SSamuel Kayode                    };
122*2391e137SSamuel Kayode                };
123*2391e137SSamuel Kayode
124*2391e137SSamuel Kayode                sw3_reg: sw3 {
125*2391e137SSamuel Kayode                    regulator-name = "sw3";
126*2391e137SSamuel Kayode                    regulator-min-microvolt = <1800000>;
127*2391e137SSamuel Kayode                    regulator-max-microvolt = <3300000>;
128*2391e137SSamuel Kayode                    regulator-always-on;
129*2391e137SSamuel Kayode
130*2391e137SSamuel Kayode                    regulator-state-mem {
131*2391e137SSamuel Kayode                        regulator-on-in-suspend;
132*2391e137SSamuel Kayode                    };
133*2391e137SSamuel Kayode                };
134*2391e137SSamuel Kayode
135*2391e137SSamuel Kayode                vldo1_reg: ldo1 {
136*2391e137SSamuel Kayode                    regulator-name = "ldo1";
137*2391e137SSamuel Kayode                    regulator-min-microvolt = <750000>;
138*2391e137SSamuel Kayode                    regulator-max-microvolt = <3300000>;
139*2391e137SSamuel Kayode                    regulator-always-on;
140*2391e137SSamuel Kayode
141*2391e137SSamuel Kayode                    regulator-state-mem {
142*2391e137SSamuel Kayode                        regulator-off-in-suspend;
143*2391e137SSamuel Kayode                    };
144*2391e137SSamuel Kayode                };
145*2391e137SSamuel Kayode
146*2391e137SSamuel Kayode                vldo2_reg: ldo2 {
147*2391e137SSamuel Kayode                    regulator-name = "ldo2";
148*2391e137SSamuel Kayode                    regulator-min-microvolt = <1800000>;
149*2391e137SSamuel Kayode                    regulator-max-microvolt = <3300000>;
150*2391e137SSamuel Kayode                    regulator-always-on;
151*2391e137SSamuel Kayode                };
152*2391e137SSamuel Kayode
153*2391e137SSamuel Kayode                vldo3_reg: ldo3 {
154*2391e137SSamuel Kayode                    regulator-name = "ldo3";
155*2391e137SSamuel Kayode                    regulator-min-microvolt = <750000>;
156*2391e137SSamuel Kayode                    regulator-max-microvolt = <3300000>;
157*2391e137SSamuel Kayode                    regulator-always-on;
158*2391e137SSamuel Kayode                };
159*2391e137SSamuel Kayode            };
160*2391e137SSamuel Kayode        };
161*2391e137SSamuel Kayode    };
162