174 lines
6.1 KiB
YAML
174 lines
6.1 KiB
YAML
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/mfd/rohm,bd96801-pmic.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: ROHM BD96801 Scalable Power Management Integrated Circuit
|
|
|
|
maintainers:
|
|
- Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
|
|
|
|
description:
|
|
BD96801 is an automotive grade single-chip power management IC.
|
|
It integrates 4 buck converters and 3 LDOs with safety features like
|
|
over-/under voltage and over current detection and a watchdog.
|
|
|
|
properties:
|
|
compatible:
|
|
const: rohm,bd96801
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
interrupts:
|
|
description:
|
|
The PMIC provides intb and errb IRQ lines. The errb IRQ line is used
|
|
for fatal IRQs which will cause the PMIC to shut down power outputs.
|
|
In many systems this will shut down the SoC controlling the PMIC and
|
|
connecting/handling the errb can be omitted. However, there are cases
|
|
where the SoC is not powered by the PMIC or has a short time backup
|
|
energy to handle shutdown of critical hardware. In that case it may be
|
|
useful to connect the errb and handle errb events.
|
|
minItems: 1
|
|
maxItems: 2
|
|
|
|
interrupt-names:
|
|
minItems: 1
|
|
items:
|
|
- enum: [intb, errb]
|
|
- const: errb
|
|
|
|
rohm,hw-timeout-ms:
|
|
description:
|
|
Watchdog timeout value(s). First walue is timeout limit. Second value is
|
|
optional value for 'too early' watchdog ping if window timeout mode is
|
|
to be used.
|
|
minItems: 1
|
|
maxItems: 2
|
|
|
|
rohm,wdg-action:
|
|
description:
|
|
Whether the watchdog failure must turn off the regulator power outputs or
|
|
just toggle the INTB line.
|
|
enum:
|
|
- prstb
|
|
- intb-only
|
|
|
|
timeout-sec:
|
|
maxItems: 2
|
|
|
|
regulators:
|
|
$ref: /schemas/regulator/rohm,bd96801-regulator.yaml
|
|
description:
|
|
List of child nodes that specify the regulators.
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
- interrupts
|
|
- interrupt-names
|
|
- regulators
|
|
|
|
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@60 {
|
|
reg = <0x60>;
|
|
compatible = "rohm,bd96801";
|
|
interrupt-parent = <&gpio1>;
|
|
interrupts = <29 IRQ_TYPE_LEVEL_LOW>, <6 IRQ_TYPE_LEVEL_LOW>;
|
|
interrupt-names = "intb", "errb";
|
|
|
|
regulators {
|
|
buck1 {
|
|
regulator-name = "buck1";
|
|
regulator-ramp-delay = <1250>;
|
|
/* 0.5V min INITIAL - 150 mV tune */
|
|
regulator-min-microvolt = <350000>;
|
|
/* 3.3V + 150mV tune */
|
|
regulator-max-microvolt = <3450000>;
|
|
|
|
/* These can be set only when PMIC is in STBY */
|
|
rohm,initial-voltage-microvolt = <500000>;
|
|
regulator-ov-error-microvolt = <230000>;
|
|
regulator-uv-error-microvolt = <230000>;
|
|
regulator-temp-protection-kelvin = <1>;
|
|
regulator-temp-warn-kelvin = <0>;
|
|
};
|
|
buck2 {
|
|
regulator-name = "buck2";
|
|
regulator-min-microvolt = <350000>;
|
|
regulator-max-microvolt = <3450000>;
|
|
|
|
rohm,initial-voltage-microvolt = <3000000>;
|
|
regulator-ov-error-microvolt = <18000>;
|
|
regulator-uv-error-microvolt = <18000>;
|
|
regulator-temp-protection-kelvin = <1>;
|
|
regulator-temp-warn-kelvin = <1>;
|
|
};
|
|
buck3 {
|
|
regulator-name = "buck3";
|
|
regulator-min-microvolt = <350000>;
|
|
regulator-max-microvolt = <3450000>;
|
|
|
|
rohm,initial-voltage-microvolt = <600000>;
|
|
regulator-ov-warn-microvolt = <18000>;
|
|
regulator-uv-warn-microvolt = <18000>;
|
|
regulator-temp-protection-kelvin = <1>;
|
|
regulator-temp-error-kelvin = <0>;
|
|
};
|
|
buck4 {
|
|
regulator-name = "buck4";
|
|
regulator-min-microvolt = <350000>;
|
|
regulator-max-microvolt = <3450000>;
|
|
|
|
rohm,initial-voltage-microvolt = <600000>;
|
|
regulator-ov-warn-microvolt = <18000>;
|
|
regulator-uv-warn-microvolt = <18000>;
|
|
regulator-temp-protection-kelvin = <1>;
|
|
regulator-temp-error-kelvin = <0>;
|
|
};
|
|
ldo5 {
|
|
regulator-name = "ldo5";
|
|
regulator-min-microvolt = <300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
|
|
rohm,initial-voltage-microvolt = <500000>;
|
|
regulator-ov-error-microvolt = <36000>;
|
|
regulator-uv-error-microvolt = <34000>;
|
|
regulator-temp-protection-kelvin = <1>;
|
|
regulator-temp-warn-kelvin = <0>;
|
|
};
|
|
ldo6 {
|
|
regulator-name = "ldo6";
|
|
regulator-min-microvolt = <300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
|
|
rohm,initial-voltage-microvolt = <300000>;
|
|
regulator-ov-error-microvolt = <36000>;
|
|
regulator-uv-error-microvolt = <34000>;
|
|
regulator-temp-protection-kelvin = <1>;
|
|
regulator-temp-warn-kelvin = <0>;
|
|
};
|
|
ldo7 {
|
|
regulator-name = "ldo7";
|
|
regulator-min-microvolt = <300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
|
|
rohm,initial-voltage-microvolt = <500000>;
|
|
regulator-ov-error-microvolt = <36000>;
|
|
regulator-uv-error-microvolt = <34000>;
|
|
regulator-temp-protection-kelvin = <1>;
|
|
regulator-temp-warn-kelvin = <0>;
|
|
};
|
|
};
|
|
};
|
|
};
|