# 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 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 #include 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; }; }; }; };