1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/regulator/ti,tps65219.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: TI TPS65214/TPS65215/TPS65219 Power Management Integrated Circuit 8 9maintainers: 10 - Jerome Neanne <jerome.neanne@baylibre.com> 11 12description: | 13 Regulator nodes should be named to buck<number> and ldo<number>. 14 15 TI TPS65219 is a Power Management IC with 3 Buck regulators, 4 Low 16 Drop-out Regulators (LDOs), 1 GPIO, 2 GPOs, and power-button. 17 18 TI TPS65215 is a derivative of TPS65219 with 3 Buck regulators, 2 Low 19 Drop-out Regulators (LDOs), 1 GPIO, 1 GPO, and power-button. 20 21 TI TPS65214 is a derivative of TPS65219 with 3 Buck regulators, 2 Low 22 Drop-out Regulators (LDOs), 1 GPIO, 1 GPO, and power-button. 23 24properties: 25 compatible: 26 enum: 27 - ti,tps65214 28 - ti,tps65215 29 - ti,tps65219 30 31 reg: 32 maxItems: 1 33 34 system-power-controller: 35 type: boolean 36 description: Optional property that indicates that this device is 37 controlling system power. 38 39 interrupts: 40 description: Short-circuit, over-current, under-voltage for regulators, PB interrupts. 41 maxItems: 1 42 43 interrupt-controller: true 44 45 '#interrupt-cells': 46 description: Specifies the PIN numbers and Flags, as defined in 47 include/dt-bindings/interrupt-controller/irq.h 48 const: 1 49 50 ti,power-button: 51 type: boolean 52 description: | 53 Optional property that sets the EN/PB/VSENSE pin to be a 54 power-button. 55 TPS65219 has a multipurpose pin called EN/PB/VSENSE that can be either 56 1. EN in which case it functions as an enable pin. 57 2. VSENSE which compares the voltages and triggers an automatic 58 on/off request. 59 3. PB in which case it can be configured to trigger an interrupt 60 to the SoC. 61 ti,power-button reflects the last one of those options 62 where the board has a button wired to the pin and triggers 63 an interrupt on pressing it. 64 65 regulators: 66 type: object 67 description: | 68 list of regulators provided by this controller 69 70 patternProperties: 71 "^ldo[1-4]$": 72 type: object 73 $ref: regulator.yaml# 74 description: 75 Properties for single LDO regulator. 76 77 unevaluatedProperties: false 78 79 "^buck[1-3]$": 80 type: object 81 $ref: regulator.yaml# 82 description: 83 Properties for single BUCK regulator. 84 85 unevaluatedProperties: false 86 87 additionalProperties: false 88 89patternProperties: 90 "^buck[1-3]-supply$": 91 description: Input supply phandle of one regulator. 92 93 "^ldo[1-4]-supply$": 94 description: Input supply phandle of one regulator. 95 96required: 97 - compatible 98 - reg 99 - interrupts 100 - regulators 101 102additionalProperties: false 103 104allOf: 105 - if: 106 properties: 107 compatible: 108 contains: 109 enum: 110 - ti,tps65214 111 - ti,tps65215 112 then: 113 properties: 114 regulators: 115 patternProperties: 116 "^ldo[3-4]$": false 117 118examples: 119 - | 120 #include <dt-bindings/interrupt-controller/arm-gic.h> 121 i2c { 122 #address-cells = <1>; 123 #size-cells = <0>; 124 125 tps65219: pmic@30 { 126 compatible = "ti,tps65219"; 127 reg = <0x30>; 128 buck1-supply = <&vcc_3v3_sys>; 129 buck2-supply = <&vcc_3v3_sys>; 130 buck3-supply = <&vcc_3v3_sys>; 131 ldo1-supply = <&vcc_3v3_sys>; 132 ldo2-supply = <&buck2_reg>; 133 ldo3-supply = <&vcc_3v3_sys>; 134 ldo4-supply = <&vcc_3v3_sys>; 135 136 pinctrl-0 = <&pmic_irq_pins_default>; 137 138 interrupt-parent = <&gic500>; 139 interrupts = <GIC_SPI 224 IRQ_TYPE_LEVEL_HIGH>; 140 ti,power-button; 141 142 regulators { 143 buck1_reg: buck1 { 144 regulator-name = "VDD_CORE"; 145 regulator-min-microvolt = <750000>; 146 regulator-max-microvolt = <750000>; 147 regulator-boot-on; 148 regulator-always-on; 149 }; 150 151 buck2_reg: buck2 { 152 regulator-name = "VCC1V8"; 153 regulator-min-microvolt = <1800000>; 154 regulator-max-microvolt = <1800000>; 155 regulator-boot-on; 156 regulator-always-on; 157 }; 158 159 buck3_reg: buck3 { 160 regulator-name = "VDD_LPDDR4"; 161 regulator-min-microvolt = <1100000>; 162 regulator-max-microvolt = <1100000>; 163 regulator-boot-on; 164 regulator-always-on; 165 }; 166 167 ldo1_reg: ldo1 { 168 regulator-name = "VDDSHV_SD_IO_PMIC"; 169 regulator-min-microvolt = <33000000>; 170 regulator-max-microvolt = <33000000>; 171 }; 172 173 ldo2_reg: ldo2 { 174 regulator-name = "VDDAR_CORE"; 175 regulator-min-microvolt = <850000>; 176 regulator-max-microvolt = <850000>; 177 regulator-boot-on; 178 regulator-always-on; 179 }; 180 181 ldo3_reg: ldo3 { 182 regulator-name = "VDDA_1V8"; 183 regulator-min-microvolt = <18000000>; 184 regulator-max-microvolt = <18000000>; 185 regulator-boot-on; 186 regulator-always-on; 187 }; 188 189 ldo4_reg: ldo4 { 190 regulator-name = "VDD_PHY_2V5"; 191 regulator-min-microvolt = <25000000>; 192 regulator-max-microvolt = <25000000>; 193 regulator-boot-on; 194 regulator-always-on; 195 }; 196 }; 197 }; 198 }; 199