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