1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/mfd/rohm,bd72720-pmic.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: ROHM BD72720 Power Management Integrated Circuit 8 9maintainers: 10 - Matti Vaittinen <mazziesaccount@gmail.com> 11 12description: 13 BD72720 is a single-chip power management IC for battery-powered portable 14 devices. The BD72720 integrates 10 bucks and 11 LDOs, and a 3000 mA 15 switching charger. The IC also includes a Coulomb counter, a real-time 16 clock (RTC), GPIOs and a 32.768 kHz clock gate. 17 18# In addition to the properties found from the charger node, the ROHM BD72720 19# uses properties from a static battery node. Please see the: 20# Documentation/devicetree/bindings/power/supply/battery.yaml 21# 22# Following properties are used 23# when present: 24# 25# charge-full-design-microamp-hours: Battry capacity in mAh 26# voltage-max-design-microvolt: Maximum voltage 27# voltage-min-design-microvolt: Minimum voltage system is still operating. 28# degrade-cycle-microamp-hours: Capacity lost due to aging at each full 29# charge cycle. 30# ocv-capacity-celsius: Array of OCV table temperatures. 1/table. 31# ocv-capacity-table-<N>: Table of OCV voltage/SOC pairs. Corresponds 32# N.th temperature in ocv-capacity-celsius 33# 34# volt-drop-thresh-microvolt: Threshold for starting the VDR correction 35# volt-drop-soc: Table of capacity values matching the 36# values in VDR tables. 37# 38# volt-drop-temperatures-millicelsius: Temperatures corresponding to the volage 39# drop values given in volt-drop-[0-9]-microvolt 40# 41# volt-drop-[0-9]-microvolt: VDR table for a temperature specified in 42# volt-drop-temperatures-millicelsius 43# 44# VDR tables are (usually) determined for a specific battery by ROHM. 45# The battery node would then be referred from the charger node: 46# 47# monitored-battery = <&battery>; 48 49properties: 50 compatible: 51 const: rohm,bd72720 52 53 reg: 54 description: 55 I2C slave address. 56 maxItems: 1 57 58 interrupts: 59 maxItems: 1 60 61 gpio-controller: true 62 63 "#gpio-cells": 64 const: 2 65 description: 66 The first cell is the pin number and the second cell is used to specify 67 flags. See the gpio binding document for more information. 68 69 clocks: 70 maxItems: 1 71 72 "#clock-cells": 73 const: 0 74 75 clock-output-names: 76 const: bd71828-32k-out 77 78 rohm,clkout-open-drain: 79 description: clk32kout mode. Set to 1 for "open-drain" or 0 for "cmos". 80 $ref: /schemas/types.yaml#/definitions/uint32 81 maximum: 1 82 83 rohm,charger-sense-resistor-micro-ohms: 84 minimum: 10000 85 maximum: 50000 86 description: 87 BD72720 has a SAR ADC for measuring charging currents. External sense 88 resistor (RSENSE in data sheet) should be used. If some other but 89 30 mOhm resistor is used the resistance value should be given here in 90 micro Ohms. 91 92 regulators: 93 $ref: /schemas/regulator/rohm,bd72720-regulator.yaml 94 description: 95 List of child nodes that specify the regulators. 96 97 leds: 98 $ref: /schemas/leds/rohm,bd71828-leds.yaml 99 100 rohm,pin-fault_b: 101 $ref: /schemas/types.yaml#/definitions/string 102 description: 103 BD72720 has an OTP option to use fault_b-pin for different 104 purposes. Set this property accordingly. OTP options are 105 OTP0 - bi-directional FAULT_B or READY indicator depending on a 106 'sub option' 107 OTP1 - GPO 108 OTP2 - Power sequencer output. 109 enum: 110 - faultb 111 - readyind 112 - gpo 113 - pwrseq 114 115patternProperties: 116 "^rohm,pin-dvs[0-1]$": 117 $ref: /schemas/types.yaml#/definitions/string 118 description: 119 BD72720 has 4 different OTP options to determine the use of dvs<X>-pins. 120 OTP0 - regulator RUN state control. 121 OTP1 - GPI. 122 OTP2 - GPO. 123 OTP3 - Power sequencer output. 124 This property specifies the use of the pin. 125 enum: 126 - dvs-input 127 - gpi 128 - gpo 129 - pwrseq 130 131 "^rohm,pin-exten[0-1]$": 132 $ref: /schemas/types.yaml#/definitions/string 133 description: BD72720 has an OTP option to use exten0-pin for different 134 purposes. Set this property accordingly. 135 OTP0 - GPO 136 OTP1 - Power sequencer output. 137 enum: 138 - gpo 139 - pwrseq 140 141required: 142 - compatible 143 - reg 144 - interrupts 145 - clocks 146 - "#clock-cells" 147 - regulators 148 - gpio-controller 149 - "#gpio-cells" 150 151additionalProperties: false 152 153examples: 154 - | 155 #include <dt-bindings/interrupt-controller/irq.h> 156 #include <dt-bindings/leds/common.h> 157 i2c { 158 #address-cells = <1>; 159 #size-cells = <0>; 160 pmic: pmic@4b { 161 compatible = "rohm,bd72720"; 162 reg = <0x4b>; 163 164 interrupt-parent = <&gpio1>; 165 interrupts = <29 IRQ_TYPE_LEVEL_LOW>; 166 167 clocks = <&osc 0>; 168 #clock-cells = <0>; 169 clock-output-names = "bd71828-32k-out"; 170 171 gpio-controller; 172 #gpio-cells = <2>; 173 174 rohm,pin-dvs0 = "gpi"; 175 rohm,pin-dvs1 = "gpi"; 176 rohm,pin-exten0 = "gpo"; 177 rohm,pin-exten1 = "gpo"; 178 rohm,pin-fault_b = "faultb"; 179 180 rohm,charger-sense-resistor-micro-ohms = <10000>; 181 182 regulators { 183 buck1 { 184 regulator-name = "buck1"; 185 regulator-min-microvolt = <500000>; 186 regulator-max-microvolt = <2000000>; 187 regulator-ramp-delay = <2500>; 188 }; 189 buck2 { 190 regulator-name = "buck2"; 191 regulator-min-microvolt = <500000>; 192 regulator-max-microvolt = <2000000>; 193 regulator-ramp-delay = <2500>; 194 }; 195 buck3 { 196 regulator-name = "buck3"; 197 regulator-min-microvolt = <1200000>; 198 regulator-max-microvolt = <2000000>; 199 }; 200 buck4 { 201 regulator-name = "buck4"; 202 regulator-min-microvolt = <1000000>; 203 regulator-max-microvolt = <1800000>; 204 }; 205 buck5 { 206 regulator-name = "buck5"; 207 regulator-min-microvolt = <2500000>; 208 regulator-max-microvolt = <3300000>; 209 }; 210 buck6 { 211 regulator-name = "buck6"; 212 regulator-min-microvolt = <500000>; 213 regulator-max-microvolt = <2000000>; 214 regulator-ramp-delay = <2500>; 215 }; 216 buck7 { 217 regulator-name = "buck7"; 218 regulator-min-microvolt = <500000>; 219 regulator-max-microvolt = <2000000>; 220 regulator-ramp-delay = <2500>; 221 }; 222 buck8 { 223 regulator-name = "buck8"; 224 regulator-min-microvolt = <500000>; 225 regulator-max-microvolt = <1700000>; 226 regulator-ramp-delay = <2500>; 227 rohm,dvs-run-voltage = <1700000>; 228 rohm,dvs-idle-voltage = <1>; 229 rohm,dvs-suspend-voltage = <1>; 230 rohm,dvs-lpsr-voltage = <0>; 231 regulator-boot-on; 232 }; 233 buck9 { 234 regulator-name = "buck9"; 235 regulator-min-microvolt = <500000>; 236 regulator-max-microvolt = <1700000>; 237 regulator-ramp-delay = <2500>; 238 rohm,dvs-run-voltage = <1700000>; 239 rohm,dvs-idle-voltage = <1>; 240 rohm,dvs-suspend-voltage = <1>; 241 rohm,dvs-lpsr-voltage = <0>; 242 regulator-boot-on; 243 }; 244 buck10 { 245 regulator-name = "buck10"; 246 regulator-min-microvolt = <500000>; 247 regulator-max-microvolt = <1700000>; 248 regulator-ramp-delay = <2500>; 249 rohm,dvs-run-voltage = <1700000>; 250 rohm,dvs-idle-voltage = <1>; 251 rohm,dvs-suspend-voltage = <1>; 252 rohm,dvs-lpsr-voltage = <0>; 253 regulator-boot-on; 254 }; 255 ldo1 { 256 regulator-name = "ldo1"; 257 regulator-min-microvolt = <800000>; 258 regulator-max-microvolt = <3300000>; 259 }; 260 ldo2 { 261 regulator-name = "ldo2"; 262 regulator-min-microvolt = <800000>; 263 regulator-max-microvolt = <3300000>; 264 }; 265 ldo3 { 266 regulator-name = "ldo3"; 267 regulator-min-microvolt = <800000>; 268 regulator-max-microvolt = <3300000>; 269 }; 270 ldo4 { 271 regulator-name = "ldo4"; 272 regulator-min-microvolt = <800000>; 273 regulator-max-microvolt = <3300000>; 274 }; 275 ldo5 { 276 regulator-name = "ldo5"; 277 regulator-min-microvolt = <800000>; 278 regulator-max-microvolt = <3300000>; 279 }; 280 ldo6 { 281 regulator-name = "ldo6"; 282 regulator-min-microvolt = <1800000>; 283 regulator-max-microvolt = <1800000>; 284 }; 285 ldo7 { 286 regulator-name = "ldo7"; 287 regulator-min-microvolt = <800000>; 288 regulator-max-microvolt = <3300000>; 289 }; 290 ldo8 { 291 regulator-name = "ldo8"; 292 regulator-min-microvolt = <750000>; 293 regulator-max-microvolt = <3300000>; 294 rohm,dvs-suspend-voltage = <0>; 295 rohm,dvs-lpsr-voltage = <1>; 296 rohm,dvs-run-voltage = <750000>; 297 }; 298 ldo9 { 299 regulator-name = "ldo9"; 300 regulator-min-microvolt = <750000>; 301 regulator-max-microvolt = <3300000>; 302 rohm,dvs-suspend-voltage = <0>; 303 rohm,dvs-lpsr-voltage = <1>; 304 rohm,dvs-run-voltage = <750000>; 305 }; 306 ldo10 { 307 regulator-name = "ldo10"; 308 regulator-min-microvolt = <750000>; 309 regulator-max-microvolt = <3300000>; 310 rohm,dvs-suspend-voltage = <0>; 311 rohm,dvs-lpsr-voltage = <1>; 312 rohm,dvs-run-voltage = <750000>; 313 }; 314 ldo11 { 315 regulator-name = "ldo11"; 316 regulator-min-microvolt = <750000>; 317 regulator-max-microvolt = <3300000>; 318 rohm,dvs-suspend-voltage = <0>; 319 rohm,dvs-lpsr-voltage = <1>; 320 rohm,dvs-run-voltage = <750000>; 321 }; 322 }; 323 324 leds { 325 compatible = "rohm,bd71828-leds"; 326 327 led-1 { 328 rohm,led-compatible = "bd71828-grnled"; 329 function = LED_FUNCTION_INDICATOR; 330 color = <LED_COLOR_ID_GREEN>; 331 }; 332 led-2 { 333 rohm,led-compatible = "bd71828-ambled"; 334 function = LED_FUNCTION_CHARGING; 335 color = <LED_COLOR_ID_AMBER>; 336 }; 337 }; 338 }; 339 }; 340