1*2eb4d8dcSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2*2eb4d8dcSEmmanuel Vadot%YAML 1.2 3*2eb4d8dcSEmmanuel Vadot--- 4*2eb4d8dcSEmmanuel Vadot$id: http://devicetree.org/schemas/mfd/rohm,bd71815-pmic.yaml# 5*2eb4d8dcSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*2eb4d8dcSEmmanuel Vadot 7*2eb4d8dcSEmmanuel Vadottitle: ROHM BD71815 Power Management Integrated Circuit bindings 8*2eb4d8dcSEmmanuel Vadot 9*2eb4d8dcSEmmanuel Vadotmaintainers: 10*2eb4d8dcSEmmanuel Vadot - Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com> 11*2eb4d8dcSEmmanuel Vadot 12*2eb4d8dcSEmmanuel Vadotdescription: | 13*2eb4d8dcSEmmanuel Vadot BD71815AGW is a single-chip power management ICs for battery-powered 14*2eb4d8dcSEmmanuel Vadot portable devices. It integrates 5 buck converters, 8 LDOs, a boost driver 15*2eb4d8dcSEmmanuel Vadot for LED and a 500 mA single-cell linear charger. Also included is a Coulomb 16*2eb4d8dcSEmmanuel Vadot counter, a real-time clock (RTC), and a 32.768 kHz clock gate and two GPOs. 17*2eb4d8dcSEmmanuel Vadot 18*2eb4d8dcSEmmanuel Vadotproperties: 19*2eb4d8dcSEmmanuel Vadot compatible: 20*2eb4d8dcSEmmanuel Vadot const: rohm,bd71815 21*2eb4d8dcSEmmanuel Vadot 22*2eb4d8dcSEmmanuel Vadot reg: 23*2eb4d8dcSEmmanuel Vadot description: 24*2eb4d8dcSEmmanuel Vadot I2C slave address. 25*2eb4d8dcSEmmanuel Vadot maxItems: 1 26*2eb4d8dcSEmmanuel Vadot 27*2eb4d8dcSEmmanuel Vadot interrupts: 28*2eb4d8dcSEmmanuel Vadot maxItems: 1 29*2eb4d8dcSEmmanuel Vadot 30*2eb4d8dcSEmmanuel Vadot gpio-controller: true 31*2eb4d8dcSEmmanuel Vadot 32*2eb4d8dcSEmmanuel Vadot "#gpio-cells": 33*2eb4d8dcSEmmanuel Vadot const: 2 34*2eb4d8dcSEmmanuel Vadot description: | 35*2eb4d8dcSEmmanuel Vadot The first cell is the pin number and the second cell is used to specify 36*2eb4d8dcSEmmanuel Vadot flags. See ../gpio/gpio.txt for more information. 37*2eb4d8dcSEmmanuel Vadot 38*2eb4d8dcSEmmanuel Vadot clocks: 39*2eb4d8dcSEmmanuel Vadot maxItems: 1 40*2eb4d8dcSEmmanuel Vadot 41*2eb4d8dcSEmmanuel Vadot "#clock-cells": 42*2eb4d8dcSEmmanuel Vadot const: 0 43*2eb4d8dcSEmmanuel Vadot 44*2eb4d8dcSEmmanuel Vadot clock-output-names: 45*2eb4d8dcSEmmanuel Vadot const: bd71815-32k-out 46*2eb4d8dcSEmmanuel Vadot 47*2eb4d8dcSEmmanuel Vadot rohm,clkout-open-drain: 48*2eb4d8dcSEmmanuel Vadot description: clk32kout mode. Set to 1 for "open-drain" or 0 for "cmos". 49*2eb4d8dcSEmmanuel Vadot $ref: "/schemas/types.yaml#/definitions/uint32" 50*2eb4d8dcSEmmanuel Vadot minimum: 0 51*2eb4d8dcSEmmanuel Vadot maximum: 1 52*2eb4d8dcSEmmanuel Vadot 53*2eb4d8dcSEmmanuel Vadot rohm,charger-sense-resistor-ohms: 54*2eb4d8dcSEmmanuel Vadot minimum: 10000000 55*2eb4d8dcSEmmanuel Vadot maximum: 50000000 56*2eb4d8dcSEmmanuel Vadot description: | 57*2eb4d8dcSEmmanuel Vadot BD71827 and BD71828 have SAR ADC for measuring charging currents. 58*2eb4d8dcSEmmanuel Vadot External sense resistor (RSENSE in data sheet) should be used. If 59*2eb4d8dcSEmmanuel Vadot something other but 30MOhm resistor is used the resistance value 60*2eb4d8dcSEmmanuel Vadot should be given here in Ohms. 61*2eb4d8dcSEmmanuel Vadot default: 30000000 62*2eb4d8dcSEmmanuel Vadot 63*2eb4d8dcSEmmanuel Vadot regulators: 64*2eb4d8dcSEmmanuel Vadot $ref: ../regulator/rohm,bd71815-regulator.yaml 65*2eb4d8dcSEmmanuel Vadot description: 66*2eb4d8dcSEmmanuel Vadot List of child nodes that specify the regulators. 67*2eb4d8dcSEmmanuel Vadot 68*2eb4d8dcSEmmanuel Vadot gpio-reserved-ranges: 69*2eb4d8dcSEmmanuel Vadot description: | 70*2eb4d8dcSEmmanuel Vadot Usage of BD71828 GPIO pins can be changed via OTP. This property can be 71*2eb4d8dcSEmmanuel Vadot used to mark the pins which should not be configured for GPIO. Please see 72*2eb4d8dcSEmmanuel Vadot the ../gpio/gpio.txt for more information. 73*2eb4d8dcSEmmanuel Vadot 74*2eb4d8dcSEmmanuel Vadot rohm,enable-hidden-gpo: 75*2eb4d8dcSEmmanuel Vadot description: | 76*2eb4d8dcSEmmanuel Vadot The BD71815 has undocumented GPO at pin E5. Pin is marked as GND at the 77*2eb4d8dcSEmmanuel Vadot data-sheet as it's location in the middle of GND pins makes it hard to 78*2eb4d8dcSEmmanuel Vadot use on PCB. If your board has managed to use this pin you can enable the 79*2eb4d8dcSEmmanuel Vadot second GPO by defining this property. Dont enable this if you are unsure 80*2eb4d8dcSEmmanuel Vadot about how the E5 pin is connected on your board. 81*2eb4d8dcSEmmanuel Vadot type: boolean 82*2eb4d8dcSEmmanuel Vadot 83*2eb4d8dcSEmmanuel Vadotrequired: 84*2eb4d8dcSEmmanuel Vadot - compatible 85*2eb4d8dcSEmmanuel Vadot - reg 86*2eb4d8dcSEmmanuel Vadot - interrupts 87*2eb4d8dcSEmmanuel Vadot - clocks 88*2eb4d8dcSEmmanuel Vadot - "#clock-cells" 89*2eb4d8dcSEmmanuel Vadot - regulators 90*2eb4d8dcSEmmanuel Vadot - gpio-controller 91*2eb4d8dcSEmmanuel Vadot - "#gpio-cells" 92*2eb4d8dcSEmmanuel Vadot 93*2eb4d8dcSEmmanuel VadotadditionalProperties: false 94*2eb4d8dcSEmmanuel Vadot 95*2eb4d8dcSEmmanuel Vadotexamples: 96*2eb4d8dcSEmmanuel Vadot - | 97*2eb4d8dcSEmmanuel Vadot #include <dt-bindings/interrupt-controller/irq.h> 98*2eb4d8dcSEmmanuel Vadot #include <dt-bindings/leds/common.h> 99*2eb4d8dcSEmmanuel Vadot i2c { 100*2eb4d8dcSEmmanuel Vadot #address-cells = <1>; 101*2eb4d8dcSEmmanuel Vadot #size-cells = <0>; 102*2eb4d8dcSEmmanuel Vadot pmic: pmic@4b { 103*2eb4d8dcSEmmanuel Vadot compatible = "rohm,bd71815"; 104*2eb4d8dcSEmmanuel Vadot reg = <0x4b>; 105*2eb4d8dcSEmmanuel Vadot 106*2eb4d8dcSEmmanuel Vadot interrupt-parent = <&gpio1>; 107*2eb4d8dcSEmmanuel Vadot interrupts = <29 IRQ_TYPE_LEVEL_LOW>; 108*2eb4d8dcSEmmanuel Vadot 109*2eb4d8dcSEmmanuel Vadot clocks = <&osc 0>; 110*2eb4d8dcSEmmanuel Vadot #clock-cells = <0>; 111*2eb4d8dcSEmmanuel Vadot clock-output-names = "bd71815-32k-out"; 112*2eb4d8dcSEmmanuel Vadot 113*2eb4d8dcSEmmanuel Vadot gpio-controller; 114*2eb4d8dcSEmmanuel Vadot #gpio-cells = <2>; 115*2eb4d8dcSEmmanuel Vadot 116*2eb4d8dcSEmmanuel Vadot rohm,charger-sense-resistor-ohms = <10000000>; 117*2eb4d8dcSEmmanuel Vadot 118*2eb4d8dcSEmmanuel Vadot regulators { 119*2eb4d8dcSEmmanuel Vadot buck1: buck1 { 120*2eb4d8dcSEmmanuel Vadot regulator-name = "buck1"; 121*2eb4d8dcSEmmanuel Vadot regulator-min-microvolt = <800000>; 122*2eb4d8dcSEmmanuel Vadot regulator-max-microvolt = <2000000>; 123*2eb4d8dcSEmmanuel Vadot regulator-always-on; 124*2eb4d8dcSEmmanuel Vadot regulator-ramp-delay = <1250>; 125*2eb4d8dcSEmmanuel Vadot rohm,dvs-run-voltage = <1150000>; 126*2eb4d8dcSEmmanuel Vadot rohm,dvs-suspend-voltage = <950000>; 127*2eb4d8dcSEmmanuel Vadot }; 128*2eb4d8dcSEmmanuel Vadot buck2: buck2 { 129*2eb4d8dcSEmmanuel Vadot regulator-name = "buck2"; 130*2eb4d8dcSEmmanuel Vadot regulator-min-microvolt = <800000>; 131*2eb4d8dcSEmmanuel Vadot regulator-max-microvolt = <2000000>; 132*2eb4d8dcSEmmanuel Vadot regulator-always-on; 133*2eb4d8dcSEmmanuel Vadot regulator-ramp-delay = <1250>; 134*2eb4d8dcSEmmanuel Vadot rohm,dvs-run-voltage = <1150000>; 135*2eb4d8dcSEmmanuel Vadot rohm,dvs-suspend-voltage = <950000>; 136*2eb4d8dcSEmmanuel Vadot }; 137*2eb4d8dcSEmmanuel Vadot buck3: buck3 { 138*2eb4d8dcSEmmanuel Vadot regulator-name = "buck3"; 139*2eb4d8dcSEmmanuel Vadot regulator-min-microvolt = <1200000>; 140*2eb4d8dcSEmmanuel Vadot regulator-max-microvolt = <2700000>; 141*2eb4d8dcSEmmanuel Vadot regulator-always-on; 142*2eb4d8dcSEmmanuel Vadot }; 143*2eb4d8dcSEmmanuel Vadot buck4: buck4 { 144*2eb4d8dcSEmmanuel Vadot regulator-name = "buck4"; 145*2eb4d8dcSEmmanuel Vadot regulator-min-microvolt = <1100000>; 146*2eb4d8dcSEmmanuel Vadot regulator-max-microvolt = <1850000>; 147*2eb4d8dcSEmmanuel Vadot regulator-always-on; 148*2eb4d8dcSEmmanuel Vadot }; 149*2eb4d8dcSEmmanuel Vadot buck5: buck5 { 150*2eb4d8dcSEmmanuel Vadot regulator-name = "buck5"; 151*2eb4d8dcSEmmanuel Vadot regulator-min-microvolt = <1800000>; 152*2eb4d8dcSEmmanuel Vadot regulator-max-microvolt = <3300000>; 153*2eb4d8dcSEmmanuel Vadot regulator-always-on; 154*2eb4d8dcSEmmanuel Vadot }; 155*2eb4d8dcSEmmanuel Vadot ldo1: ldo1 { 156*2eb4d8dcSEmmanuel Vadot regulator-name = "ldo1"; 157*2eb4d8dcSEmmanuel Vadot regulator-min-microvolt = <800000>; 158*2eb4d8dcSEmmanuel Vadot regulator-max-microvolt = <3300000>; 159*2eb4d8dcSEmmanuel Vadot regulator-always-on; 160*2eb4d8dcSEmmanuel Vadot }; 161*2eb4d8dcSEmmanuel Vadot ldo2: ldo2 { 162*2eb4d8dcSEmmanuel Vadot regulator-name = "ldo2"; 163*2eb4d8dcSEmmanuel Vadot regulator-min-microvolt = <800000>; 164*2eb4d8dcSEmmanuel Vadot regulator-max-microvolt = <3300000>; 165*2eb4d8dcSEmmanuel Vadot regulator-always-on; 166*2eb4d8dcSEmmanuel Vadot }; 167*2eb4d8dcSEmmanuel Vadot ldo3: ldo3 { 168*2eb4d8dcSEmmanuel Vadot regulator-name = "ldo3"; 169*2eb4d8dcSEmmanuel Vadot regulator-min-microvolt = <800000>; 170*2eb4d8dcSEmmanuel Vadot regulator-max-microvolt = <3300000>; 171*2eb4d8dcSEmmanuel Vadot regulator-always-on; 172*2eb4d8dcSEmmanuel Vadot }; 173*2eb4d8dcSEmmanuel Vadot ldo4: ldo4 { 174*2eb4d8dcSEmmanuel Vadot regulator-name = "ldo4"; 175*2eb4d8dcSEmmanuel Vadot regulator-min-microvolt = <800000>; 176*2eb4d8dcSEmmanuel Vadot regulator-max-microvolt = <3300000>; 177*2eb4d8dcSEmmanuel Vadot regulator-always-on; 178*2eb4d8dcSEmmanuel Vadot }; 179*2eb4d8dcSEmmanuel Vadot ldo5: ldo5 { 180*2eb4d8dcSEmmanuel Vadot regulator-name = "ldo5"; 181*2eb4d8dcSEmmanuel Vadot regulator-min-microvolt = <800000>; 182*2eb4d8dcSEmmanuel Vadot regulator-max-microvolt = <3300000>; 183*2eb4d8dcSEmmanuel Vadot regulator-always-on; 184*2eb4d8dcSEmmanuel Vadot }; 185*2eb4d8dcSEmmanuel Vadot ldo6: ldodvref { 186*2eb4d8dcSEmmanuel Vadot regulator-name = "ldodvref"; 187*2eb4d8dcSEmmanuel Vadot regulator-always-on; 188*2eb4d8dcSEmmanuel Vadot }; 189*2eb4d8dcSEmmanuel Vadot ldo7: ldolpsr { 190*2eb4d8dcSEmmanuel Vadot regulator-name = "ldolpsr"; 191*2eb4d8dcSEmmanuel Vadot regulator-always-on; 192*2eb4d8dcSEmmanuel Vadot }; 193*2eb4d8dcSEmmanuel Vadot 194*2eb4d8dcSEmmanuel Vadot boost: wled { 195*2eb4d8dcSEmmanuel Vadot regulator-name = "wled"; 196*2eb4d8dcSEmmanuel Vadot regulator-min-microamp = <10>; 197*2eb4d8dcSEmmanuel Vadot regulator-max-microamp = <25000>; 198*2eb4d8dcSEmmanuel Vadot }; 199*2eb4d8dcSEmmanuel Vadot }; 200*2eb4d8dcSEmmanuel Vadot }; 201*2eb4d8dcSEmmanuel Vadot }; 202