mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/
synced 2026-04-18 06:33:43 -04:00
dt-bindings: mfd: ROHM BD72720
The ROHM BD72720 is a power management IC integrating regulators, GPIOs, charger, LEDs, RTC and a clock gate. Add dt-binding doc for ROHM BD72720. Signed-off-by: Matti Vaittinen <mazziesaccount@gmail.com> Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Link: https://patch.msgid.link/44cd4fcb2834ed613dd2d958cf4a4a34b3a316ab.1765804226.git.mazziesaccount@gmail.com Signed-off-by: Lee Jones <lee@kernel.org>
This commit is contained in:
committed by
Lee Jones
parent
16056396b7
commit
e816df1d37
339
Documentation/devicetree/bindings/mfd/rohm,bd72720-pmic.yaml
Normal file
339
Documentation/devicetree/bindings/mfd/rohm,bd72720-pmic.yaml
Normal file
@@ -0,0 +1,339 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/mfd/rohm,bd72720-pmic.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: ROHM BD72720 Power Management Integrated Circuit
|
||||
|
||||
maintainers:
|
||||
- Matti Vaittinen <mazziesaccount@gmail.com>
|
||||
|
||||
description:
|
||||
BD72720 is a single-chip power management IC for battery-powered portable
|
||||
devices. The BD72720 integrates 10 bucks and 11 LDOs, and a 3000 mA
|
||||
switching charger. The IC also includes a Coulomb counter, a real-time
|
||||
clock (RTC), GPIOs and a 32.768 kHz clock gate.
|
||||
|
||||
# In addition to the properties found from the charger node, the ROHM BD72720
|
||||
# uses properties from a static battery node. Please see the:
|
||||
# Documentation/devicetree/bindings/power/supply/battery.yaml
|
||||
#
|
||||
# Following properties are used
|
||||
# when present:
|
||||
#
|
||||
# charge-full-design-microamp-hours: Battry capacity in mAh
|
||||
# voltage-max-design-microvolt: Maximum voltage
|
||||
# voltage-min-design-microvolt: Minimum voltage system is still operating.
|
||||
# degrade-cycle-microamp-hours: Capacity lost due to aging at each full
|
||||
# charge cycle.
|
||||
# ocv-capacity-celsius: Array of OCV table temperatures. 1/table.
|
||||
# ocv-capacity-table-<N>: Table of OCV voltage/SOC pairs. Corresponds
|
||||
# N.th temperature in ocv-capacity-celsius
|
||||
#
|
||||
# volt-drop-thresh-microvolt: Threshold for starting the VDR correction
|
||||
# volt-drop-soc: Table of capacity values matching the
|
||||
# values in VDR tables.
|
||||
#
|
||||
# volt-drop-temperatures-millicelsius: Temperatures corresponding to the volage
|
||||
# drop values given in volt-drop-[0-9]-microvolt
|
||||
#
|
||||
# volt-drop-[0-9]-microvolt: VDR table for a temperature specified in
|
||||
# volt-drop-temperatures-millicelsius
|
||||
#
|
||||
# VDR tables are (usually) determined for a specific battery by ROHM.
|
||||
# The battery node would then be referred from the charger node:
|
||||
#
|
||||
# monitored-battery = <&battery>;
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: rohm,bd72720
|
||||
|
||||
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 the gpio binding document 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
|
||||
maximum: 1
|
||||
|
||||
rohm,charger-sense-resistor-micro-ohms:
|
||||
minimum: 10000
|
||||
maximum: 50000
|
||||
description:
|
||||
BD72720 has a SAR ADC for measuring charging currents. External sense
|
||||
resistor (RSENSE in data sheet) should be used. If some other but
|
||||
30 mOhm resistor is used the resistance value should be given here in
|
||||
micro Ohms.
|
||||
|
||||
regulators:
|
||||
$ref: /schemas/regulator/rohm,bd72720-regulator.yaml
|
||||
description:
|
||||
List of child nodes that specify the regulators.
|
||||
|
||||
leds:
|
||||
$ref: /schemas/leds/rohm,bd71828-leds.yaml
|
||||
|
||||
rohm,pin-fault_b:
|
||||
$ref: /schemas/types.yaml#/definitions/string
|
||||
description:
|
||||
BD72720 has an OTP option to use fault_b-pin for different
|
||||
purposes. Set this property accordingly. OTP options are
|
||||
OTP0 - bi-directional FAULT_B or READY indicator depending on a
|
||||
'sub option'
|
||||
OTP1 - GPO
|
||||
OTP2 - Power sequencer output.
|
||||
enum:
|
||||
- faultb
|
||||
- readyind
|
||||
- gpo
|
||||
- pwrseq
|
||||
|
||||
patternProperties:
|
||||
"^rohm,pin-dvs[0-1]$":
|
||||
$ref: /schemas/types.yaml#/definitions/string
|
||||
description:
|
||||
BD72720 has 4 different OTP options to determine the use of dvs<X>-pins.
|
||||
OTP0 - regulator RUN state control.
|
||||
OTP1 - GPI.
|
||||
OTP2 - GPO.
|
||||
OTP3 - Power sequencer output.
|
||||
This property specifies the use of the pin.
|
||||
enum:
|
||||
- dvs-input
|
||||
- gpi
|
||||
- gpo
|
||||
- pwrseq
|
||||
|
||||
"^rohm,pin-exten[0-1]$":
|
||||
$ref: /schemas/types.yaml#/definitions/string
|
||||
description: BD72720 has an OTP option to use exten0-pin for different
|
||||
purposes. Set this property accordingly.
|
||||
OTP0 - GPO
|
||||
OTP1 - Power sequencer output.
|
||||
enum:
|
||||
- gpo
|
||||
- pwrseq
|
||||
|
||||
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,bd72720";
|
||||
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>;
|
||||
|
||||
rohm,pin-dvs0 = "gpi";
|
||||
rohm,pin-dvs1 = "gpi";
|
||||
rohm,pin-exten0 = "gpo";
|
||||
rohm,pin-exten1 = "gpo";
|
||||
rohm,pin-fault_b = "faultb";
|
||||
|
||||
rohm,charger-sense-resistor-micro-ohms = <10000>;
|
||||
|
||||
regulators {
|
||||
buck1 {
|
||||
regulator-name = "buck1";
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <2000000>;
|
||||
regulator-ramp-delay = <2500>;
|
||||
};
|
||||
buck2 {
|
||||
regulator-name = "buck2";
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <2000000>;
|
||||
regulator-ramp-delay = <2500>;
|
||||
};
|
||||
buck3 {
|
||||
regulator-name = "buck3";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <2000000>;
|
||||
};
|
||||
buck4 {
|
||||
regulator-name = "buck4";
|
||||
regulator-min-microvolt = <1000000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
};
|
||||
buck5 {
|
||||
regulator-name = "buck5";
|
||||
regulator-min-microvolt = <2500000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
buck6 {
|
||||
regulator-name = "buck6";
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <2000000>;
|
||||
regulator-ramp-delay = <2500>;
|
||||
};
|
||||
buck7 {
|
||||
regulator-name = "buck7";
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <2000000>;
|
||||
regulator-ramp-delay = <2500>;
|
||||
};
|
||||
buck8 {
|
||||
regulator-name = "buck8";
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <1700000>;
|
||||
regulator-ramp-delay = <2500>;
|
||||
rohm,dvs-run-voltage = <1700000>;
|
||||
rohm,dvs-idle-voltage = <1>;
|
||||
rohm,dvs-suspend-voltage = <1>;
|
||||
rohm,dvs-lpsr-voltage = <0>;
|
||||
regulator-boot-on;
|
||||
};
|
||||
buck9 {
|
||||
regulator-name = "buck9";
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <1700000>;
|
||||
regulator-ramp-delay = <2500>;
|
||||
rohm,dvs-run-voltage = <1700000>;
|
||||
rohm,dvs-idle-voltage = <1>;
|
||||
rohm,dvs-suspend-voltage = <1>;
|
||||
rohm,dvs-lpsr-voltage = <0>;
|
||||
regulator-boot-on;
|
||||
};
|
||||
buck10 {
|
||||
regulator-name = "buck10";
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <1700000>;
|
||||
regulator-ramp-delay = <2500>;
|
||||
rohm,dvs-run-voltage = <1700000>;
|
||||
rohm,dvs-idle-voltage = <1>;
|
||||
rohm,dvs-suspend-voltage = <1>;
|
||||
rohm,dvs-lpsr-voltage = <0>;
|
||||
regulator-boot-on;
|
||||
};
|
||||
ldo1 {
|
||||
regulator-name = "ldo1";
|
||||
regulator-min-microvolt = <800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
ldo2 {
|
||||
regulator-name = "ldo2";
|
||||
regulator-min-microvolt = <800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
ldo3 {
|
||||
regulator-name = "ldo3";
|
||||
regulator-min-microvolt = <800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
ldo4 {
|
||||
regulator-name = "ldo4";
|
||||
regulator-min-microvolt = <800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
ldo5 {
|
||||
regulator-name = "ldo5";
|
||||
regulator-min-microvolt = <800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
ldo6 {
|
||||
regulator-name = "ldo6";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
};
|
||||
ldo7 {
|
||||
regulator-name = "ldo7";
|
||||
regulator-min-microvolt = <800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
ldo8 {
|
||||
regulator-name = "ldo8";
|
||||
regulator-min-microvolt = <750000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
rohm,dvs-suspend-voltage = <0>;
|
||||
rohm,dvs-lpsr-voltage = <1>;
|
||||
rohm,dvs-run-voltage = <750000>;
|
||||
};
|
||||
ldo9 {
|
||||
regulator-name = "ldo9";
|
||||
regulator-min-microvolt = <750000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
rohm,dvs-suspend-voltage = <0>;
|
||||
rohm,dvs-lpsr-voltage = <1>;
|
||||
rohm,dvs-run-voltage = <750000>;
|
||||
};
|
||||
ldo10 {
|
||||
regulator-name = "ldo10";
|
||||
regulator-min-microvolt = <750000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
rohm,dvs-suspend-voltage = <0>;
|
||||
rohm,dvs-lpsr-voltage = <1>;
|
||||
rohm,dvs-run-voltage = <750000>;
|
||||
};
|
||||
ldo11 {
|
||||
regulator-name = "ldo11";
|
||||
regulator-min-microvolt = <750000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
rohm,dvs-suspend-voltage = <0>;
|
||||
rohm,dvs-lpsr-voltage = <1>;
|
||||
rohm,dvs-run-voltage = <750000>;
|
||||
};
|
||||
};
|
||||
|
||||
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>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
Reference in New Issue
Block a user