200 lines
5.9 KiB
YAML
200 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/pfuze100.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: PFUZE100 family of regulators
|
|
|
|
maintainers:
|
|
- Robin Gong <yibin.gong@nxp.com>
|
|
|
|
description: |
|
|
The valid names for regulators are:
|
|
--PFUZE100
|
|
sw1ab,sw1c,sw2,sw3a,sw3b,sw4,swbst,vsnvs,vrefddr,vgen1~vgen6
|
|
--PFUZE200
|
|
sw1ab,sw2,sw3a,sw3b,swbst,vsnvs,vrefddr,vgen1~vgen6,coin
|
|
--PFUZE3000
|
|
sw1a,sw1b,sw2,sw3,swbst,vsnvs,vrefddr,vldo1,vldo2,vccsd,v33,vldo3,vldo4
|
|
--PFUZE3001
|
|
sw1,sw2,sw3,vsnvs,vldo1,vldo2,vccsd,v33,vldo3,vldo4
|
|
|
|
Each regulator is defined using the standard binding for regulators.
|
|
|
|
properties:
|
|
$nodename:
|
|
pattern: "^pmic@[0-9]$"
|
|
|
|
compatible:
|
|
enum:
|
|
- fsl,pfuze100
|
|
- fsl,pfuze200
|
|
- fsl,pfuze3000
|
|
- fsl,pfuze3001
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
interrupts:
|
|
maxItems: 1
|
|
|
|
fsl,pfuze-support-disable-sw:
|
|
$ref: /schemas/types.yaml#/definitions/flag
|
|
description: |
|
|
Boolean, if present disable all unused switch regulators to save power
|
|
consumption. Attention, ensure that all important regulators
|
|
(e.g. DDR ref, DDR supply) has set the "regulator-always-on" property.
|
|
If not present, the switched regulators are always on and can't be
|
|
disabled. This binding is a workaround to keep backward compatibility
|
|
with old dtb's which rely on the fact that the switched regulators are
|
|
always on and don't mark them explicit as "regulator-always-on".
|
|
|
|
fsl,pmic-stby-poweroff:
|
|
$ref: /schemas/types.yaml#/definitions/flag
|
|
description: |
|
|
if present, configure the PMIC to shutdown all
|
|
power rails when PMIC_STBY_REQ line is asserted during the power off sequence.
|
|
Use this option if the SoC should be powered off by external power management
|
|
IC (PMIC) on PMIC_STBY_REQ signal.
|
|
As opposite to PMIC_STBY_REQ boards can implement PMIC_ON_REQ signal.
|
|
|
|
regulators:
|
|
type: object
|
|
description: |
|
|
list of regulators provided by this controller.
|
|
|
|
patternProperties:
|
|
"^sw([1-4]|[1-4][a-c]|[1-4][a-c][a-c])$":
|
|
$ref: regulator.yaml#
|
|
type: object
|
|
unevaluatedProperties: false
|
|
|
|
"^vgen[1-6]$":
|
|
$ref: regulator.yaml#
|
|
type: object
|
|
unevaluatedProperties: false
|
|
|
|
"^vldo[1-4]$":
|
|
$ref: regulator.yaml#
|
|
type: object
|
|
unevaluatedProperties: false
|
|
|
|
"^(vsnvs|vref|vrefddr|swbst|coin|v33|vccsd)$":
|
|
$ref: regulator.yaml#
|
|
type: object
|
|
unevaluatedProperties: false
|
|
|
|
additionalProperties: false
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
|
|
additionalProperties: false
|
|
|
|
examples:
|
|
- |
|
|
i2c {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
pmic@8 {
|
|
compatible = "fsl,pfuze100";
|
|
reg = <0x08>;
|
|
|
|
regulators {
|
|
sw1a_reg: sw1ab {
|
|
regulator-min-microvolt = <300000>;
|
|
regulator-max-microvolt = <1875000>;
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
regulator-ramp-delay = <6250>;
|
|
};
|
|
|
|
sw1c_reg: sw1c {
|
|
regulator-min-microvolt = <300000>;
|
|
regulator-max-microvolt = <1875000>;
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
|
|
sw2_reg: sw2 {
|
|
regulator-min-microvolt = <800000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
|
|
sw3a_reg: sw3a {
|
|
regulator-min-microvolt = <400000>;
|
|
regulator-max-microvolt = <1975000>;
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
|
|
sw3b_reg: sw3b {
|
|
regulator-min-microvolt = <400000>;
|
|
regulator-max-microvolt = <1975000>;
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
|
|
sw4_reg: sw4 {
|
|
regulator-min-microvolt = <800000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
};
|
|
|
|
swbst_reg: swbst {
|
|
regulator-min-microvolt = <5000000>;
|
|
regulator-max-microvolt = <5150000>;
|
|
};
|
|
|
|
snvs_reg: vsnvs {
|
|
regulator-min-microvolt = <1000000>;
|
|
regulator-max-microvolt = <3000000>;
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
|
|
vref_reg: vrefddr {
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
|
|
vgen1_reg: vgen1 {
|
|
regulator-min-microvolt = <800000>;
|
|
regulator-max-microvolt = <1550000>;
|
|
};
|
|
|
|
vgen2_reg: vgen2 {
|
|
regulator-min-microvolt = <800000>;
|
|
regulator-max-microvolt = <1550000>;
|
|
};
|
|
|
|
vgen3_reg: vgen3 {
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
};
|
|
|
|
vgen4_reg: vgen4 {
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-always-on;
|
|
};
|
|
|
|
vgen5_reg: vgen5 {
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-always-on;
|
|
};
|
|
|
|
vgen6_reg: vgen6 {
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-always-on;
|
|
};
|
|
};
|
|
};
|
|
};
|