1cf469562SCristian Ciocaltea# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2cf469562SCristian Ciocaltea%YAML 1.2 3cf469562SCristian Ciocaltea--- 4cf469562SCristian Ciocaltea$id: http://devicetree.org/schemas/mfd/actions,atc260x.yaml# 5cf469562SCristian Ciocaltea$schema: http://devicetree.org/meta-schemas/core.yaml# 6cf469562SCristian Ciocaltea 784e85359SKrzysztof Kozlowskititle: Actions Semi ATC260x Power Management IC 8cf469562SCristian Ciocaltea 9cf469562SCristian Ciocalteamaintainers: 10cf469562SCristian Ciocaltea - Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> 11cf469562SCristian Ciocaltea - Cristian Ciocaltea <cristian.ciocaltea@gmail.com> 12cf469562SCristian Ciocaltea 13cf469562SCristian Ciocalteadescription: | 14cf469562SCristian Ciocaltea ATC260x series PMICs integrates Audio Codec, Power Management, RTC, IR 15cf469562SCristian Ciocaltea and GPIO controller blocks. Currently only the PM related functionalities 16cf469562SCristian Ciocaltea (i.e. regulators and system power-off/reboot) for the ATC2603C and ATC2609A 17cf469562SCristian Ciocaltea chip variants are supported. 18cf469562SCristian Ciocaltea ATC2603C includes 3 programmable DC-DC converters, 9 programmable LDO 19cf469562SCristian Ciocaltea regulators and 1 fixed LDO regulator. 20cf469562SCristian Ciocaltea ATC2609A includes 5 programmable DC-DC converters and 10 programmable LDO 21cf469562SCristian Ciocaltea regulators. 22cf469562SCristian Ciocaltea 23cf469562SCristian CiocalteaallOf: 24*1482489bSKrzysztof Kozlowski - $ref: /schemas/input/input.yaml 25cf469562SCristian Ciocaltea 26cf469562SCristian Ciocalteaproperties: 27cf469562SCristian Ciocaltea compatible: 28cf469562SCristian Ciocaltea enum: 29cf469562SCristian Ciocaltea - actions,atc2603c 30cf469562SCristian Ciocaltea - actions,atc2609a 31cf469562SCristian Ciocaltea 32cf469562SCristian Ciocaltea reg: 33cf469562SCristian Ciocaltea maxItems: 1 34cf469562SCristian Ciocaltea 35cf469562SCristian Ciocaltea interrupts: 36cf469562SCristian Ciocaltea maxItems: 1 37cf469562SCristian Ciocaltea 38cf469562SCristian Ciocaltea reset-time-sec: 39cf469562SCristian Ciocaltea description: | 40cf469562SCristian Ciocaltea Duration in seconds which the key should be kept pressed for device 41cf469562SCristian Ciocaltea to reset automatically. The hardware default is 8. Use 0 to disable 42cf469562SCristian Ciocaltea this functionality. 43cf469562SCristian Ciocaltea enum: [0, 6, 8, 10, 12] 44cf469562SCristian Ciocaltea 45cf469562SCristian Ciocaltea regulators: 46cf469562SCristian Ciocaltea type: object 47cf469562SCristian Ciocaltea description: | 48cf469562SCristian Ciocaltea List of child nodes specifying the regulators, depending on chip variant: 49cf469562SCristian Ciocaltea * ATC2603C: dcdc[1-3], ldo[1-3,5-8,11,12], switchldo1 50cf469562SCristian Ciocaltea * ATC2609A: dcdc[0-4], ldo[0-9] 51cf469562SCristian Ciocaltea 52cf469562SCristian Ciocaltea properties: 53cf469562SCristian Ciocaltea compatible: 54cf469562SCristian Ciocaltea enum: 55cf469562SCristian Ciocaltea - actions,atc2603c-regulator 56cf469562SCristian Ciocaltea - actions,atc2609a-regulator 57cf469562SCristian Ciocaltea 58cf469562SCristian Ciocaltea switchldo1: 59cf469562SCristian Ciocaltea type: object 60*1482489bSKrzysztof Kozlowski $ref: /schemas/regulator/regulator.yaml 61cf469562SCristian Ciocaltea 62cf469562SCristian Ciocaltea properties: 63cf469562SCristian Ciocaltea regulator-name: true 64cf469562SCristian Ciocaltea regulator-boot-on: true 65cf469562SCristian Ciocaltea regulator-always-on: true 66cf469562SCristian Ciocaltea regulator-min-microvolt: true 67cf469562SCristian Ciocaltea regulator-max-microvolt: true 68cf469562SCristian Ciocaltea regulator-allow-bypass: true 69cf469562SCristian Ciocaltea regulator-active-discharge: true 70cf469562SCristian Ciocaltea 71cf469562SCristian Ciocaltea additionalProperties: false 72cf469562SCristian Ciocaltea 73cf469562SCristian Ciocaltea patternProperties: 74cf469562SCristian Ciocaltea "^(dcdc[0-4]|ldo[0-9]|ldo1[1-2]|switchldo1)-supply$": 75cf469562SCristian Ciocaltea description: ATC260x voltage regulators supplies 76cf469562SCristian Ciocaltea 77cf469562SCristian Ciocaltea "^(dcdc[0-4]|ldo[0-9]|ldo1[1-2])$": 78cf469562SCristian Ciocaltea type: object 79*1482489bSKrzysztof Kozlowski $ref: /schemas/regulator/regulator.yaml 80cf469562SCristian Ciocaltea 81cf469562SCristian Ciocaltea properties: 82cf469562SCristian Ciocaltea regulator-name: true 83cf469562SCristian Ciocaltea regulator-boot-on: true 84cf469562SCristian Ciocaltea regulator-always-on: true 85cf469562SCristian Ciocaltea regulator-min-microvolt: true 86cf469562SCristian Ciocaltea regulator-max-microvolt: true 87cf469562SCristian Ciocaltea regulator-allow-bypass: true 88cf469562SCristian Ciocaltea 89cf469562SCristian Ciocaltea additionalProperties: false 90cf469562SCristian Ciocaltea 91cf469562SCristian Ciocaltea allOf: 92cf469562SCristian Ciocaltea - if: 93cf469562SCristian Ciocaltea properties: 94cf469562SCristian Ciocaltea compatible: 95cf469562SCristian Ciocaltea contains: 96cf469562SCristian Ciocaltea const: actions,atc2603c-regulator 97cf469562SCristian Ciocaltea then: 98cf469562SCristian Ciocaltea patternProperties: 99cf469562SCristian Ciocaltea "^(dcdc[0,4]|ldo[0,4,9])(-supply)?$": false 100cf469562SCristian Ciocaltea 101cf469562SCristian Ciocaltea "^(ldo|dcdc)": 102cf469562SCristian Ciocaltea properties: 103cf469562SCristian Ciocaltea regulator-allow-bypass: false 104cf469562SCristian Ciocaltea - if: 105cf469562SCristian Ciocaltea properties: 106cf469562SCristian Ciocaltea compatible: 107cf469562SCristian Ciocaltea contains: 108cf469562SCristian Ciocaltea const: actions,atc2609a-regulator 109cf469562SCristian Ciocaltea then: 110cf469562SCristian Ciocaltea patternProperties: 111cf469562SCristian Ciocaltea "^(ldo1[1-2]|switchldo1)(-supply)?$": false 112cf469562SCristian Ciocaltea 113cf469562SCristian Ciocaltea "^(dcdc|ldo[3-9])": 114cf469562SCristian Ciocaltea properties: 115cf469562SCristian Ciocaltea regulator-allow-bypass: false 116cf469562SCristian Ciocaltea 117cf469562SCristian Ciocaltea required: 118cf469562SCristian Ciocaltea - compatible 119cf469562SCristian Ciocaltea 120cf469562SCristian Ciocaltea additionalProperties: false 121cf469562SCristian Ciocaltea 122cf469562SCristian CiocalteaadditionalProperties: false 123cf469562SCristian Ciocaltea 124cf469562SCristian Ciocaltearequired: 125cf469562SCristian Ciocaltea - compatible 126cf469562SCristian Ciocaltea - reg 127cf469562SCristian Ciocaltea - interrupts 128cf469562SCristian Ciocaltea 129cf469562SCristian Ciocalteaexamples: 130cf469562SCristian Ciocaltea - | 131cf469562SCristian Ciocaltea #include <dt-bindings/interrupt-controller/arm-gic.h> 13220a72af1SRob Herring i2c { 133cf469562SCristian Ciocaltea #address-cells = <1>; 134cf469562SCristian Ciocaltea #size-cells = <0>; 135cf469562SCristian Ciocaltea 136cf469562SCristian Ciocaltea pmic@65 { 137cf469562SCristian Ciocaltea compatible = "actions,atc2603c"; 138cf469562SCristian Ciocaltea reg = <0x65>; 139cf469562SCristian Ciocaltea interrupt-parent = <&sirq>; 140cf469562SCristian Ciocaltea interrupts = <2 IRQ_TYPE_LEVEL_HIGH>; 141cf469562SCristian Ciocaltea 142cf469562SCristian Ciocaltea reset-time-sec = <6>; 143cf469562SCristian Ciocaltea 144cf469562SCristian Ciocaltea regulators { 145cf469562SCristian Ciocaltea compatible = "actions,atc2603c-regulator"; 146cf469562SCristian Ciocaltea 147cf469562SCristian Ciocaltea dcdc1-supply = <®_5v0>; 148cf469562SCristian Ciocaltea dcdc3-supply = <®_5v0>; 149cf469562SCristian Ciocaltea ldo5-supply = <®_5v0>; 150cf469562SCristian Ciocaltea switchldo1-supply = <&vcc>; 151cf469562SCristian Ciocaltea 152cf469562SCristian Ciocaltea vdd_cpu: dcdc1 { 153cf469562SCristian Ciocaltea regulator-name = "VDD_CPU"; 154cf469562SCristian Ciocaltea regulator-min-microvolt = <700000>; 155cf469562SCristian Ciocaltea regulator-max-microvolt = <1400000>; 156cf469562SCristian Ciocaltea regulator-always-on; 157cf469562SCristian Ciocaltea }; 158cf469562SCristian Ciocaltea 159cf469562SCristian Ciocaltea vcc: dcdc3 { 160cf469562SCristian Ciocaltea regulator-name = "VCC"; 161cf469562SCristian Ciocaltea regulator-min-microvolt = <2600000>; 162cf469562SCristian Ciocaltea regulator-max-microvolt = <3300000>; 163cf469562SCristian Ciocaltea regulator-always-on; 164cf469562SCristian Ciocaltea }; 165cf469562SCristian Ciocaltea 166cf469562SCristian Ciocaltea vcc_3v1: ldo5 { 167cf469562SCristian Ciocaltea regulator-name = "VCC_3V1"; 168cf469562SCristian Ciocaltea regulator-min-microvolt = <2600000>; 169cf469562SCristian Ciocaltea regulator-max-microvolt = <3300000>; 170cf469562SCristian Ciocaltea }; 171cf469562SCristian Ciocaltea 172cf469562SCristian Ciocaltea sd_vcc: switchldo1 { 173cf469562SCristian Ciocaltea regulator-name = "SD_VCC"; 174cf469562SCristian Ciocaltea regulator-min-microvolt = <3000000>; 175cf469562SCristian Ciocaltea regulator-max-microvolt = <3300000>; 176cf469562SCristian Ciocaltea regulator-always-on; 177cf469562SCristian Ciocaltea regulator-boot-on; 178cf469562SCristian Ciocaltea }; 179cf469562SCristian Ciocaltea }; 180cf469562SCristian Ciocaltea }; 181cf469562SCristian Ciocaltea }; 182cf469562SCristian Ciocaltea 183cf469562SCristian Ciocaltea... 184