14238dc1eSMatti Vaittinen# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 24238dc1eSMatti Vaittinen%YAML 1.2 34238dc1eSMatti Vaittinen--- 44238dc1eSMatti Vaittinen$id: http://devicetree.org/schemas/mfd/rohm,bd71815-pmic.yaml# 54238dc1eSMatti Vaittinen$schema: http://devicetree.org/meta-schemas/core.yaml# 64238dc1eSMatti Vaittinen 784e85359SKrzysztof Kozlowskititle: ROHM BD71815 Power Management Integrated Circuit 84238dc1eSMatti Vaittinen 94238dc1eSMatti Vaittinenmaintainers: 101ca8a011SMatti Vaittinen - Matti Vaittinen <mazziesaccount@gmail.com> 114238dc1eSMatti Vaittinen 124238dc1eSMatti Vaittinendescription: | 134238dc1eSMatti Vaittinen BD71815AGW is a single-chip power management ICs for battery-powered 144238dc1eSMatti Vaittinen portable devices. It integrates 5 buck converters, 8 LDOs, a boost driver 154238dc1eSMatti Vaittinen for LED and a 500 mA single-cell linear charger. Also included is a Coulomb 164238dc1eSMatti Vaittinen counter, a real-time clock (RTC), and a 32.768 kHz clock gate and two GPOs. 174238dc1eSMatti Vaittinen 184238dc1eSMatti Vaittinenproperties: 194238dc1eSMatti Vaittinen compatible: 204238dc1eSMatti Vaittinen const: rohm,bd71815 214238dc1eSMatti Vaittinen 224238dc1eSMatti Vaittinen reg: 234238dc1eSMatti Vaittinen description: 244238dc1eSMatti Vaittinen I2C slave address. 254238dc1eSMatti Vaittinen maxItems: 1 264238dc1eSMatti Vaittinen 274238dc1eSMatti Vaittinen interrupts: 284238dc1eSMatti Vaittinen maxItems: 1 294238dc1eSMatti Vaittinen 304238dc1eSMatti Vaittinen gpio-controller: true 314238dc1eSMatti Vaittinen 324238dc1eSMatti Vaittinen "#gpio-cells": 334238dc1eSMatti Vaittinen const: 2 344238dc1eSMatti Vaittinen description: | 354238dc1eSMatti Vaittinen The first cell is the pin number and the second cell is used to specify 364238dc1eSMatti Vaittinen flags. See ../gpio/gpio.txt for more information. 374238dc1eSMatti Vaittinen 384238dc1eSMatti Vaittinen clocks: 394238dc1eSMatti Vaittinen maxItems: 1 404238dc1eSMatti Vaittinen 414238dc1eSMatti Vaittinen "#clock-cells": 424238dc1eSMatti Vaittinen const: 0 434238dc1eSMatti Vaittinen 444238dc1eSMatti Vaittinen clock-output-names: 454238dc1eSMatti Vaittinen const: bd71815-32k-out 464238dc1eSMatti Vaittinen 474238dc1eSMatti Vaittinen rohm,clkout-open-drain: 484238dc1eSMatti Vaittinen description: clk32kout mode. Set to 1 for "open-drain" or 0 for "cmos". 499896a19cSRob Herring $ref: /schemas/types.yaml#/definitions/uint32 504238dc1eSMatti Vaittinen minimum: 0 514238dc1eSMatti Vaittinen maximum: 1 524238dc1eSMatti Vaittinen 53*7fd7fd62SMatti Vaittinen rohm,charger-sense-resistor-micro-ohms: 54*7fd7fd62SMatti Vaittinen minimum: 10000 55*7fd7fd62SMatti Vaittinen maximum: 50000 564238dc1eSMatti Vaittinen description: | 57*7fd7fd62SMatti Vaittinen BD71815 has SAR ADC for measuring charging currents. External sense 58*7fd7fd62SMatti Vaittinen resistor (RSENSE in data sheet) should be used. If something other 59*7fd7fd62SMatti Vaittinen but a 30 mOhm resistor is used the resistance value should be given 60*7fd7fd62SMatti Vaittinen here in micro Ohms. 61*7fd7fd62SMatti Vaittinen default: 30000 624238dc1eSMatti Vaittinen 634238dc1eSMatti Vaittinen regulators: 644238dc1eSMatti Vaittinen $ref: ../regulator/rohm,bd71815-regulator.yaml 654238dc1eSMatti Vaittinen description: 664238dc1eSMatti Vaittinen List of child nodes that specify the regulators. 674238dc1eSMatti Vaittinen 684238dc1eSMatti Vaittinen gpio-reserved-ranges: 694238dc1eSMatti Vaittinen description: | 70*7fd7fd62SMatti Vaittinen Usage of BD71815 GPIO pins can be changed via OTP. This property can be 714238dc1eSMatti Vaittinen used to mark the pins which should not be configured for GPIO. Please see 724238dc1eSMatti Vaittinen the ../gpio/gpio.txt for more information. 734238dc1eSMatti Vaittinen 744238dc1eSMatti Vaittinen rohm,enable-hidden-gpo: 754238dc1eSMatti Vaittinen description: | 764238dc1eSMatti Vaittinen The BD71815 has undocumented GPO at pin E5. Pin is marked as GND at the 77be55492eSRandy Dunlap data-sheet as its location in the middle of GND pins makes it hard to 784238dc1eSMatti Vaittinen use on PCB. If your board has managed to use this pin you can enable the 794238dc1eSMatti Vaittinen second GPO by defining this property. Dont enable this if you are unsure 804238dc1eSMatti Vaittinen about how the E5 pin is connected on your board. 814238dc1eSMatti Vaittinen type: boolean 824238dc1eSMatti Vaittinen 834238dc1eSMatti Vaittinenrequired: 844238dc1eSMatti Vaittinen - compatible 854238dc1eSMatti Vaittinen - reg 864238dc1eSMatti Vaittinen - interrupts 874238dc1eSMatti Vaittinen - clocks 884238dc1eSMatti Vaittinen - "#clock-cells" 894238dc1eSMatti Vaittinen - regulators 904238dc1eSMatti Vaittinen - gpio-controller 914238dc1eSMatti Vaittinen - "#gpio-cells" 924238dc1eSMatti Vaittinen 934238dc1eSMatti VaittinenadditionalProperties: false 944238dc1eSMatti Vaittinen 954238dc1eSMatti Vaittinenexamples: 964238dc1eSMatti Vaittinen - | 974238dc1eSMatti Vaittinen #include <dt-bindings/interrupt-controller/irq.h> 984238dc1eSMatti Vaittinen #include <dt-bindings/leds/common.h> 994238dc1eSMatti Vaittinen i2c { 1004238dc1eSMatti Vaittinen #address-cells = <1>; 1014238dc1eSMatti Vaittinen #size-cells = <0>; 1024238dc1eSMatti Vaittinen pmic: pmic@4b { 1034238dc1eSMatti Vaittinen compatible = "rohm,bd71815"; 1044238dc1eSMatti Vaittinen reg = <0x4b>; 1054238dc1eSMatti Vaittinen 1064238dc1eSMatti Vaittinen interrupt-parent = <&gpio1>; 1074238dc1eSMatti Vaittinen interrupts = <29 IRQ_TYPE_LEVEL_LOW>; 1084238dc1eSMatti Vaittinen 1094238dc1eSMatti Vaittinen clocks = <&osc 0>; 1104238dc1eSMatti Vaittinen #clock-cells = <0>; 1114238dc1eSMatti Vaittinen clock-output-names = "bd71815-32k-out"; 1124238dc1eSMatti Vaittinen 1134238dc1eSMatti Vaittinen gpio-controller; 1144238dc1eSMatti Vaittinen #gpio-cells = <2>; 1154238dc1eSMatti Vaittinen 116*7fd7fd62SMatti Vaittinen rohm,charger-sense-resistor-micro-ohms = <10000>; 1174238dc1eSMatti Vaittinen 1184238dc1eSMatti Vaittinen regulators { 1194238dc1eSMatti Vaittinen buck1: buck1 { 1204238dc1eSMatti Vaittinen regulator-name = "buck1"; 1214238dc1eSMatti Vaittinen regulator-min-microvolt = <800000>; 1224238dc1eSMatti Vaittinen regulator-max-microvolt = <2000000>; 1234238dc1eSMatti Vaittinen regulator-always-on; 1244238dc1eSMatti Vaittinen regulator-ramp-delay = <1250>; 1254238dc1eSMatti Vaittinen rohm,dvs-run-voltage = <1150000>; 1264238dc1eSMatti Vaittinen rohm,dvs-suspend-voltage = <950000>; 1274238dc1eSMatti Vaittinen }; 1284238dc1eSMatti Vaittinen buck2: buck2 { 1294238dc1eSMatti Vaittinen regulator-name = "buck2"; 1304238dc1eSMatti Vaittinen regulator-min-microvolt = <800000>; 1314238dc1eSMatti Vaittinen regulator-max-microvolt = <2000000>; 1324238dc1eSMatti Vaittinen regulator-always-on; 1334238dc1eSMatti Vaittinen regulator-ramp-delay = <1250>; 1344238dc1eSMatti Vaittinen rohm,dvs-run-voltage = <1150000>; 1354238dc1eSMatti Vaittinen rohm,dvs-suspend-voltage = <950000>; 1364238dc1eSMatti Vaittinen }; 1374238dc1eSMatti Vaittinen buck3: buck3 { 1384238dc1eSMatti Vaittinen regulator-name = "buck3"; 1394238dc1eSMatti Vaittinen regulator-min-microvolt = <1200000>; 1404238dc1eSMatti Vaittinen regulator-max-microvolt = <2700000>; 1414238dc1eSMatti Vaittinen regulator-always-on; 1424238dc1eSMatti Vaittinen }; 1434238dc1eSMatti Vaittinen buck4: buck4 { 1444238dc1eSMatti Vaittinen regulator-name = "buck4"; 1454238dc1eSMatti Vaittinen regulator-min-microvolt = <1100000>; 1464238dc1eSMatti Vaittinen regulator-max-microvolt = <1850000>; 1474238dc1eSMatti Vaittinen regulator-always-on; 1484238dc1eSMatti Vaittinen }; 1494238dc1eSMatti Vaittinen buck5: buck5 { 1504238dc1eSMatti Vaittinen regulator-name = "buck5"; 1514238dc1eSMatti Vaittinen regulator-min-microvolt = <1800000>; 1524238dc1eSMatti Vaittinen regulator-max-microvolt = <3300000>; 1534238dc1eSMatti Vaittinen regulator-always-on; 1544238dc1eSMatti Vaittinen }; 1554238dc1eSMatti Vaittinen ldo1: ldo1 { 1564238dc1eSMatti Vaittinen regulator-name = "ldo1"; 1574238dc1eSMatti Vaittinen regulator-min-microvolt = <800000>; 1584238dc1eSMatti Vaittinen regulator-max-microvolt = <3300000>; 1594238dc1eSMatti Vaittinen regulator-always-on; 1604238dc1eSMatti Vaittinen }; 1614238dc1eSMatti Vaittinen ldo2: ldo2 { 1624238dc1eSMatti Vaittinen regulator-name = "ldo2"; 1634238dc1eSMatti Vaittinen regulator-min-microvolt = <800000>; 1644238dc1eSMatti Vaittinen regulator-max-microvolt = <3300000>; 1654238dc1eSMatti Vaittinen regulator-always-on; 1664238dc1eSMatti Vaittinen }; 1674238dc1eSMatti Vaittinen ldo3: ldo3 { 1684238dc1eSMatti Vaittinen regulator-name = "ldo3"; 1694238dc1eSMatti Vaittinen regulator-min-microvolt = <800000>; 1704238dc1eSMatti Vaittinen regulator-max-microvolt = <3300000>; 1714238dc1eSMatti Vaittinen regulator-always-on; 1724238dc1eSMatti Vaittinen }; 1734238dc1eSMatti Vaittinen ldo4: ldo4 { 1744238dc1eSMatti Vaittinen regulator-name = "ldo4"; 1754238dc1eSMatti Vaittinen regulator-min-microvolt = <800000>; 1764238dc1eSMatti Vaittinen regulator-max-microvolt = <3300000>; 1774238dc1eSMatti Vaittinen regulator-always-on; 1784238dc1eSMatti Vaittinen }; 1794238dc1eSMatti Vaittinen ldo5: ldo5 { 1804238dc1eSMatti Vaittinen regulator-name = "ldo5"; 1814238dc1eSMatti Vaittinen regulator-min-microvolt = <800000>; 1824238dc1eSMatti Vaittinen regulator-max-microvolt = <3300000>; 1834238dc1eSMatti Vaittinen regulator-always-on; 1844238dc1eSMatti Vaittinen }; 1854238dc1eSMatti Vaittinen ldo6: ldodvref { 1864238dc1eSMatti Vaittinen regulator-name = "ldodvref"; 1874238dc1eSMatti Vaittinen regulator-always-on; 1884238dc1eSMatti Vaittinen }; 1894238dc1eSMatti Vaittinen ldo7: ldolpsr { 1904238dc1eSMatti Vaittinen regulator-name = "ldolpsr"; 1914238dc1eSMatti Vaittinen regulator-always-on; 1924238dc1eSMatti Vaittinen }; 1934238dc1eSMatti Vaittinen 1944238dc1eSMatti Vaittinen boost: wled { 1954238dc1eSMatti Vaittinen regulator-name = "wled"; 1964238dc1eSMatti Vaittinen regulator-min-microamp = <10>; 1974238dc1eSMatti Vaittinen regulator-max-microamp = <25000>; 1984238dc1eSMatti Vaittinen }; 1994238dc1eSMatti Vaittinen }; 2004238dc1eSMatti Vaittinen }; 2014238dc1eSMatti Vaittinen }; 202