blob: e50dc44252c60063463295c5ec3e3c90d1592ec2 [file] [edit]
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/mfd/nxp,pf1550.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: NXP PF1550 Power Management IC
maintainers:
- Samuel Kayode <samuel.kayode@savoirfairelinux.com>
description:
PF1550 PMIC provides battery charging and power supply for low power IoT and
wearable applications. This device consists of an i2c controlled MFD that
includes regulators, battery charging and an onkey/power button.
$ref: /schemas/power/supply/power-supply.yaml
properties:
compatible:
const: nxp,pf1550
reg:
maxItems: 1
interrupts:
maxItems: 1
wakeup-source: true
regulators:
type: object
additionalProperties: false
patternProperties:
"^(ldo[1-3]|sw[1-3]|vrefddr)$":
type: object
$ref: /schemas/regulator/regulator.yaml
description:
regulator configuration for ldo1-3, buck converters(sw1-3)
and DDR termination reference voltage (vrefddr)
unevaluatedProperties: false
monitored-battery:
description: |
A phandle to a monitored battery node that contains a valid value
for:
constant-charge-voltage-max-microvolt.
nxp,thermal-regulation-celsius:
description:
Temperature threshold for thermal regulation of charger in celsius.
enum: [ 80, 95, 110, 125 ]
nxp,min-system-microvolt:
description:
System specific lower limit voltage.
enum: [ 3500000, 3700000, 4300000 ]
nxp,disable-key-power:
type: boolean
description:
Disable power-down using a long key-press. The onkey driver will remove
support for the KEY_POWER key press when triggered using a long press of
the onkey.
required:
- compatible
- reg
- interrupts
unevaluatedProperties: false
examples:
- |
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/input/linux-event-codes.h>
battery: battery-cell {
compatible = "simple-battery";
constant-charge-voltage-max-microvolt = <4400000>;
};
i2c {
#address-cells = <1>;
#size-cells = <0>;
pmic@8 {
compatible = "nxp,pf1550";
reg = <0x8>;
interrupt-parent = <&gpio1>;
interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
wakeup-source;
monitored-battery = <&battery>;
nxp,min-system-microvolt = <4300000>;
nxp,thermal-regulation-celsius = <80>;
regulators {
sw1_reg: sw1 {
regulator-name = "sw1";
regulator-min-microvolt = <600000>;
regulator-max-microvolt = <1387500>;
regulator-always-on;
regulator-ramp-delay = <6250>;
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-min-microvolt = <1270000>;
};
};
sw2_reg: sw2 {
regulator-name = "sw2";
regulator-min-microvolt = <600000>;
regulator-max-microvolt = <1387500>;
regulator-always-on;
regulator-state-mem {
regulator-on-in-suspend;
};
};
sw3_reg: sw3 {
regulator-name = "sw3";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
regulator-state-mem {
regulator-on-in-suspend;
};
};
vldo1_reg: ldo1 {
regulator-name = "ldo1";
regulator-min-microvolt = <750000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
vldo2_reg: ldo2 {
regulator-name = "ldo2";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
};
vldo3_reg: ldo3 {
regulator-name = "ldo3";
regulator-min-microvolt = <750000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
};
};
};
};