207 lines
6.1 KiB
YAML
207 lines
6.1 KiB
YAML
|
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||
|
%YAML 1.2
|
||
|
---
|
||
|
$id: http://devicetree.org/schemas/regulator/richtek,rtq2208.yaml#
|
||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||
|
|
||
|
title: Richtek RTQ2208 SubPMIC Regulator
|
||
|
|
||
|
maintainers:
|
||
|
- Alina Yu <alina_yu@richtek.com>
|
||
|
|
||
|
description: |
|
||
|
RTQ2208 is a highly integrated power converter that offers functional safety dual
|
||
|
multi-configurable synchronous buck converters and two LDOs.
|
||
|
|
||
|
Bucks support "regulator-allowed-modes" and "regulator-mode". The former defines the permitted
|
||
|
switching operation in normal mode; the latter defines the operation in suspend to RAM mode.
|
||
|
|
||
|
No matter the RTQ2208 is configured to normal or suspend to RAM mode, there are two switching
|
||
|
operation modes for all buck rails, automatic power saving mode (Auto mode) and forced continuous
|
||
|
conduction mode (FCCM).
|
||
|
|
||
|
The definition of modes is in the datasheet which is available in below link
|
||
|
and their meaning is::
|
||
|
0 - Auto mode for power saving, which reducing the switching frequency at light load condition
|
||
|
to maintain high frequency.
|
||
|
1 - FCCM to meet the strict voltage regulation accuracy, which keeping constant switching frequency.
|
||
|
|
||
|
Datasheet will be available soon at
|
||
|
https://www.richtek.com/assets/Products
|
||
|
|
||
|
properties:
|
||
|
compatible:
|
||
|
enum:
|
||
|
- richtek,rtq2208
|
||
|
|
||
|
reg:
|
||
|
maxItems: 1
|
||
|
|
||
|
interrupts:
|
||
|
maxItems: 1
|
||
|
|
||
|
richtek,mtp-sel-high:
|
||
|
type: boolean
|
||
|
description:
|
||
|
vout register selection based on this boolean value.
|
||
|
false - Using DVS0 register setting to adjust vout
|
||
|
true - Using DVS1 register setting to adjust vout
|
||
|
|
||
|
regulators:
|
||
|
type: object
|
||
|
additionalProperties: false
|
||
|
|
||
|
patternProperties:
|
||
|
"^buck-[a-h]$":
|
||
|
type: object
|
||
|
$ref: regulator.yaml#
|
||
|
unevaluatedProperties: false
|
||
|
description:
|
||
|
description for buck-[a-h] regulator.
|
||
|
|
||
|
properties:
|
||
|
regulator-allowed-modes:
|
||
|
description:
|
||
|
two buck modes in different switching accuracy.
|
||
|
0 - Auto mode
|
||
|
1 - FCCM
|
||
|
items:
|
||
|
enum: [0, 1]
|
||
|
|
||
|
"^ldo[1-2]$":
|
||
|
type: object
|
||
|
$ref: regulator.yaml#
|
||
|
unevaluatedProperties: false
|
||
|
description:
|
||
|
regulator description for ldo[1-2].
|
||
|
|
||
|
properties:
|
||
|
richtek,fixed-microvolt:
|
||
|
description: |
|
||
|
This property can be used to set a fixed operating voltage that lies outside
|
||
|
the range of the regulator's adjustable mode.
|
||
|
|
||
|
required:
|
||
|
- compatible
|
||
|
- reg
|
||
|
- regulators
|
||
|
|
||
|
additionalProperties: false
|
||
|
|
||
|
examples:
|
||
|
- |
|
||
|
#include <dt-bindings/interrupt-controller/irq.h>
|
||
|
i2c {
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
|
||
|
pmic@10 {
|
||
|
compatible = "richtek,rtq2208";
|
||
|
reg = <0x10>;
|
||
|
interrupts-extended = <&gpio26 0 IRQ_TYPE_LEVEL_LOW>;
|
||
|
richtek,mtp-sel-high;
|
||
|
|
||
|
regulators {
|
||
|
buck-a {
|
||
|
regulator-min-microvolt = <400000>;
|
||
|
regulator-max-microvolt = <2050000>;
|
||
|
regulator-allowed-modes = <0 1>;
|
||
|
regulator-always-on;
|
||
|
regulator-state-mem {
|
||
|
regulator-on-in-suspend;
|
||
|
regulator-mode = <1>;
|
||
|
};
|
||
|
};
|
||
|
buck-b {
|
||
|
regulator-min-microvolt = <400000>;
|
||
|
regulator-max-microvolt = <2050000>;
|
||
|
regulator-allowed-modes = <0 1>;
|
||
|
regulator-always-on;
|
||
|
regulator-state-mem {
|
||
|
regulator-on-in-suspend;
|
||
|
regulator-mode = <1>;
|
||
|
};
|
||
|
};
|
||
|
buck-c {
|
||
|
regulator-min-microvolt = <400000>;
|
||
|
regulator-max-microvolt = <2050000>;
|
||
|
regulator-allowed-modes = <0 1>;
|
||
|
regulator-always-on;
|
||
|
regulator-state-mem {
|
||
|
regulator-on-in-suspend;
|
||
|
regulator-mode = <1>;
|
||
|
};
|
||
|
};
|
||
|
buck-d {
|
||
|
regulator-min-microvolt = <400000>;
|
||
|
regulator-max-microvolt = <2050000>;
|
||
|
regulator-allowed-modes = <0 1>;
|
||
|
regulator-always-on;
|
||
|
regulator-state-mem {
|
||
|
regulator-on-in-suspend;
|
||
|
regulator-mode = <1>;
|
||
|
};
|
||
|
};
|
||
|
buck-e {
|
||
|
regulator-min-microvolt = <400000>;
|
||
|
regulator-max-microvolt = <2050000>;
|
||
|
regulator-allowed-modes = <0 1>;
|
||
|
regulator-always-on;
|
||
|
regulator-state-mem {
|
||
|
regulator-on-in-suspend;
|
||
|
regulator-mode = <1>;
|
||
|
};
|
||
|
};
|
||
|
buck-f {
|
||
|
regulator-min-microvolt = <400000>;
|
||
|
regulator-max-microvolt = <2050000>;
|
||
|
regulator-allowed-modes = <0 1>;
|
||
|
regulator-always-on;
|
||
|
regulator-state-mem {
|
||
|
regulator-on-in-suspend;
|
||
|
regulator-mode = <1>;
|
||
|
};
|
||
|
};
|
||
|
buck-g {
|
||
|
regulator-min-microvolt = <400000>;
|
||
|
regulator-max-microvolt = <2050000>;
|
||
|
regulator-allowed-modes = <0 1>;
|
||
|
regulator-always-on;
|
||
|
regulator-state-mem {
|
||
|
regulator-on-in-suspend;
|
||
|
regulator-mode = <1>;
|
||
|
};
|
||
|
};
|
||
|
buck-h {
|
||
|
regulator-min-microvolt = <400000>;
|
||
|
regulator-max-microvolt = <2050000>;
|
||
|
regulator-allowed-modes = <0 1>;
|
||
|
regulator-always-on;
|
||
|
regulator-state-mem {
|
||
|
regulator-on-in-suspend;
|
||
|
regulator-mode = <1>;
|
||
|
};
|
||
|
};
|
||
|
ldo1 {
|
||
|
/* Fixed LDO VOUT */
|
||
|
richtek,fixed-microvolt = <1200000>;
|
||
|
regulator-min-microvolt = <1200000>;
|
||
|
regulator-max-microvolt = <1200000>;
|
||
|
regulator-always-on;
|
||
|
regulator-state-mem {
|
||
|
regulator-on-in-suspend;
|
||
|
};
|
||
|
};
|
||
|
ldo2 {
|
||
|
/* Adjustable LDO VOUT */
|
||
|
regulator-min-microvolt = <1800000>;
|
||
|
regulator-max-microvolt = <3300000>;
|
||
|
regulator-always-on;
|
||
|
regulator-state-mem {
|
||
|
regulator-on-in-suspend;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|