Commit 1af5332f authored by Matti Vaittinen's avatar Matti Vaittinen Committed by Lee Jones
Browse files

dt-bindings: mfd: Document ROHM BD71828 bindings



ROHM BD71828 Power management IC integrates 7 buck converters, 7 LDOs,
a real-time clock (RTC), 3 GPO/regulator control pins, HALL input
and a 32.768 kHz clock gate.

Document the dt bindings drivers are using.

Signed-off-by: default avatarMatti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
parent 873e443d
Loading
Loading
Loading
Loading
+193 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/mfd/rohm,bd71828-pmic.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: ROHM BD71828 Power Management Integrated Circuit bindings

maintainers:
  - Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>

description: |
  BD71828GW is a single-chip power management IC for battery-powered portable
  devices. The IC integrates 7 buck converters, 7 LDOs, and a 1500 mA
  single-cell linear charger. Also included is a Coulomb counter, a real-time
  clock (RTC), and a 32.768 kHz clock gate.

properties:
  compatible:
    const: rohm,bd71828

  reg:
    description:
      I2C slave address.
    maxItems: 1

  interrupts:
    maxItems: 1

  gpio-controller: true

  "#gpio-cells":
    const: 2
    description: |
      The first cell is the pin number and the second cell is used to specify
      flags. See ../gpio/gpio.txt for more information.

  clocks:
    maxItems: 1

  "#clock-cells":
    const: 0

  rohm,charger-sense-resistor-ohms:
    minimum: 10000000
    maximum: 50000000
    description: |
      BD71827 and BD71828 have SAR ADC for measuring charging currents.
      External sense resistor (RSENSE in data sheet) should be used. If some
      other but 30MOhm resistor is used the resistance value should be given
      here in Ohms.

  regulators:
    $ref: ../regulator/rohm,bd71828-regulator.yaml
    description:
      List of child nodes that specify the regulators.

  leds:
    $ref: ../leds/rohm,bd71828-leds.yaml

  gpio-reserved-ranges:
    description: |
      Usage of BD71828 GPIO pins can be changed via OTP. This property can be
      used to mark the pins which should not be configured for GPIO. Please see
      the ../gpio/gpio.txt for more information.

required:
  - compatible
  - reg
  - interrupts
  - clocks
  - "#clock-cells"
  - regulators
  - gpio-controller
  - "#gpio-cells"

examples:
  - |
    #include <dt-bindings/interrupt-controller/irq.h>
    #include <dt-bindings/leds/common.h>
    i2c {
        #address-cells = <1>;
        #size-cells = <0>;
        pmic: pmic@4b {
            compatible = "rohm,bd71828";
            reg = <0x4b>;

            interrupt-parent = <&gpio1>;
            interrupts = <29 IRQ_TYPE_LEVEL_LOW>;

            clocks = <&osc 0>;
            #clock-cells = <0>;
            clock-output-names = "bd71828-32k-out";

            gpio-controller;
            #gpio-cells = <2>;
            gpio-reserved-ranges = <0 1>, <2 1>;

            rohm,charger-sense-resistor-ohms = <10000000>;

            regulators {
                buck1: BUCK1 {
                    regulator-name = "buck1";
                    regulator-min-microvolt = <500000>;
                    regulator-max-microvolt = <2000000>;
                    regulator-ramp-delay = <2500>;
                };
                buck2: BUCK2 {
                    regulator-name = "buck2";
                    regulator-min-microvolt = <500000>;
                    regulator-max-microvolt = <2000000>;
                    regulator-ramp-delay = <2500>;
                };
                buck3: BUCK3 {
                    regulator-name = "buck3";
                    regulator-min-microvolt = <1200000>;
                    regulator-max-microvolt = <2000000>;
                };
                buck4: BUCK4 {
                    regulator-name = "buck4";
                    regulator-min-microvolt = <1000000>;
                    regulator-max-microvolt = <1800000>;
                };
                buck5: BUCK5 {
                    regulator-name = "buck5";
                    regulator-min-microvolt = <2500000>;
                    regulator-max-microvolt = <3300000>;
                };
                buck6: BUCK6 {
                    regulator-name = "buck6";
                    regulator-min-microvolt = <500000>;
                    regulator-max-microvolt = <2000000>;
                    regulator-ramp-delay = <2500>;
                };
                buck7: BUCK7 {
                    regulator-name = "buck7";
                    regulator-min-microvolt = <500000>;
                    regulator-max-microvolt = <2000000>;
                    regulator-ramp-delay = <2500>;
                };
                ldo1: LDO1 {
                    regulator-name = "ldo1";
                    regulator-min-microvolt = <800000>;
                    regulator-max-microvolt = <3300000>;
                };
                ldo2: LDO2 {
                    regulator-name = "ldo2";
                    regulator-min-microvolt = <800000>;
                    regulator-max-microvolt = <3300000>;
                };
                ldo3: LDO3 {
                    regulator-name = "ldo3";
                    regulator-min-microvolt = <800000>;
                    regulator-max-microvolt = <3300000>;
                };
                ldo4: LDO4 {
                    regulator-name = "ldo4";
                    regulator-min-microvolt = <800000>;
                    regulator-max-microvolt = <3300000>;
                };
                ldo5: LDO5 {
                    regulator-name = "ldo5";
                    regulator-min-microvolt = <800000>;
                    regulator-max-microvolt = <3300000>;
                };
                ldo6: LDO6 {
                    regulator-name = "ldo6";
                    regulator-min-microvolt = <1800000>;
                    regulator-max-microvolt = <1800000>;
                };
                ldo7_reg: LDO7 {
                    regulator-name = "ldo7";
                    regulator-min-microvolt = <800000>;
                    regulator-max-microvolt = <3300000>;
                };
            };

            leds {
                compatible = "rohm,bd71828-leds";

                led-1 {
                    rohm,led-compatible = "bd71828-grnled";
                    function = LED_FUNCTION_INDICATOR;
                    color = <LED_COLOR_ID_GREEN>;
                };
                led-2 {
                    rohm,led-compatible = "bd71828-ambled";
                    function = LED_FUNCTION_CHARGING;
                    color = <LED_COLOR_ID_AMBER>;
                };
            };
        };
    };