0001 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/mfd/rohm,bd71815-pmic.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006
0007 title: ROHM BD71815 Power Management Integrated Circuit bindings
0008
0009 maintainers:
0010 - Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
0011
0012 description: |
0013 BD71815AGW is a single-chip power management ICs for battery-powered
0014 portable devices. It integrates 5 buck converters, 8 LDOs, a boost driver
0015 for LED and a 500 mA single-cell linear charger. Also included is a Coulomb
0016 counter, a real-time clock (RTC), and a 32.768 kHz clock gate and two GPOs.
0017
0018 properties:
0019 compatible:
0020 const: rohm,bd71815
0021
0022 reg:
0023 description:
0024 I2C slave address.
0025 maxItems: 1
0026
0027 interrupts:
0028 maxItems: 1
0029
0030 gpio-controller: true
0031
0032 "#gpio-cells":
0033 const: 2
0034 description: |
0035 The first cell is the pin number and the second cell is used to specify
0036 flags. See ../gpio/gpio.txt for more information.
0037
0038 clocks:
0039 maxItems: 1
0040
0041 "#clock-cells":
0042 const: 0
0043
0044 clock-output-names:
0045 const: bd71815-32k-out
0046
0047 rohm,clkout-open-drain:
0048 description: clk32kout mode. Set to 1 for "open-drain" or 0 for "cmos".
0049 $ref: "/schemas/types.yaml#/definitions/uint32"
0050 minimum: 0
0051 maximum: 1
0052
0053 rohm,charger-sense-resistor-ohms:
0054 minimum: 10000000
0055 maximum: 50000000
0056 description: |
0057 BD71827 and BD71828 have SAR ADC for measuring charging currents.
0058 External sense resistor (RSENSE in data sheet) should be used. If
0059 something other but 30MOhm resistor is used the resistance value
0060 should be given here in Ohms.
0061 default: 30000000
0062
0063 regulators:
0064 $ref: ../regulator/rohm,bd71815-regulator.yaml
0065 description:
0066 List of child nodes that specify the regulators.
0067
0068 gpio-reserved-ranges:
0069 description: |
0070 Usage of BD71828 GPIO pins can be changed via OTP. This property can be
0071 used to mark the pins which should not be configured for GPIO. Please see
0072 the ../gpio/gpio.txt for more information.
0073
0074 rohm,enable-hidden-gpo:
0075 description: |
0076 The BD71815 has undocumented GPO at pin E5. Pin is marked as GND at the
0077 data-sheet as its location in the middle of GND pins makes it hard to
0078 use on PCB. If your board has managed to use this pin you can enable the
0079 second GPO by defining this property. Dont enable this if you are unsure
0080 about how the E5 pin is connected on your board.
0081 type: boolean
0082
0083 required:
0084 - compatible
0085 - reg
0086 - interrupts
0087 - clocks
0088 - "#clock-cells"
0089 - regulators
0090 - gpio-controller
0091 - "#gpio-cells"
0092
0093 additionalProperties: false
0094
0095 examples:
0096 - |
0097 #include <dt-bindings/interrupt-controller/irq.h>
0098 #include <dt-bindings/leds/common.h>
0099 i2c {
0100 #address-cells = <1>;
0101 #size-cells = <0>;
0102 pmic: pmic@4b {
0103 compatible = "rohm,bd71815";
0104 reg = <0x4b>;
0105
0106 interrupt-parent = <&gpio1>;
0107 interrupts = <29 IRQ_TYPE_LEVEL_LOW>;
0108
0109 clocks = <&osc 0>;
0110 #clock-cells = <0>;
0111 clock-output-names = "bd71815-32k-out";
0112
0113 gpio-controller;
0114 #gpio-cells = <2>;
0115
0116 rohm,charger-sense-resistor-ohms = <10000000>;
0117
0118 regulators {
0119 buck1: buck1 {
0120 regulator-name = "buck1";
0121 regulator-min-microvolt = <800000>;
0122 regulator-max-microvolt = <2000000>;
0123 regulator-always-on;
0124 regulator-ramp-delay = <1250>;
0125 rohm,dvs-run-voltage = <1150000>;
0126 rohm,dvs-suspend-voltage = <950000>;
0127 };
0128 buck2: buck2 {
0129 regulator-name = "buck2";
0130 regulator-min-microvolt = <800000>;
0131 regulator-max-microvolt = <2000000>;
0132 regulator-always-on;
0133 regulator-ramp-delay = <1250>;
0134 rohm,dvs-run-voltage = <1150000>;
0135 rohm,dvs-suspend-voltage = <950000>;
0136 };
0137 buck3: buck3 {
0138 regulator-name = "buck3";
0139 regulator-min-microvolt = <1200000>;
0140 regulator-max-microvolt = <2700000>;
0141 regulator-always-on;
0142 };
0143 buck4: buck4 {
0144 regulator-name = "buck4";
0145 regulator-min-microvolt = <1100000>;
0146 regulator-max-microvolt = <1850000>;
0147 regulator-always-on;
0148 };
0149 buck5: buck5 {
0150 regulator-name = "buck5";
0151 regulator-min-microvolt = <1800000>;
0152 regulator-max-microvolt = <3300000>;
0153 regulator-always-on;
0154 };
0155 ldo1: ldo1 {
0156 regulator-name = "ldo1";
0157 regulator-min-microvolt = <800000>;
0158 regulator-max-microvolt = <3300000>;
0159 regulator-always-on;
0160 };
0161 ldo2: ldo2 {
0162 regulator-name = "ldo2";
0163 regulator-min-microvolt = <800000>;
0164 regulator-max-microvolt = <3300000>;
0165 regulator-always-on;
0166 };
0167 ldo3: ldo3 {
0168 regulator-name = "ldo3";
0169 regulator-min-microvolt = <800000>;
0170 regulator-max-microvolt = <3300000>;
0171 regulator-always-on;
0172 };
0173 ldo4: ldo4 {
0174 regulator-name = "ldo4";
0175 regulator-min-microvolt = <800000>;
0176 regulator-max-microvolt = <3300000>;
0177 regulator-always-on;
0178 };
0179 ldo5: ldo5 {
0180 regulator-name = "ldo5";
0181 regulator-min-microvolt = <800000>;
0182 regulator-max-microvolt = <3300000>;
0183 regulator-always-on;
0184 };
0185 ldo6: ldodvref {
0186 regulator-name = "ldodvref";
0187 regulator-always-on;
0188 };
0189 ldo7: ldolpsr {
0190 regulator-name = "ldolpsr";
0191 regulator-always-on;
0192 };
0193
0194 boost: wled {
0195 regulator-name = "wled";
0196 regulator-min-microamp = <10>;
0197 regulator-max-microamp = <25000>;
0198 };
0199 };
0200 };
0201 };