| # 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 |
| |
| maintainers: |
| - Matti Vaittinen <mazziesaccount@gmail.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: |
| oneOf: |
| - const: rohm,bd71828 |
| |
| - items: |
| - const: rohm,bd71879 |
| - 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 |
| |
| clock-output-names: |
| const: bd71828-32k-out |
| |
| rohm,clkout-open-drain: |
| description: clk32kout mode. Set to 1 for "open-drain" or 0 for "cmos". |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| minimum: 0 |
| maximum: 1 |
| |
| 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: /schemas/regulator/rohm,bd71828-regulator.yaml |
| description: |
| List of child nodes that specify the regulators. |
| |
| leds: |
| $ref: /schemas/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. |
| |
| system-power-controller: true |
| |
| required: |
| - compatible |
| - reg |
| - interrupts |
| - clocks |
| - "#clock-cells" |
| - regulators |
| - gpio-controller |
| - "#gpio-cells" |
| |
| additionalProperties: false |
| |
| 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>; |
| }; |
| }; |
| }; |
| }; |