201 lines
5.9 KiB
YAML
201 lines
5.9 KiB
YAML
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/regulator/microchip,mcp16502.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: MCP16502 - High-Performance PMIC
|
|
|
|
maintainers:
|
|
- Andrei Simion <andrei.simion@microchip.com>
|
|
|
|
description:
|
|
The MCP16502 is an optimally integrated PMIC compatible
|
|
with Microchip's eMPUs(Embedded Microprocessor Units),
|
|
requiring Dynamic Voltage Scaling (DVS) with the use
|
|
of High-Performance mode (HPM).
|
|
|
|
properties:
|
|
compatible:
|
|
const: microchip,mcp16502
|
|
|
|
lpm-gpios:
|
|
maxItems: 1
|
|
description: GPIO for LPM pin.
|
|
Note that this GPIO must remain high during
|
|
suspend-to-ram, keeping the PMIC into HIBERNATE mode.
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
lvin-supply:
|
|
description: Input supply phandle for LDO1 and LDO2
|
|
|
|
pvin1-supply:
|
|
description: Input supply phandle for VDD_IO (BUCK1)
|
|
|
|
pvin2-supply:
|
|
description: Input supply phandle for VDD_DDR (BUCK2)
|
|
|
|
pvin3-supply:
|
|
description: Input supply phandle for VDD_CORE (BUCK3)
|
|
|
|
pvin4-supply:
|
|
description: Input supply phandle for VDD_OTHER (BUCK4)
|
|
|
|
regulators:
|
|
type: object
|
|
additionalProperties: false
|
|
description: List of regulators and its properties.
|
|
|
|
patternProperties:
|
|
"^(VDD_(IO|CORE|DDR|OTHER)|LDO[1-2])$":
|
|
type: object
|
|
$ref: regulator.yaml#
|
|
unevaluatedProperties: false
|
|
|
|
properties:
|
|
regulator-initial-mode:
|
|
enum: [2, 4]
|
|
default: 2
|
|
description: Initial operating mode
|
|
|
|
regulator-allowed-modes:
|
|
items:
|
|
enum: [2, 4]
|
|
description: Supported modes
|
|
2 - FPWM higher precision, higher consumption
|
|
4 - AutoPFM lower precision, lower consumption
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
- regulators
|
|
|
|
additionalProperties: false
|
|
|
|
examples:
|
|
- |
|
|
i2c {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
pmic@5b {
|
|
compatible = "microchip,mcp16502";
|
|
reg = <0x5b>;
|
|
lvin-supply = <®_5v>;
|
|
pvin1-supply = <®_5v>;
|
|
pvin2-supply = <®_5v>;
|
|
pvin3-supply = <®_5v>;
|
|
pvin4-supply = <®_5v>;
|
|
|
|
regulators {
|
|
VDD_IO {
|
|
regulator-name = "VDD_IO";
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-initial-mode = <2>;
|
|
regulator-allowed-modes = <2>, <4>;
|
|
regulator-always-on;
|
|
|
|
regulator-state-standby {
|
|
regulator-on-in-suspend;
|
|
regulator-mode = <4>;
|
|
};
|
|
|
|
regulator-state-mem {
|
|
regulator-off-in-suspend;
|
|
regulator-mode = <4>;
|
|
};
|
|
};
|
|
|
|
VDD_DDR {
|
|
regulator-name = "VDD_DDR";
|
|
regulator-min-microvolt = <1350000>;
|
|
regulator-max-microvolt = <1350000>;
|
|
regulator-initial-mode = <2>;
|
|
regulator-allowed-modes = <2>, <4>;
|
|
regulator-always-on;
|
|
|
|
regulator-state-standby {
|
|
regulator-on-in-suspend;
|
|
regulator-mode = <4>;
|
|
};
|
|
|
|
regulator-state-mem {
|
|
regulator-on-in-suspend;
|
|
regulator-mode = <4>;
|
|
};
|
|
};
|
|
|
|
VDD_CORE {
|
|
regulator-name = "VDD_CORE";
|
|
regulator-min-microvolt = <1150000>;
|
|
regulator-max-microvolt = <1150000>;
|
|
regulator-initial-mode = <2>;
|
|
regulator-allowed-modes = <2>, <4>;
|
|
regulator-always-on;
|
|
|
|
regulator-state-standby {
|
|
regulator-on-in-suspend;
|
|
regulator-mode = <4>;
|
|
};
|
|
|
|
regulator-state-mem {
|
|
regulator-off-in-suspend;
|
|
regulator-mode = <4>;
|
|
};
|
|
};
|
|
|
|
VDD_OTHER {
|
|
regulator-name = "VDD_OTHER";
|
|
regulator-min-microvolt = <1050000>;
|
|
regulator-max-microvolt = <1250000>;
|
|
regulator-initial-mode = <2>;
|
|
regulator-allowed-modes = <2>, <4>;
|
|
regulator-always-on;
|
|
|
|
regulator-state-standby {
|
|
regulator-on-in-suspend;
|
|
regulator-mode = <4>;
|
|
};
|
|
|
|
regulator-state-mem {
|
|
regulator-off-in-suspend;
|
|
regulator-mode = <4>;
|
|
};
|
|
};
|
|
|
|
LDO1 {
|
|
regulator-name = "LDO1";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-always-on;
|
|
|
|
regulator-state-standby {
|
|
regulator-on-in-suspend;
|
|
};
|
|
|
|
regulator-state-mem {
|
|
regulator-off-in-suspend;
|
|
};
|
|
};
|
|
|
|
LDO2 {
|
|
regulator-name = "LDO2";
|
|
regulator-min-microvolt = <1200000>;
|
|
regulator-max-microvolt = <3700000>;
|
|
regulator-always-on;
|
|
|
|
regulator-state-standby {
|
|
regulator-on-in-suspend;
|
|
};
|
|
|
|
regulator-state-mem {
|
|
regulator-off-in-suspend;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|