1239f2bb1SMaxime Ripard# SPDX-License-Identifier: GPL-2.0 2239f2bb1SMaxime Ripard%YAML 1.2 3239f2bb1SMaxime Ripard--- 4239f2bb1SMaxime Ripard$id: http://devicetree.org/schemas/mfd/x-powers,axp152.yaml# 5239f2bb1SMaxime Ripard$schema: http://devicetree.org/meta-schemas/core.yaml# 6239f2bb1SMaxime Ripard 7dd3cb467SAndrew Lunntitle: X-Powers AXP PMIC 8239f2bb1SMaxime Ripard 9239f2bb1SMaxime Ripardmaintainers: 10239f2bb1SMaxime Ripard - Chen-Yu Tsai <wens@csie.org> 11239f2bb1SMaxime Ripard 12239f2bb1SMaxime RipardallOf: 13239f2bb1SMaxime Ripard - if: 14239f2bb1SMaxime Ripard properties: 15239f2bb1SMaxime Ripard compatible: 16239f2bb1SMaxime Ripard contains: 17239f2bb1SMaxime Ripard enum: 18239f2bb1SMaxime Ripard - x-powers,axp152 19239f2bb1SMaxime Ripard - x-powers,axp202 20239f2bb1SMaxime Ripard - x-powers,axp209 21239f2bb1SMaxime Ripard 22239f2bb1SMaxime Ripard then: 23239f2bb1SMaxime Ripard properties: 24239f2bb1SMaxime Ripard regulators: 25239f2bb1SMaxime Ripard properties: 26239f2bb1SMaxime Ripard x-powers,dcdc-freq: 27239f2bb1SMaxime Ripard minimum: 750 28239f2bb1SMaxime Ripard maximum: 1875 29239f2bb1SMaxime Ripard default: 1500 30239f2bb1SMaxime Ripard 31239f2bb1SMaxime Ripard else: 32239f2bb1SMaxime Ripard properties: 33239f2bb1SMaxime Ripard regulators: 34239f2bb1SMaxime Ripard properties: 35239f2bb1SMaxime Ripard x-powers,dcdc-freq: 36239f2bb1SMaxime Ripard minimum: 1800 37239f2bb1SMaxime Ripard maximum: 4050 38239f2bb1SMaxime Ripard default: 3000 39239f2bb1SMaxime Ripard 40239f2bb1SMaxime Ripard - if: 41239f2bb1SMaxime Ripard properties: 42239f2bb1SMaxime Ripard compatible: 43239f2bb1SMaxime Ripard contains: 44239f2bb1SMaxime Ripard enum: 45239f2bb1SMaxime Ripard - x-powers,axp152 46239f2bb1SMaxime Ripard - x-powers,axp202 47239f2bb1SMaxime Ripard - x-powers,axp209 48239f2bb1SMaxime Ripard 49239f2bb1SMaxime Ripard then: 5066c8d559SKrzysztof Kozlowski properties: 5166c8d559SKrzysztof Kozlowski x-powers,drive-vbus-en: false 52239f2bb1SMaxime Ripard 53239f2bb1SMaxime Ripard - if: 54239f2bb1SMaxime Ripard not: 55239f2bb1SMaxime Ripard properties: 56239f2bb1SMaxime Ripard compatible: 57239f2bb1SMaxime Ripard contains: 58239f2bb1SMaxime Ripard const: x-powers,axp806 59239f2bb1SMaxime Ripard 60239f2bb1SMaxime Ripard then: 6166c8d559SKrzysztof Kozlowski properties: 6266c8d559SKrzysztof Kozlowski x-powers,self-working-mode: false 6366c8d559SKrzysztof Kozlowski x-powers,master-mode: false 64239f2bb1SMaxime Ripard 65239f2bb1SMaxime Ripard - if: 66239f2bb1SMaxime Ripard not: 67239f2bb1SMaxime Ripard properties: 68239f2bb1SMaxime Ripard compatible: 69239f2bb1SMaxime Ripard contains: 70239f2bb1SMaxime Ripard const: x-powers,axp305 71239f2bb1SMaxime Ripard 72239f2bb1SMaxime Ripard then: 73239f2bb1SMaxime Ripard required: 74239f2bb1SMaxime Ripard - interrupts 75239f2bb1SMaxime Ripard 76a33c6a22SMartin Botka - if: 77a33c6a22SMartin Botka properties: 78a33c6a22SMartin Botka compatible: 79a33c6a22SMartin Botka contains: 80*34480c6eSShengyu Qu enum: 81*34480c6eSShengyu Qu - x-powers,axp313a 82*34480c6eSShengyu Qu - x-powers,axp15060 83a33c6a22SMartin Botka 84a33c6a22SMartin Botka then: 85a33c6a22SMartin Botka properties: 86a33c6a22SMartin Botka x-powers,dcdc-freq: false 87a33c6a22SMartin Botka 88239f2bb1SMaxime Ripardproperties: 89239f2bb1SMaxime Ripard compatible: 90239f2bb1SMaxime Ripard oneOf: 91239f2bb1SMaxime Ripard - enum: 92239f2bb1SMaxime Ripard - x-powers,axp152 93239f2bb1SMaxime Ripard - x-powers,axp192 94239f2bb1SMaxime Ripard - x-powers,axp202 95239f2bb1SMaxime Ripard - x-powers,axp209 96239f2bb1SMaxime Ripard - x-powers,axp221 97a33c6a22SMartin Botka - x-powers,axp223 98239f2bb1SMaxime Ripard - x-powers,axp313a 99239f2bb1SMaxime Ripard - x-powers,axp803 100239f2bb1SMaxime Ripard - x-powers,axp806 101239f2bb1SMaxime Ripard - x-powers,axp809 102*34480c6eSShengyu Qu - x-powers,axp813 103239f2bb1SMaxime Ripard - x-powers,axp15060 104625065daSSamuel Holland - items: 105625065daSSamuel Holland - const: x-powers,axp228 106625065daSSamuel Holland - const: x-powers,axp221 107239f2bb1SMaxime Ripard - items: 108239f2bb1SMaxime Ripard - const: x-powers,axp805 109239f2bb1SMaxime Ripard - const: x-powers,axp806 110239f2bb1SMaxime Ripard - items: 111239f2bb1SMaxime Ripard - const: x-powers,axp305 112239f2bb1SMaxime Ripard - const: x-powers,axp805 113239f2bb1SMaxime Ripard - const: x-powers,axp806 114239f2bb1SMaxime Ripard - items: 115239f2bb1SMaxime Ripard - const: x-powers,axp818 116239f2bb1SMaxime Ripard - const: x-powers,axp813 117239f2bb1SMaxime Ripard 118239f2bb1SMaxime Ripard reg: 119239f2bb1SMaxime Ripard maxItems: 1 120239f2bb1SMaxime Ripard 121239f2bb1SMaxime Ripard interrupts: 122239f2bb1SMaxime Ripard maxItems: 1 123239f2bb1SMaxime Ripard 124239f2bb1SMaxime Ripard interrupt-controller: true 125239f2bb1SMaxime Ripard 126239f2bb1SMaxime Ripard "#interrupt-cells": 127239f2bb1SMaxime Ripard const: 1 128239f2bb1SMaxime Ripard 129239f2bb1SMaxime Ripard x-powers,drive-vbus-en: 130239f2bb1SMaxime Ripard type: boolean 131239f2bb1SMaxime Ripard description: > 132239f2bb1SMaxime Ripard Set this when the N_VBUSEN pin is used as an output pin to control an 133239f2bb1SMaxime Ripard external regulator to drive the OTG VBus, rather then as an input pin 134239f2bb1SMaxime Ripard which signals whether the board is driving OTG VBus or not. 135239f2bb1SMaxime Ripard 136239f2bb1SMaxime Ripard x-powers,self-working-mode: 137239f2bb1SMaxime Ripard type: boolean 138239f2bb1SMaxime Ripard description: > 139239f2bb1SMaxime Ripard Set this when the PMIC is wired for self-working mode through the MODESET 140239f2bb1SMaxime Ripard pin. 141239f2bb1SMaxime Ripard 142239f2bb1SMaxime Ripard x-powers,master-mode: 143239f2bb1SMaxime Ripard type: boolean 144239f2bb1SMaxime Ripard description: > 145239f2bb1SMaxime Ripard Set this when the PMIC is wired for master mode through the MODESET pin. 146239f2bb1SMaxime Ripard 147239f2bb1SMaxime Ripard vin1-supply: 148239f2bb1SMaxime Ripard description: > 149239f2bb1SMaxime Ripard DCDC1 power supply node, if present. 150239f2bb1SMaxime Ripard 151239f2bb1SMaxime Ripard vin2-supply: 152239f2bb1SMaxime Ripard description: > 153239f2bb1SMaxime Ripard DCDC2 power supply node, if present. 154239f2bb1SMaxime Ripard 155239f2bb1SMaxime Ripard vin3-supply: 156239f2bb1SMaxime Ripard description: > 157239f2bb1SMaxime Ripard DCDC3 power supply node, if present. 158239f2bb1SMaxime Ripard 159239f2bb1SMaxime Ripard vin4-supply: 160239f2bb1SMaxime Ripard description: > 161239f2bb1SMaxime Ripard DCDC4 power supply node, if present. 162239f2bb1SMaxime Ripard 163239f2bb1SMaxime Ripard vin5-supply: 164239f2bb1SMaxime Ripard description: > 165239f2bb1SMaxime Ripard DCDC5 power supply node, if present. 166239f2bb1SMaxime Ripard 167239f2bb1SMaxime Ripard vin6-supply: 168239f2bb1SMaxime Ripard description: > 169239f2bb1SMaxime Ripard DCDC6 power supply node, if present. 170239f2bb1SMaxime Ripard 171239f2bb1SMaxime Ripard vin7-supply: 172239f2bb1SMaxime Ripard description: > 173239f2bb1SMaxime Ripard DCDC7 power supply node, if present. 174239f2bb1SMaxime Ripard 175239f2bb1SMaxime Ripard vina-supply: 176239f2bb1SMaxime Ripard description: > 177239f2bb1SMaxime Ripard DCDCA power supply node, if present. 178239f2bb1SMaxime Ripard 179239f2bb1SMaxime Ripard vinb-supply: 180239f2bb1SMaxime Ripard description: > 181239f2bb1SMaxime Ripard DCDCB power supply node, if present. 182239f2bb1SMaxime Ripard 183239f2bb1SMaxime Ripard vinc-supply: 184239f2bb1SMaxime Ripard description: > 185239f2bb1SMaxime Ripard DCDCC power supply node, if present. 186239f2bb1SMaxime Ripard 187239f2bb1SMaxime Ripard vind-supply: 188239f2bb1SMaxime Ripard description: > 189239f2bb1SMaxime Ripard DCDCD power supply node, if present. 190239f2bb1SMaxime Ripard 191239f2bb1SMaxime Ripard vine-supply: 192239f2bb1SMaxime Ripard description: > 193239f2bb1SMaxime Ripard DCDCE power supply node, if present. 194239f2bb1SMaxime Ripard 195239f2bb1SMaxime Ripard acin-supply: 196239f2bb1SMaxime Ripard description: > 197239f2bb1SMaxime Ripard LDO1 power supply node, if present. 198239f2bb1SMaxime Ripard 199239f2bb1SMaxime Ripard ldo24in-supply: 200239f2bb1SMaxime Ripard description: > 201239f2bb1SMaxime Ripard LDO2 and LDO4 power supply node, if present. 202239f2bb1SMaxime Ripard 203239f2bb1SMaxime Ripard ldo3in-supply: 204239f2bb1SMaxime Ripard description: > 205239f2bb1SMaxime Ripard LDO3 power supply node, if present. 206239f2bb1SMaxime Ripard 207239f2bb1SMaxime Ripard ldo5in-supply: 208239f2bb1SMaxime Ripard description: > 209239f2bb1SMaxime Ripard LDO5 power supply node, if present. 210239f2bb1SMaxime Ripard 211239f2bb1SMaxime Ripard aldoin-supply: 212239f2bb1SMaxime Ripard description: > 213239f2bb1SMaxime Ripard ALDO* power supply node, if present. 214239f2bb1SMaxime Ripard 215239f2bb1SMaxime Ripard bldoin-supply: 216239f2bb1SMaxime Ripard description: > 217239f2bb1SMaxime Ripard BLDO* power supply node, if present. 218239f2bb1SMaxime Ripard 219239f2bb1SMaxime Ripard cldoin-supply: 220239f2bb1SMaxime Ripard description: > 221239f2bb1SMaxime Ripard CLDO* power supply node, if present. 222239f2bb1SMaxime Ripard 223239f2bb1SMaxime Ripard dldoin-supply: 224239f2bb1SMaxime Ripard description: > 225239f2bb1SMaxime Ripard DLDO* power supply node, if present. 226239f2bb1SMaxime Ripard 227239f2bb1SMaxime Ripard eldoin-supply: 228239f2bb1SMaxime Ripard description: > 229239f2bb1SMaxime Ripard ELDO* power supply node, if present. 230239f2bb1SMaxime Ripard 231239f2bb1SMaxime Ripard fldoin-supply: 232239f2bb1SMaxime Ripard description: > 233239f2bb1SMaxime Ripard FLDO* power supply node, if present. 234239f2bb1SMaxime Ripard 235239f2bb1SMaxime Ripard ips-supply: 236239f2bb1SMaxime Ripard description: > 237239f2bb1SMaxime Ripard LDO_IO0, LDO_IO1 and RTC_LDO power supply node, if present. 238239f2bb1SMaxime Ripard 239239f2bb1SMaxime Ripard drivevbus-supply: 240239f2bb1SMaxime Ripard description: > 241239f2bb1SMaxime Ripard DRIVEVBUS power supply node, if present. 242239f2bb1SMaxime Ripard 243239f2bb1SMaxime Ripard swin-supply: 244239f2bb1SMaxime Ripard description: > 245239f2bb1SMaxime Ripard SW power supply node, if present. 246239f2bb1SMaxime Ripard 247239f2bb1SMaxime Ripard adc: 248239f2bb1SMaxime Ripard $ref: /schemas/iio/adc/x-powers,axp209-adc.yaml# 249239f2bb1SMaxime Ripard 250239f2bb1SMaxime Ripard gpio: 251239f2bb1SMaxime Ripard $ref: /schemas/gpio/x-powers,axp209-gpio.yaml# 252239f2bb1SMaxime Ripard 253239f2bb1SMaxime Ripard ac-power: 254239f2bb1SMaxime Ripard $ref: /schemas/power/supply/x-powers,axp20x-ac-power-supply.yaml# 255239f2bb1SMaxime Ripard 256239f2bb1SMaxime Ripard battery-power: 257239f2bb1SMaxime Ripard $ref: /schemas/power/supply/x-powers,axp20x-battery-power-supply.yaml# 258239f2bb1SMaxime Ripard 259239f2bb1SMaxime Ripard usb-power: 260239f2bb1SMaxime Ripard $ref: /schemas/power/supply/x-powers,axp20x-usb-power-supply.yaml# 261239f2bb1SMaxime Ripard 262239f2bb1SMaxime Ripard regulators: 263239f2bb1SMaxime Ripard type: object 264239f2bb1SMaxime Ripard 265239f2bb1SMaxime Ripard properties: 266239f2bb1SMaxime Ripard x-powers,dcdc-freq: 267239f2bb1SMaxime Ripard $ref: /schemas/types.yaml#/definitions/uint32 268239f2bb1SMaxime Ripard description: > 269239f2bb1SMaxime Ripard Defines the work frequency of DC-DC in kHz. 270239f2bb1SMaxime Ripard 271*34480c6eSShengyu Qu patternProperties: 272239f2bb1SMaxime Ripard "^(([a-f])?ldo[0-9]|dcdc[0-7a-e]|ldo(_|-)io(0|1)|(dc1)?sw|rtc(_|-)ldo|cpusldo|drivevbus|dc5ldo)$": 273239f2bb1SMaxime Ripard $ref: /schemas/regulator/regulator.yaml# 27442839dcaSRob Herring type: object 275239f2bb1SMaxime Ripard unevaluatedProperties: false 276239f2bb1SMaxime Ripard 277239f2bb1SMaxime Ripard properties: 278239f2bb1SMaxime Ripard regulator-ramp-delay: 279239f2bb1SMaxime Ripard description: > 280239f2bb1SMaxime Ripard Only 800 and 1600 are valid for the DCDC2 and LDO3 regulators on 281239f2bb1SMaxime Ripard the AXP209. 282239f2bb1SMaxime Ripard 283239f2bb1SMaxime Ripard regulator-soft-start: 284239f2bb1SMaxime Ripard description: > 285239f2bb1SMaxime Ripard Only valid for the LDO3 regulator. 286239f2bb1SMaxime Ripard 287239f2bb1SMaxime Ripard x-powers,dcdc-workmode: 288239f2bb1SMaxime Ripard $ref: /schemas/types.yaml#/definitions/uint32 289239f2bb1SMaxime Ripard enum: [0, 1] 290239f2bb1SMaxime Ripard description: > 291239f2bb1SMaxime Ripard Only valid for DCDC regulators. Setup 1 for PWM mode, 0 292239f2bb1SMaxime Ripard for AUTO (PWM/PFM) mode. The DCDC regulators work in a 293239f2bb1SMaxime Ripard mixed PWM/PFM mode, using PFM under light loads and 294239f2bb1SMaxime Ripard switching to PWM for heavier loads. Forcing PWM mode 295239f2bb1SMaxime Ripard trades efficiency under light loads for lower output 296239f2bb1SMaxime Ripard noise. This probably makes sense for HiFi audio related 297239f2bb1SMaxime Ripard applications that aren't battery constrained. 298239f2bb1SMaxime Ripard 299239f2bb1SMaxime Ripard additionalProperties: false 300239f2bb1SMaxime Ripard 301239f2bb1SMaxime Ripardrequired: 302239f2bb1SMaxime Ripard - compatible 303239f2bb1SMaxime Ripard - reg 304239f2bb1SMaxime Ripard - "#interrupt-cells" 305239f2bb1SMaxime Ripard - interrupt-controller 306239f2bb1SMaxime Ripard 307239f2bb1SMaxime RipardadditionalProperties: false 308239f2bb1SMaxime Ripard 309239f2bb1SMaxime Ripardexamples: 31020a72af1SRob Herring - | 311239f2bb1SMaxime Ripard i2c { 312239f2bb1SMaxime Ripard #address-cells = <1>; 313239f2bb1SMaxime Ripard #size-cells = <0>; 314239f2bb1SMaxime Ripard 315239f2bb1SMaxime Ripard pmic@30 { 316239f2bb1SMaxime Ripard compatible = "x-powers,axp152"; 317239f2bb1SMaxime Ripard reg = <0x30>; 318239f2bb1SMaxime Ripard interrupts = <0>; 319239f2bb1SMaxime Ripard interrupt-controller; 320239f2bb1SMaxime Ripard #interrupt-cells = <1>; 321239f2bb1SMaxime Ripard }; 322239f2bb1SMaxime Ripard }; 323239f2bb1SMaxime Ripard 324239f2bb1SMaxime Ripard - | 325239f2bb1SMaxime Ripard #include <dt-bindings/interrupt-controller/irq.h> 32620a72af1SRob Herring 327239f2bb1SMaxime Ripard i2c { 328239f2bb1SMaxime Ripard #address-cells = <1>; 329239f2bb1SMaxime Ripard #size-cells = <0>; 330239f2bb1SMaxime Ripard 331239f2bb1SMaxime Ripard pmic@34 { 332239f2bb1SMaxime Ripard compatible = "x-powers,axp209"; 333239f2bb1SMaxime Ripard reg = <0x34>; 334239f2bb1SMaxime Ripard interrupt-parent = <&nmi_intc>; 335239f2bb1SMaxime Ripard interrupts = <0 IRQ_TYPE_LEVEL_LOW>; 336239f2bb1SMaxime Ripard interrupt-controller; 337239f2bb1SMaxime Ripard #interrupt-cells = <1>; 338239f2bb1SMaxime Ripard 339239f2bb1SMaxime Ripard ac_power_supply: ac-power { 340239f2bb1SMaxime Ripard compatible = "x-powers,axp202-ac-power-supply"; 341239f2bb1SMaxime Ripard }; 342239f2bb1SMaxime Ripard 343239f2bb1SMaxime Ripard axp_adc: adc { 344239f2bb1SMaxime Ripard compatible = "x-powers,axp209-adc"; 345239f2bb1SMaxime Ripard #io-channel-cells = <1>; 346239f2bb1SMaxime Ripard }; 347239f2bb1SMaxime Ripard 348239f2bb1SMaxime Ripard axp_gpio: gpio { 349239f2bb1SMaxime Ripard compatible = "x-powers,axp209-gpio"; 350239f2bb1SMaxime Ripard gpio-controller; 351239f2bb1SMaxime Ripard #gpio-cells = <2>; 352239f2bb1SMaxime Ripard 353239f2bb1SMaxime Ripard gpio0-adc-pin { 354239f2bb1SMaxime Ripard pins = "GPIO0"; 355239f2bb1SMaxime Ripard function = "adc"; 356239f2bb1SMaxime Ripard }; 357239f2bb1SMaxime Ripard }; 358239f2bb1SMaxime Ripard 359239f2bb1SMaxime Ripard battery_power_supply: battery-power { 360239f2bb1SMaxime Ripard compatible = "x-powers,axp209-battery-power-supply"; 361239f2bb1SMaxime Ripard }; 362239f2bb1SMaxime Ripard 363239f2bb1SMaxime Ripard regulators { 364239f2bb1SMaxime Ripard /* Default work frequency for buck regulators */ 365239f2bb1SMaxime Ripard x-powers,dcdc-freq = <1500>; 366239f2bb1SMaxime Ripard 367239f2bb1SMaxime Ripard reg_dcdc2: dcdc2 { 368239f2bb1SMaxime Ripard regulator-always-on; 369239f2bb1SMaxime Ripard regulator-min-microvolt = <1000000>; 370239f2bb1SMaxime Ripard regulator-max-microvolt = <1450000>; 371239f2bb1SMaxime Ripard regulator-name = "vdd-cpu"; 372239f2bb1SMaxime Ripard }; 373239f2bb1SMaxime Ripard 374239f2bb1SMaxime Ripard reg_dcdc3: dcdc3 { 375239f2bb1SMaxime Ripard regulator-always-on; 376239f2bb1SMaxime Ripard regulator-min-microvolt = <1000000>; 377239f2bb1SMaxime Ripard regulator-max-microvolt = <1400000>; 378239f2bb1SMaxime Ripard regulator-name = "vdd-int-dll"; 379239f2bb1SMaxime Ripard }; 380239f2bb1SMaxime Ripard 381239f2bb1SMaxime Ripard reg_ldo1: ldo1 { 382239f2bb1SMaxime Ripard /* LDO1 is a fixed output regulator */ 383239f2bb1SMaxime Ripard regulator-always-on; 384239f2bb1SMaxime Ripard regulator-min-microvolt = <1300000>; 385239f2bb1SMaxime Ripard regulator-max-microvolt = <1300000>; 386239f2bb1SMaxime Ripard regulator-name = "vdd-rtc"; 387239f2bb1SMaxime Ripard }; 388239f2bb1SMaxime Ripard 389239f2bb1SMaxime Ripard reg_ldo2: ldo2 { 390239f2bb1SMaxime Ripard regulator-always-on; 391239f2bb1SMaxime Ripard regulator-min-microvolt = <3000000>; 392239f2bb1SMaxime Ripard regulator-max-microvolt = <3000000>; 393239f2bb1SMaxime Ripard regulator-name = "avcc"; 394239f2bb1SMaxime Ripard }; 395239f2bb1SMaxime Ripard 396239f2bb1SMaxime Ripard reg_ldo3: ldo3 { 397239f2bb1SMaxime Ripard regulator-name = "ldo3"; 398239f2bb1SMaxime Ripard }; 399239f2bb1SMaxime Ripard 400239f2bb1SMaxime Ripard reg_ldo4: ldo4 { 401239f2bb1SMaxime Ripard regulator-name = "ldo4"; 402239f2bb1SMaxime Ripard }; 403239f2bb1SMaxime Ripard 404239f2bb1SMaxime Ripard reg_ldo5: ldo5 { 405239f2bb1SMaxime Ripard regulator-name = "ldo5"; 406239f2bb1SMaxime Ripard }; 407239f2bb1SMaxime Ripard }; 408239f2bb1SMaxime Ripard 409239f2bb1SMaxime Ripard usb_power_supply: usb-power { 410239f2bb1SMaxime Ripard compatible = "x-powers,axp202-usb-power-supply"; 411239f2bb1SMaxime Ripard }; 412239f2bb1SMaxime Ripard }; 413 }; 414