Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dt-bindings: mfd: Add Actions Semi ATC260x PMIC binding

Add devicetree binding for Actions Semi ATC260x PMICs.

Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@gmail.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>

authored by

Cristian Ciocaltea and committed by
Lee Jones
cf469562 44a8c5a9

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