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

Configure Feed

Select the types of activity you want to include in your feed.

dt-bindings: mfd: ROHM BD72720

The ROHM BD72720 is a power management IC integrating regulators, GPIOs,
charger, LEDs, RTC and a clock gate.

Add dt-binding doc for ROHM BD72720.

Signed-off-by: Matti Vaittinen <mazziesaccount@gmail.com>
Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://patch.msgid.link/44cd4fcb2834ed613dd2d958cf4a4a34b3a316ab.1765804226.git.mazziesaccount@gmail.com
Signed-off-by: Lee Jones <lee@kernel.org>

authored by

Matti Vaittinen and committed by
Lee Jones
e816df1d 16056396

+339
+339
Documentation/devicetree/bindings/mfd/rohm,bd72720-pmic.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/rohm,bd72720-pmic.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: ROHM BD72720 Power Management Integrated Circuit 8 + 9 + maintainers: 10 + - Matti Vaittinen <mazziesaccount@gmail.com> 11 + 12 + description: 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 + 49 + properties: 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 + 115 + patternProperties: 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 + 141 + required: 142 + - compatible 143 + - reg 144 + - interrupts 145 + - clocks 146 + - "#clock-cells" 147 + - regulators 148 + - gpio-controller 149 + - "#gpio-cells" 150 + 151 + additionalProperties: false 152 + 153 + examples: 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 + };