12eb4d8dcSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 22eb4d8dcSEmmanuel Vadot%YAML 1.2 32eb4d8dcSEmmanuel Vadot--- 42eb4d8dcSEmmanuel Vadot$id: http://devicetree.org/schemas/mfd/actions,atc260x.yaml# 52eb4d8dcSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 62eb4d8dcSEmmanuel Vadot 78bab661aSEmmanuel Vadottitle: Actions Semi ATC260x Power Management IC 82eb4d8dcSEmmanuel Vadot 92eb4d8dcSEmmanuel Vadotmaintainers: 102eb4d8dcSEmmanuel Vadot - Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> 112eb4d8dcSEmmanuel Vadot - Cristian Ciocaltea <cristian.ciocaltea@gmail.com> 122eb4d8dcSEmmanuel Vadot 132eb4d8dcSEmmanuel Vadotdescription: | 142eb4d8dcSEmmanuel Vadot ATC260x series PMICs integrates Audio Codec, Power Management, RTC, IR 152eb4d8dcSEmmanuel Vadot and GPIO controller blocks. Currently only the PM related functionalities 162eb4d8dcSEmmanuel Vadot (i.e. regulators and system power-off/reboot) for the ATC2603C and ATC2609A 172eb4d8dcSEmmanuel Vadot chip variants are supported. 182eb4d8dcSEmmanuel Vadot ATC2603C includes 3 programmable DC-DC converters, 9 programmable LDO 192eb4d8dcSEmmanuel Vadot regulators and 1 fixed LDO regulator. 202eb4d8dcSEmmanuel Vadot ATC2609A includes 5 programmable DC-DC converters and 10 programmable LDO 212eb4d8dcSEmmanuel Vadot regulators. 222eb4d8dcSEmmanuel Vadot 232eb4d8dcSEmmanuel VadotallOf: 242eb4d8dcSEmmanuel Vadot - $ref: ../input/input.yaml 252eb4d8dcSEmmanuel Vadot 262eb4d8dcSEmmanuel Vadotproperties: 272eb4d8dcSEmmanuel Vadot compatible: 282eb4d8dcSEmmanuel Vadot enum: 292eb4d8dcSEmmanuel Vadot - actions,atc2603c 302eb4d8dcSEmmanuel Vadot - actions,atc2609a 312eb4d8dcSEmmanuel Vadot 322eb4d8dcSEmmanuel Vadot reg: 332eb4d8dcSEmmanuel Vadot maxItems: 1 342eb4d8dcSEmmanuel Vadot 352eb4d8dcSEmmanuel Vadot interrupts: 362eb4d8dcSEmmanuel Vadot maxItems: 1 372eb4d8dcSEmmanuel Vadot 382eb4d8dcSEmmanuel Vadot reset-time-sec: 392eb4d8dcSEmmanuel Vadot description: | 402eb4d8dcSEmmanuel Vadot Duration in seconds which the key should be kept pressed for device 412eb4d8dcSEmmanuel Vadot to reset automatically. The hardware default is 8. Use 0 to disable 422eb4d8dcSEmmanuel Vadot this functionality. 432eb4d8dcSEmmanuel Vadot enum: [0, 6, 8, 10, 12] 442eb4d8dcSEmmanuel Vadot 452eb4d8dcSEmmanuel Vadot regulators: 462eb4d8dcSEmmanuel Vadot type: object 472eb4d8dcSEmmanuel Vadot description: | 482eb4d8dcSEmmanuel Vadot List of child nodes specifying the regulators, depending on chip variant: 492eb4d8dcSEmmanuel Vadot * ATC2603C: dcdc[1-3], ldo[1-3,5-8,11,12], switchldo1 502eb4d8dcSEmmanuel Vadot * ATC2609A: dcdc[0-4], ldo[0-9] 512eb4d8dcSEmmanuel Vadot 522eb4d8dcSEmmanuel Vadot properties: 532eb4d8dcSEmmanuel Vadot compatible: 542eb4d8dcSEmmanuel Vadot enum: 552eb4d8dcSEmmanuel Vadot - actions,atc2603c-regulator 562eb4d8dcSEmmanuel Vadot - actions,atc2609a-regulator 572eb4d8dcSEmmanuel Vadot 582eb4d8dcSEmmanuel Vadot switchldo1: 592eb4d8dcSEmmanuel Vadot type: object 602eb4d8dcSEmmanuel Vadot $ref: ../regulator/regulator.yaml 612eb4d8dcSEmmanuel Vadot 622eb4d8dcSEmmanuel Vadot properties: 632eb4d8dcSEmmanuel Vadot regulator-name: true 642eb4d8dcSEmmanuel Vadot regulator-boot-on: true 652eb4d8dcSEmmanuel Vadot regulator-always-on: true 662eb4d8dcSEmmanuel Vadot regulator-min-microvolt: true 672eb4d8dcSEmmanuel Vadot regulator-max-microvolt: true 682eb4d8dcSEmmanuel Vadot regulator-allow-bypass: true 692eb4d8dcSEmmanuel Vadot regulator-active-discharge: true 702eb4d8dcSEmmanuel Vadot 712eb4d8dcSEmmanuel Vadot additionalProperties: false 722eb4d8dcSEmmanuel Vadot 732eb4d8dcSEmmanuel Vadot patternProperties: 742eb4d8dcSEmmanuel Vadot "^(dcdc[0-4]|ldo[0-9]|ldo1[1-2]|switchldo1)-supply$": 752eb4d8dcSEmmanuel Vadot description: ATC260x voltage regulators supplies 762eb4d8dcSEmmanuel Vadot 772eb4d8dcSEmmanuel Vadot "^(dcdc[0-4]|ldo[0-9]|ldo1[1-2])$": 782eb4d8dcSEmmanuel Vadot type: object 792eb4d8dcSEmmanuel Vadot $ref: ../regulator/regulator.yaml 802eb4d8dcSEmmanuel Vadot 812eb4d8dcSEmmanuel Vadot properties: 822eb4d8dcSEmmanuel Vadot regulator-name: true 832eb4d8dcSEmmanuel Vadot regulator-boot-on: true 842eb4d8dcSEmmanuel Vadot regulator-always-on: true 852eb4d8dcSEmmanuel Vadot regulator-min-microvolt: true 862eb4d8dcSEmmanuel Vadot regulator-max-microvolt: true 872eb4d8dcSEmmanuel Vadot regulator-allow-bypass: true 882eb4d8dcSEmmanuel Vadot 892eb4d8dcSEmmanuel Vadot additionalProperties: false 902eb4d8dcSEmmanuel Vadot 912eb4d8dcSEmmanuel Vadot allOf: 922eb4d8dcSEmmanuel Vadot - if: 932eb4d8dcSEmmanuel Vadot properties: 942eb4d8dcSEmmanuel Vadot compatible: 952eb4d8dcSEmmanuel Vadot contains: 962eb4d8dcSEmmanuel Vadot const: actions,atc2603c-regulator 972eb4d8dcSEmmanuel Vadot then: 982eb4d8dcSEmmanuel Vadot patternProperties: 992eb4d8dcSEmmanuel Vadot "^(dcdc[0,4]|ldo[0,4,9])(-supply)?$": false 1002eb4d8dcSEmmanuel Vadot 1012eb4d8dcSEmmanuel Vadot "^(ldo|dcdc)": 1022eb4d8dcSEmmanuel Vadot properties: 1032eb4d8dcSEmmanuel Vadot regulator-allow-bypass: false 1042eb4d8dcSEmmanuel Vadot - if: 1052eb4d8dcSEmmanuel Vadot properties: 1062eb4d8dcSEmmanuel Vadot compatible: 1072eb4d8dcSEmmanuel Vadot contains: 1082eb4d8dcSEmmanuel Vadot const: actions,atc2609a-regulator 1092eb4d8dcSEmmanuel Vadot then: 1102eb4d8dcSEmmanuel Vadot patternProperties: 1112eb4d8dcSEmmanuel Vadot "^(ldo1[1-2]|switchldo1)(-supply)?$": false 1122eb4d8dcSEmmanuel Vadot 1132eb4d8dcSEmmanuel Vadot "^(dcdc|ldo[3-9])": 1142eb4d8dcSEmmanuel Vadot properties: 1152eb4d8dcSEmmanuel Vadot regulator-allow-bypass: false 1162eb4d8dcSEmmanuel Vadot 1172eb4d8dcSEmmanuel Vadot required: 1182eb4d8dcSEmmanuel Vadot - compatible 1192eb4d8dcSEmmanuel Vadot 1202eb4d8dcSEmmanuel Vadot additionalProperties: false 1212eb4d8dcSEmmanuel Vadot 1222eb4d8dcSEmmanuel VadotadditionalProperties: false 1232eb4d8dcSEmmanuel Vadot 1242eb4d8dcSEmmanuel Vadotrequired: 1252eb4d8dcSEmmanuel Vadot - compatible 1262eb4d8dcSEmmanuel Vadot - reg 1272eb4d8dcSEmmanuel Vadot - interrupts 1282eb4d8dcSEmmanuel Vadot 1292eb4d8dcSEmmanuel Vadotexamples: 1302eb4d8dcSEmmanuel Vadot - | 1312eb4d8dcSEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 132*fac71e4eSEmmanuel Vadot i2c { 1332eb4d8dcSEmmanuel Vadot #address-cells = <1>; 1342eb4d8dcSEmmanuel Vadot #size-cells = <0>; 1352eb4d8dcSEmmanuel Vadot 1362eb4d8dcSEmmanuel Vadot pmic@65 { 1372eb4d8dcSEmmanuel Vadot compatible = "actions,atc2603c"; 1382eb4d8dcSEmmanuel Vadot reg = <0x65>; 1392eb4d8dcSEmmanuel Vadot interrupt-parent = <&sirq>; 1402eb4d8dcSEmmanuel Vadot interrupts = <2 IRQ_TYPE_LEVEL_HIGH>; 1412eb4d8dcSEmmanuel Vadot 1422eb4d8dcSEmmanuel Vadot reset-time-sec = <6>; 1432eb4d8dcSEmmanuel Vadot 1442eb4d8dcSEmmanuel Vadot regulators { 1452eb4d8dcSEmmanuel Vadot compatible = "actions,atc2603c-regulator"; 1462eb4d8dcSEmmanuel Vadot 1472eb4d8dcSEmmanuel Vadot dcdc1-supply = <®_5v0>; 1482eb4d8dcSEmmanuel Vadot dcdc3-supply = <®_5v0>; 1492eb4d8dcSEmmanuel Vadot ldo5-supply = <®_5v0>; 1502eb4d8dcSEmmanuel Vadot switchldo1-supply = <&vcc>; 1512eb4d8dcSEmmanuel Vadot 1522eb4d8dcSEmmanuel Vadot vdd_cpu: dcdc1 { 1532eb4d8dcSEmmanuel Vadot regulator-name = "VDD_CPU"; 1542eb4d8dcSEmmanuel Vadot regulator-min-microvolt = <700000>; 1552eb4d8dcSEmmanuel Vadot regulator-max-microvolt = <1400000>; 1562eb4d8dcSEmmanuel Vadot regulator-always-on; 1572eb4d8dcSEmmanuel Vadot }; 1582eb4d8dcSEmmanuel Vadot 1592eb4d8dcSEmmanuel Vadot vcc: dcdc3 { 1602eb4d8dcSEmmanuel Vadot regulator-name = "VCC"; 1612eb4d8dcSEmmanuel Vadot regulator-min-microvolt = <2600000>; 1622eb4d8dcSEmmanuel Vadot regulator-max-microvolt = <3300000>; 1632eb4d8dcSEmmanuel Vadot regulator-always-on; 1642eb4d8dcSEmmanuel Vadot }; 1652eb4d8dcSEmmanuel Vadot 1662eb4d8dcSEmmanuel Vadot vcc_3v1: ldo5 { 1672eb4d8dcSEmmanuel Vadot regulator-name = "VCC_3V1"; 1682eb4d8dcSEmmanuel Vadot regulator-min-microvolt = <2600000>; 1692eb4d8dcSEmmanuel Vadot regulator-max-microvolt = <3300000>; 1702eb4d8dcSEmmanuel Vadot }; 1712eb4d8dcSEmmanuel Vadot 1722eb4d8dcSEmmanuel Vadot sd_vcc: switchldo1 { 1732eb4d8dcSEmmanuel Vadot regulator-name = "SD_VCC"; 1742eb4d8dcSEmmanuel Vadot regulator-min-microvolt = <3000000>; 1752eb4d8dcSEmmanuel Vadot regulator-max-microvolt = <3300000>; 1762eb4d8dcSEmmanuel Vadot regulator-always-on; 1772eb4d8dcSEmmanuel Vadot regulator-boot-on; 1782eb4d8dcSEmmanuel Vadot }; 1792eb4d8dcSEmmanuel Vadot }; 1802eb4d8dcSEmmanuel Vadot }; 1812eb4d8dcSEmmanuel Vadot }; 1822eb4d8dcSEmmanuel Vadot 1832eb4d8dcSEmmanuel Vadot... 184