12eb4d8dcSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 22eb4d8dcSEmmanuel Vadot%YAML 1.2 32eb4d8dcSEmmanuel Vadot--- 42eb4d8dcSEmmanuel Vadot$id: http://devicetree.org/schemas/mfd/rohm,bd71815-pmic.yaml# 52eb4d8dcSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 62eb4d8dcSEmmanuel Vadot 78bab661aSEmmanuel Vadottitle: ROHM BD71815 Power Management Integrated Circuit 82eb4d8dcSEmmanuel Vadot 92eb4d8dcSEmmanuel Vadotmaintainers: 108bab661aSEmmanuel Vadot - Matti Vaittinen <mazziesaccount@gmail.com> 112eb4d8dcSEmmanuel Vadot 122eb4d8dcSEmmanuel Vadotdescription: | 132eb4d8dcSEmmanuel Vadot BD71815AGW is a single-chip power management ICs for battery-powered 142eb4d8dcSEmmanuel Vadot portable devices. It integrates 5 buck converters, 8 LDOs, a boost driver 152eb4d8dcSEmmanuel Vadot for LED and a 500 mA single-cell linear charger. Also included is a Coulomb 162eb4d8dcSEmmanuel Vadot counter, a real-time clock (RTC), and a 32.768 kHz clock gate and two GPOs. 172eb4d8dcSEmmanuel Vadot 182eb4d8dcSEmmanuel Vadotproperties: 192eb4d8dcSEmmanuel Vadot compatible: 202eb4d8dcSEmmanuel Vadot const: rohm,bd71815 212eb4d8dcSEmmanuel Vadot 222eb4d8dcSEmmanuel Vadot reg: 232eb4d8dcSEmmanuel Vadot description: 242eb4d8dcSEmmanuel Vadot I2C slave address. 252eb4d8dcSEmmanuel Vadot maxItems: 1 262eb4d8dcSEmmanuel Vadot 272eb4d8dcSEmmanuel Vadot interrupts: 282eb4d8dcSEmmanuel Vadot maxItems: 1 292eb4d8dcSEmmanuel Vadot 302eb4d8dcSEmmanuel Vadot gpio-controller: true 312eb4d8dcSEmmanuel Vadot 322eb4d8dcSEmmanuel Vadot "#gpio-cells": 332eb4d8dcSEmmanuel Vadot const: 2 342eb4d8dcSEmmanuel Vadot description: | 352eb4d8dcSEmmanuel Vadot The first cell is the pin number and the second cell is used to specify 362eb4d8dcSEmmanuel Vadot flags. See ../gpio/gpio.txt for more information. 372eb4d8dcSEmmanuel Vadot 382eb4d8dcSEmmanuel Vadot clocks: 392eb4d8dcSEmmanuel Vadot maxItems: 1 402eb4d8dcSEmmanuel Vadot 412eb4d8dcSEmmanuel Vadot "#clock-cells": 422eb4d8dcSEmmanuel Vadot const: 0 432eb4d8dcSEmmanuel Vadot 442eb4d8dcSEmmanuel Vadot clock-output-names: 452eb4d8dcSEmmanuel Vadot const: bd71815-32k-out 462eb4d8dcSEmmanuel Vadot 472eb4d8dcSEmmanuel Vadot rohm,clkout-open-drain: 482eb4d8dcSEmmanuel Vadot description: clk32kout mode. Set to 1 for "open-drain" or 0 for "cmos". 49*fac71e4eSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 502eb4d8dcSEmmanuel Vadot minimum: 0 512eb4d8dcSEmmanuel Vadot maximum: 1 522eb4d8dcSEmmanuel Vadot 532eb4d8dcSEmmanuel Vadot rohm,charger-sense-resistor-ohms: 542eb4d8dcSEmmanuel Vadot minimum: 10000000 552eb4d8dcSEmmanuel Vadot maximum: 50000000 562eb4d8dcSEmmanuel Vadot description: | 572eb4d8dcSEmmanuel Vadot BD71827 and BD71828 have SAR ADC for measuring charging currents. 582eb4d8dcSEmmanuel Vadot External sense resistor (RSENSE in data sheet) should be used. If 592eb4d8dcSEmmanuel Vadot something other but 30MOhm resistor is used the resistance value 602eb4d8dcSEmmanuel Vadot should be given here in Ohms. 612eb4d8dcSEmmanuel Vadot default: 30000000 622eb4d8dcSEmmanuel Vadot 632eb4d8dcSEmmanuel Vadot regulators: 642eb4d8dcSEmmanuel Vadot $ref: ../regulator/rohm,bd71815-regulator.yaml 652eb4d8dcSEmmanuel Vadot description: 662eb4d8dcSEmmanuel Vadot List of child nodes that specify the regulators. 672eb4d8dcSEmmanuel Vadot 682eb4d8dcSEmmanuel Vadot gpio-reserved-ranges: 692eb4d8dcSEmmanuel Vadot description: | 702eb4d8dcSEmmanuel Vadot Usage of BD71828 GPIO pins can be changed via OTP. This property can be 712eb4d8dcSEmmanuel Vadot used to mark the pins which should not be configured for GPIO. Please see 722eb4d8dcSEmmanuel Vadot the ../gpio/gpio.txt for more information. 732eb4d8dcSEmmanuel Vadot 742eb4d8dcSEmmanuel Vadot rohm,enable-hidden-gpo: 752eb4d8dcSEmmanuel Vadot description: | 762eb4d8dcSEmmanuel Vadot The BD71815 has undocumented GPO at pin E5. Pin is marked as GND at the 77b97ee269SEmmanuel Vadot data-sheet as its location in the middle of GND pins makes it hard to 782eb4d8dcSEmmanuel Vadot use on PCB. If your board has managed to use this pin you can enable the 792eb4d8dcSEmmanuel Vadot second GPO by defining this property. Dont enable this if you are unsure 802eb4d8dcSEmmanuel Vadot about how the E5 pin is connected on your board. 812eb4d8dcSEmmanuel Vadot type: boolean 822eb4d8dcSEmmanuel Vadot 832eb4d8dcSEmmanuel Vadotrequired: 842eb4d8dcSEmmanuel Vadot - compatible 852eb4d8dcSEmmanuel Vadot - reg 862eb4d8dcSEmmanuel Vadot - interrupts 872eb4d8dcSEmmanuel Vadot - clocks 882eb4d8dcSEmmanuel Vadot - "#clock-cells" 892eb4d8dcSEmmanuel Vadot - regulators 902eb4d8dcSEmmanuel Vadot - gpio-controller 912eb4d8dcSEmmanuel Vadot - "#gpio-cells" 922eb4d8dcSEmmanuel Vadot 932eb4d8dcSEmmanuel VadotadditionalProperties: false 942eb4d8dcSEmmanuel Vadot 952eb4d8dcSEmmanuel Vadotexamples: 962eb4d8dcSEmmanuel Vadot - | 972eb4d8dcSEmmanuel Vadot #include <dt-bindings/interrupt-controller/irq.h> 982eb4d8dcSEmmanuel Vadot #include <dt-bindings/leds/common.h> 992eb4d8dcSEmmanuel Vadot i2c { 1002eb4d8dcSEmmanuel Vadot #address-cells = <1>; 1012eb4d8dcSEmmanuel Vadot #size-cells = <0>; 1022eb4d8dcSEmmanuel Vadot pmic: pmic@4b { 1032eb4d8dcSEmmanuel Vadot compatible = "rohm,bd71815"; 1042eb4d8dcSEmmanuel Vadot reg = <0x4b>; 1052eb4d8dcSEmmanuel Vadot 1062eb4d8dcSEmmanuel Vadot interrupt-parent = <&gpio1>; 1072eb4d8dcSEmmanuel Vadot interrupts = <29 IRQ_TYPE_LEVEL_LOW>; 1082eb4d8dcSEmmanuel Vadot 1092eb4d8dcSEmmanuel Vadot clocks = <&osc 0>; 1102eb4d8dcSEmmanuel Vadot #clock-cells = <0>; 1112eb4d8dcSEmmanuel Vadot clock-output-names = "bd71815-32k-out"; 1122eb4d8dcSEmmanuel Vadot 1132eb4d8dcSEmmanuel Vadot gpio-controller; 1142eb4d8dcSEmmanuel Vadot #gpio-cells = <2>; 1152eb4d8dcSEmmanuel Vadot 1162eb4d8dcSEmmanuel Vadot rohm,charger-sense-resistor-ohms = <10000000>; 1172eb4d8dcSEmmanuel Vadot 1182eb4d8dcSEmmanuel Vadot regulators { 1192eb4d8dcSEmmanuel Vadot buck1: buck1 { 1202eb4d8dcSEmmanuel Vadot regulator-name = "buck1"; 1212eb4d8dcSEmmanuel Vadot regulator-min-microvolt = <800000>; 1222eb4d8dcSEmmanuel Vadot regulator-max-microvolt = <2000000>; 1232eb4d8dcSEmmanuel Vadot regulator-always-on; 1242eb4d8dcSEmmanuel Vadot regulator-ramp-delay = <1250>; 1252eb4d8dcSEmmanuel Vadot rohm,dvs-run-voltage = <1150000>; 1262eb4d8dcSEmmanuel Vadot rohm,dvs-suspend-voltage = <950000>; 1272eb4d8dcSEmmanuel Vadot }; 1282eb4d8dcSEmmanuel Vadot buck2: buck2 { 1292eb4d8dcSEmmanuel Vadot regulator-name = "buck2"; 1302eb4d8dcSEmmanuel Vadot regulator-min-microvolt = <800000>; 1312eb4d8dcSEmmanuel Vadot regulator-max-microvolt = <2000000>; 1322eb4d8dcSEmmanuel Vadot regulator-always-on; 1332eb4d8dcSEmmanuel Vadot regulator-ramp-delay = <1250>; 1342eb4d8dcSEmmanuel Vadot rohm,dvs-run-voltage = <1150000>; 1352eb4d8dcSEmmanuel Vadot rohm,dvs-suspend-voltage = <950000>; 1362eb4d8dcSEmmanuel Vadot }; 1372eb4d8dcSEmmanuel Vadot buck3: buck3 { 1382eb4d8dcSEmmanuel Vadot regulator-name = "buck3"; 1392eb4d8dcSEmmanuel Vadot regulator-min-microvolt = <1200000>; 1402eb4d8dcSEmmanuel Vadot regulator-max-microvolt = <2700000>; 1412eb4d8dcSEmmanuel Vadot regulator-always-on; 1422eb4d8dcSEmmanuel Vadot }; 1432eb4d8dcSEmmanuel Vadot buck4: buck4 { 1442eb4d8dcSEmmanuel Vadot regulator-name = "buck4"; 1452eb4d8dcSEmmanuel Vadot regulator-min-microvolt = <1100000>; 1462eb4d8dcSEmmanuel Vadot regulator-max-microvolt = <1850000>; 1472eb4d8dcSEmmanuel Vadot regulator-always-on; 1482eb4d8dcSEmmanuel Vadot }; 1492eb4d8dcSEmmanuel Vadot buck5: buck5 { 1502eb4d8dcSEmmanuel Vadot regulator-name = "buck5"; 1512eb4d8dcSEmmanuel Vadot regulator-min-microvolt = <1800000>; 1522eb4d8dcSEmmanuel Vadot regulator-max-microvolt = <3300000>; 1532eb4d8dcSEmmanuel Vadot regulator-always-on; 1542eb4d8dcSEmmanuel Vadot }; 1552eb4d8dcSEmmanuel Vadot ldo1: ldo1 { 1562eb4d8dcSEmmanuel Vadot regulator-name = "ldo1"; 1572eb4d8dcSEmmanuel Vadot regulator-min-microvolt = <800000>; 1582eb4d8dcSEmmanuel Vadot regulator-max-microvolt = <3300000>; 1592eb4d8dcSEmmanuel Vadot regulator-always-on; 1602eb4d8dcSEmmanuel Vadot }; 1612eb4d8dcSEmmanuel Vadot ldo2: ldo2 { 1622eb4d8dcSEmmanuel Vadot regulator-name = "ldo2"; 1632eb4d8dcSEmmanuel Vadot regulator-min-microvolt = <800000>; 1642eb4d8dcSEmmanuel Vadot regulator-max-microvolt = <3300000>; 1652eb4d8dcSEmmanuel Vadot regulator-always-on; 1662eb4d8dcSEmmanuel Vadot }; 1672eb4d8dcSEmmanuel Vadot ldo3: ldo3 { 1682eb4d8dcSEmmanuel Vadot regulator-name = "ldo3"; 1692eb4d8dcSEmmanuel Vadot regulator-min-microvolt = <800000>; 1702eb4d8dcSEmmanuel Vadot regulator-max-microvolt = <3300000>; 1712eb4d8dcSEmmanuel Vadot regulator-always-on; 1722eb4d8dcSEmmanuel Vadot }; 1732eb4d8dcSEmmanuel Vadot ldo4: ldo4 { 1742eb4d8dcSEmmanuel Vadot regulator-name = "ldo4"; 1752eb4d8dcSEmmanuel Vadot regulator-min-microvolt = <800000>; 1762eb4d8dcSEmmanuel Vadot regulator-max-microvolt = <3300000>; 1772eb4d8dcSEmmanuel Vadot regulator-always-on; 1782eb4d8dcSEmmanuel Vadot }; 1792eb4d8dcSEmmanuel Vadot ldo5: ldo5 { 1802eb4d8dcSEmmanuel Vadot regulator-name = "ldo5"; 1812eb4d8dcSEmmanuel Vadot regulator-min-microvolt = <800000>; 1822eb4d8dcSEmmanuel Vadot regulator-max-microvolt = <3300000>; 1832eb4d8dcSEmmanuel Vadot regulator-always-on; 1842eb4d8dcSEmmanuel Vadot }; 1852eb4d8dcSEmmanuel Vadot ldo6: ldodvref { 1862eb4d8dcSEmmanuel Vadot regulator-name = "ldodvref"; 1872eb4d8dcSEmmanuel Vadot regulator-always-on; 1882eb4d8dcSEmmanuel Vadot }; 1892eb4d8dcSEmmanuel Vadot ldo7: ldolpsr { 1902eb4d8dcSEmmanuel Vadot regulator-name = "ldolpsr"; 1912eb4d8dcSEmmanuel Vadot regulator-always-on; 1922eb4d8dcSEmmanuel Vadot }; 1932eb4d8dcSEmmanuel Vadot 1942eb4d8dcSEmmanuel Vadot boost: wled { 1952eb4d8dcSEmmanuel Vadot regulator-name = "wled"; 1962eb4d8dcSEmmanuel Vadot regulator-min-microamp = <10>; 1972eb4d8dcSEmmanuel Vadot regulator-max-microamp = <25000>; 1982eb4d8dcSEmmanuel Vadot }; 1992eb4d8dcSEmmanuel Vadot }; 2002eb4d8dcSEmmanuel Vadot }; 2012eb4d8dcSEmmanuel Vadot }; 202