| # 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]. |
| |
| 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 { |
| regulator-min-microvolt = <1200000>; |
| regulator-max-microvolt = <1200000>; |
| regulator-always-on; |
| regulator-state-mem { |
| regulator-on-in-suspend; |
| }; |
| }; |
| ldo2 { |
| regulator-min-microvolt = <3300000>; |
| regulator-max-microvolt = <3300000>; |
| regulator-always-on; |
| regulator-state-mem { |
| regulator-on-in-suspend; |
| }; |
| }; |
| }; |
| }; |
| }; |