mirror of
https://github.com/torvalds/linux.git
synced 2025-12-07 20:06:24 +00:00
dt-bindings: mfd: Add binding for the PF1550 PMIC
Add a DT binding document for pf1550 PMIC. This describes the core MFD device along with its children: regulators, charger and onkey. Signed-off-by: Samuel Kayode <samuel.kayode@savoirfairelinux.com> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Tested-by: Sean Nyekjaer <sean@geanix.com> Link: https://patch.msgid.link/20251001-pf1550-v12-1-a3302aa41687@savoirfairelinux.com Signed-off-by: Lee Jones <lee@kernel.org>
This commit is contained in:
161
Documentation/devicetree/bindings/mfd/nxp,pf1550.yaml
Normal file
161
Documentation/devicetree/bindings/mfd/nxp,pf1550.yaml
Normal file
@@ -0,0 +1,161 @@
|
||||
# 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;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
Reference in New Issue
Block a user