mirror of
https://github.com/torvalds/linux.git
synced 2026-05-12 16:18:45 +02:00
The ROHM BD79300 is almost identical to the BD72720. Main differences are the initial values for some of the registers. Thus, it appears the BD79300 can be handled with same software as BD72720. Adding the compatible for the BD79300 enables people to use the real IC type in the device-tree instead of claiming it is BD72720. This does also help differentiating the ICs if appears it is needed. Add own compatible for the BD73900 and mark BD72720 as a fall-back. Signed-off-by: Matti Vaittinen <mazziesaccount@gmail.com> Acked-by: Conor Dooley <conor.dooley@microchip.com> Link: https://patch.msgid.link/6eaa9f08848c27c462e156e31ae5bdfd33bf2fe7.1771938507.git.mazziesaccount@gmail.com Signed-off-by: Lee Jones <lee@kernel.org>
345 lines
12 KiB
YAML
345 lines
12 KiB
YAML
# 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 and BD73900 Power Management Integrated Circuits
|
|
|
|
maintainers:
|
|
- Matti Vaittinen <mazziesaccount@gmail.com>
|
|
|
|
description:
|
|
BD72720 and BD73900 are single-chip power management ICs for
|
|
battery-powered portable devices. They integrate 10 bucks and 11 LDOs,
|
|
and a 3000 mA switching charger. ICs also include 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, PMICs
|
|
# use 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:
|
|
oneOf:
|
|
- const: rohm,bd72720
|
|
|
|
- items:
|
|
- const: rohm,bd73900
|
|
- 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:
|
|
PMIC 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:
|
|
PMIC 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:
|
|
PMIC 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: PMIC 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>;
|
|
};
|
|
};
|
|
};
|
|
};
|