dt-bindings: Add devicetree bindings
Add snapshot of device tree bindings from keystone common kernel, branch "android-mainline-keystone-qcom-release" at c4c12103f9c0 ("Snap for 9228065 from e32903b9a63bb558df8b803b076619c53c16baad to android-mainline-keystone-qcom-release"). Change-Id: I7682079615cbd9f29340a5c1f2a1d84ec441a1f1 Signed-off-by: Melody Olvera <quic_molvera@quicinc.com>
This commit is contained in:
22
bindings/regulator/88pg86x.txt
Normal file
22
bindings/regulator/88pg86x.txt
Normal file
@@ -0,0 +1,22 @@
|
||||
Marvell 88PG867/88PG868 voltage regulators
|
||||
|
||||
Required properties:
|
||||
- compatible: one of "marvell,88pg867", "marvell,88pg868";
|
||||
- reg: I2C slave address.
|
||||
|
||||
Optional subnodes for regulators: "buck1", "buck2", using common regulator
|
||||
bindings given in <Documentation/devicetree/bindings/regulator/regulator.txt>.
|
||||
|
||||
Example:
|
||||
|
||||
pg868@19 {
|
||||
compatible = "marvell,88pg868";
|
||||
reg = <0x19>;
|
||||
|
||||
vcpu: buck1 {
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <1000000>;
|
||||
regulator-max-microvolt = <1350000>;
|
||||
};
|
||||
};
|
38
bindings/regulator/88pm800.txt
Normal file
38
bindings/regulator/88pm800.txt
Normal file
@@ -0,0 +1,38 @@
|
||||
Marvell 88PM800 regulator
|
||||
|
||||
Required properties:
|
||||
- compatible: "marvell,88pm800"
|
||||
- reg: I2C slave address
|
||||
- regulators: A node that houses a sub-node for each regulator within the
|
||||
device. Each sub-node is identified using the node's name (or the deprecated
|
||||
regulator-compatible property if present), with valid values listed below.
|
||||
The content of each sub-node is defined by the standard binding for
|
||||
regulators; see regulator.txt.
|
||||
|
||||
The valid names for regulators are:
|
||||
|
||||
buck1, buck2, buck3, buck4, buck5, ldo1, ldo2, ldo3, ldo4, ldo5, ldo6, ldo7,
|
||||
ldo8, ldo9, ldo10, ldo11, ldo12, ldo13, ldo14, ldo15, ldo16, ldo17, ldo18, ldo19
|
||||
|
||||
Example:
|
||||
|
||||
pmic: 88pm800@31 {
|
||||
compatible = "marvell,88pm800";
|
||||
reg = <0x31>;
|
||||
|
||||
regulators {
|
||||
buck1 {
|
||||
regulator-min-microvolt = <600000>;
|
||||
regulator-max-microvolt = <3950000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
ldo1 {
|
||||
regulator-min-microvolt = <600000>;
|
||||
regulator-max-microvolt = <15000000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
...
|
||||
};
|
||||
};
|
30
bindings/regulator/88pm860x.txt
Normal file
30
bindings/regulator/88pm860x.txt
Normal file
@@ -0,0 +1,30 @@
|
||||
Marvell 88PM860x regulator
|
||||
|
||||
Required properties:
|
||||
- compatible: "marvell,88pm860x"
|
||||
- reg: I2C slave address
|
||||
- regulators: A node that houses a sub-node for each regulator within the
|
||||
device. Each sub-node is identified using the regulator-compatible
|
||||
property, with valid values listed below.
|
||||
|
||||
Example:
|
||||
|
||||
pmic: 88pm860x@34 {
|
||||
compatible = "marvell,88pm860x";
|
||||
reg = <0x34>;
|
||||
|
||||
regulators {
|
||||
BUCK1 {
|
||||
regulator-min-microvolt = <1000000>;
|
||||
regulator-max-microvolt = <1500000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
BUCK3 {
|
||||
regulator-min-microvolt = <1000000>;
|
||||
regulator-max-microvolt = <3000000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
};
|
||||
};
|
117
bindings/regulator/act8865-regulator.txt
Normal file
117
bindings/regulator/act8865-regulator.txt
Normal file
@@ -0,0 +1,117 @@
|
||||
ACT88xx regulators
|
||||
-------------------
|
||||
|
||||
Required properties:
|
||||
- compatible: "active-semi,act8846" or "active-semi,act8865" or "active-semi,act8600"
|
||||
- reg: I2C slave address
|
||||
|
||||
Optional properties:
|
||||
- system-power-controller: Telling whether or not this pmic is controlling
|
||||
the system power. See Documentation/devicetree/bindings/power/power-controller.txt .
|
||||
- active-semi,vsel-high: Indicates the VSEL pin is high.
|
||||
If this property is missing, assume the VSEL pin is low(0).
|
||||
|
||||
Optional input supply properties:
|
||||
- for act8600:
|
||||
- vp1-supply: The input supply for DCDC_REG1
|
||||
- vp2-supply: The input supply for DCDC_REG2
|
||||
- vp3-supply: The input supply for DCDC_REG3
|
||||
- inl-supply: The input supply for LDO_REG5, LDO_REG6, LDO_REG7 and LDO_REG8
|
||||
SUDCDC_REG4, LDO_REG9 and LDO_REG10 do not have separate supplies.
|
||||
- for act8846:
|
||||
- vp1-supply: The input supply for REG1
|
||||
- vp2-supply: The input supply for REG2
|
||||
- vp3-supply: The input supply for REG3
|
||||
- vp4-supply: The input supply for REG4
|
||||
- inl1-supply: The input supply for REG5, REG6 and REG7
|
||||
- inl2-supply: The input supply for REG8 and LDO_REG9
|
||||
- inl3-supply: The input supply for REG10, REG11 and REG12
|
||||
- for act8865:
|
||||
- vp1-supply: The input supply for DCDC_REG1
|
||||
- vp2-supply: The input supply for DCDC_REG2
|
||||
- vp3-supply: The input supply for DCDC_REG3
|
||||
- inl45-supply: The input supply for LDO_REG1 and LDO_REG2
|
||||
- inl67-supply: The input supply for LDO_REG3 and LDO_REG4
|
||||
|
||||
Any standard regulator properties can be used to configure the single regulator.
|
||||
regulator-initial-mode, regulator-allowed-modes and regulator-mode could be specified
|
||||
for act8865 using mode values from dt-bindings/regulator/active-semi,8865-regulator.h
|
||||
file.
|
||||
|
||||
The valid names for regulators are:
|
||||
- for act8846:
|
||||
REG1, REG2, REG3, REG4, REG5, REG6, REG7, REG8, REG9, REG10, REG11, REG12
|
||||
- for act8865:
|
||||
DCDC_REG1, DCDC_REG2, DCDC_REG3, LDO_REG1, LDO_REG2, LDO_REG3, LDO_REG4.
|
||||
- for act8600:
|
||||
DCDC_REG1, DCDC_REG2, DCDC_REG3, SUDCDC_REG4, LDO_REG5, LDO_REG6, LDO_REG7,
|
||||
LDO_REG8, LDO_REG9, LDO_REG10,
|
||||
|
||||
Example:
|
||||
--------
|
||||
|
||||
#include <dt-bindings/regulator/active-semi,8865-regulator.h>
|
||||
|
||||
i2c1: i2c@f0018000 {
|
||||
pmic: act8865@5b {
|
||||
compatible = "active-semi,act8865";
|
||||
reg = <0x5b>;
|
||||
active-semi,vsel-high;
|
||||
|
||||
regulators {
|
||||
vcc_1v8_reg: DCDC_REG1 {
|
||||
regulator-name = "VCC_1V8";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
vcc_1v2_reg: DCDC_REG2 {
|
||||
regulator-name = "VCC_1V2";
|
||||
regulator-min-microvolt = <1100000>;
|
||||
regulator-max-microvolt = <1300000>;
|
||||
regulator-always-on;
|
||||
|
||||
regulator-allowed-modes = <ACT8865_REGULATOR_MODE_FIXED>,
|
||||
<ACT8865_REGULATOR_MODE_LOWPOWER>;
|
||||
regulator-initial-mode = <ACT8865_REGULATOR_MODE_FIXED>;
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-on-in-suspend;
|
||||
regulator-suspend-min-microvolt = <1150000>;
|
||||
regulator-suspend-max-microvolt = <1150000>;
|
||||
regulator-changeable-in-suspend;
|
||||
regulator-mode = <ACT8865_REGULATOR_MODE_LOWPOWER>;
|
||||
};
|
||||
};
|
||||
|
||||
vcc_3v3_reg: DCDC_REG3 {
|
||||
regulator-name = "VCC_3V3";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
vddana_reg: LDO_REG1 {
|
||||
regulator-name = "VDDANA";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-always-on;
|
||||
|
||||
regulator-allowed-modes = <ACT8865_REGULATOR_MODE_NORMAL>,
|
||||
<ACT8865_REGULATOR_MODE_LOWPOWER>;
|
||||
regulator-initial-mode = <ACT8865_REGULATOR_MODE_NORMAL>;
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-off-in-suspend;
|
||||
};
|
||||
};
|
||||
|
||||
vddfuse_reg: LDO_REG2 {
|
||||
regulator-name = "FUSE_2V5";
|
||||
regulator-min-microvolt = <2500000>;
|
||||
regulator-max-microvolt = <2500000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
113
bindings/regulator/act8945a-regulator.txt
Normal file
113
bindings/regulator/act8945a-regulator.txt
Normal file
@@ -0,0 +1,113 @@
|
||||
Device-Tree bindings for regulators of Active-semi ACT8945A Multi-Function Device
|
||||
|
||||
Required properties:
|
||||
- compatible: "active-semi,act8945a", please refer to ../mfd/act8945a.txt.
|
||||
|
||||
Optional properties:
|
||||
- active-semi,vsel-high: Indicates if the VSEL pin is set to logic-high.
|
||||
If this property is missing, assume the VSEL pin is set to logic-low.
|
||||
|
||||
Optional input supply properties:
|
||||
- vp1-supply: The input supply for REG_DCDC1
|
||||
- vp2-supply: The input supply for REG_DCDC2
|
||||
- vp3-supply: The input supply for REG_DCDC3
|
||||
- inl45-supply: The input supply for REG_LDO1 and REG_LDO2
|
||||
- inl67-supply: The input supply for REG_LDO3 and REG_LDO4
|
||||
|
||||
Any standard regulator properties can be used to configure the single regulator.
|
||||
regulator-initial-mode, regulator-allowed-modes and regulator-mode could be
|
||||
specified using mode values from dt-bindings/regulator/active-semi,8945a-regulator.h
|
||||
file.
|
||||
|
||||
The valid names for regulators are:
|
||||
REG_DCDC1, REG_DCDC2, REG_DCDC3, REG_LDO1, REG_LDO2, REG_LDO3, REG_LDO4.
|
||||
|
||||
Example:
|
||||
|
||||
#include <dt-bindings/regulator/active-semi,8945a-regulator.h>
|
||||
|
||||
pmic@5b {
|
||||
compatible = "active-semi,act8945a";
|
||||
reg = <0x5b>;
|
||||
|
||||
active-semi,vsel-high;
|
||||
|
||||
regulators {
|
||||
vdd_1v35_reg: REG_DCDC1 {
|
||||
regulator-name = "VDD_1V35";
|
||||
regulator-min-microvolt = <1350000>;
|
||||
regulator-max-microvolt = <1350000>;
|
||||
regulator-always-on;
|
||||
|
||||
regulator-allowed-modes = <ACT8945A_REGULATOR_MODE_FIXED>,
|
||||
<ACT8945A_REGULATOR_MODE_LOWPOWER>;
|
||||
regulator-initial-mode = <ACT8945A_REGULATOR_MODE_FIXED>;
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-on-in-suspend;
|
||||
regulator-suspend-min-microvolt=<1400000>;
|
||||
regulator-suspend-max-microvolt=<1400000>;
|
||||
regulator-changeable-in-suspend;
|
||||
regulator-mode=<ACT8945A_REGULATOR_MODE_LOWPOWER>;
|
||||
};
|
||||
};
|
||||
|
||||
vdd_1v2_reg: REG_DCDC2 {
|
||||
regulator-name = "VDD_1V2";
|
||||
regulator-min-microvolt = <1100000>;
|
||||
regulator-max-microvolt = <1300000>;
|
||||
regulator-always-on;
|
||||
|
||||
regulator-allowed-modes = <ACT8945A_REGULATOR_MODE_FIXED>,
|
||||
<ACT8945A_REGULATOR_MODE_LOWPOWER>;
|
||||
regulator-initial-mode = <ACT8945A_REGULATOR_MODE_FIXED>;
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-off-in-suspend;
|
||||
};
|
||||
};
|
||||
|
||||
vdd_3v3_reg: REG_DCDC3 {
|
||||
regulator-name = "VDD_3V3";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
vdd_fuse_reg: REG_LDO1 {
|
||||
regulator-name = "VDD_FUSE";
|
||||
regulator-min-microvolt = <2500000>;
|
||||
regulator-max-microvolt = <2500000>;
|
||||
regulator-always-on;
|
||||
|
||||
regulator-allowed-modes = <ACT8945A_REGULATOR_MODE_NORMAL>,
|
||||
<ACT8945A_REGULATOR_MODE_LOWPOWER>;
|
||||
regulator-initial-mode = <ACT8945A_REGULATOR_MODE_NORMAL>;
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-off-in-suspend;
|
||||
};
|
||||
};
|
||||
|
||||
vdd_3v3_lp_reg: REG_LDO2 {
|
||||
regulator-name = "VDD_3V3_LP";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
vdd_led_reg: REG_LDO3 {
|
||||
regulator-name = "VDD_LED";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
vdd_sdhc_1v8_reg: REG_LDO4 {
|
||||
regulator-name = "VDD_SDHC_1V8";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
};
|
||||
};
|
93
bindings/regulator/anatop-regulator.yaml
Normal file
93
bindings/regulator/anatop-regulator.yaml
Normal file
@@ -0,0 +1,93 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/regulator/anatop-regulator.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Freescale Anatop Voltage Regulators
|
||||
|
||||
maintainers:
|
||||
- Ying-Chun Liu (PaulLiu) <paul.liu@linaro.org>
|
||||
|
||||
allOf:
|
||||
- $ref: "regulator.yaml#"
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: fsl,anatop-regulator
|
||||
|
||||
regulator-name: true
|
||||
|
||||
anatop-reg-offset:
|
||||
$ref: '/schemas/types.yaml#/definitions/uint32'
|
||||
description: u32 value representing the anatop MFD register offset.
|
||||
|
||||
anatop-vol-bit-shift:
|
||||
$ref: '/schemas/types.yaml#/definitions/uint32'
|
||||
description: u32 value representing the bit shift for the register.
|
||||
|
||||
anatop-vol-bit-width:
|
||||
$ref: '/schemas/types.yaml#/definitions/uint32'
|
||||
description: u32 value representing the number of bits used in the register.
|
||||
|
||||
anatop-min-bit-val:
|
||||
$ref: '/schemas/types.yaml#/definitions/uint32'
|
||||
description: u32 value representing the minimum value of this register.
|
||||
|
||||
anatop-min-voltage:
|
||||
$ref: '/schemas/types.yaml#/definitions/uint32'
|
||||
description: u32 value representing the minimum voltage of this regulator.
|
||||
|
||||
anatop-max-voltage:
|
||||
$ref: '/schemas/types.yaml#/definitions/uint32'
|
||||
description: u32 value representing the maximum voltage of this regulator.
|
||||
|
||||
anatop-delay-reg-offset:
|
||||
$ref: '/schemas/types.yaml#/definitions/uint32'
|
||||
description: u32 value representing the anatop MFD step time register offset.
|
||||
|
||||
anatop-delay-bit-shift:
|
||||
$ref: '/schemas/types.yaml#/definitions/uint32'
|
||||
description: u32 value representing the bit shift for the step time register.
|
||||
|
||||
anatop-delay-bit-width:
|
||||
$ref: '/schemas/types.yaml#/definitions/uint32'
|
||||
description: u32 value representing the number of bits used in the step time register.
|
||||
|
||||
anatop-enable-bit:
|
||||
$ref: '/schemas/types.yaml#/definitions/uint32'
|
||||
description: u32 value representing regulator enable bit offset.
|
||||
|
||||
vin-supply:
|
||||
description: input supply phandle.
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- regulator-name
|
||||
- anatop-reg-offset
|
||||
- anatop-vol-bit-shift
|
||||
- anatop-vol-bit-width
|
||||
- anatop-min-bit-val
|
||||
- anatop-min-voltage
|
||||
- anatop-max-voltage
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
regulator-vddpu {
|
||||
compatible = "fsl,anatop-regulator";
|
||||
regulator-name = "vddpu";
|
||||
regulator-min-microvolt = <725000>;
|
||||
regulator-max-microvolt = <1300000>;
|
||||
regulator-always-on;
|
||||
anatop-reg-offset = <0x140>;
|
||||
anatop-vol-bit-shift = <9>;
|
||||
anatop-vol-bit-width = <5>;
|
||||
anatop-delay-reg-offset = <0x170>;
|
||||
anatop-delay-bit-shift = <24>;
|
||||
anatop-delay-bit-width = <2>;
|
||||
anatop-min-bit-val = <1>;
|
||||
anatop-min-voltage = <725000>;
|
||||
anatop-max-voltage = <1300000>;
|
||||
};
|
91
bindings/regulator/as3722-regulator.txt
Normal file
91
bindings/regulator/as3722-regulator.txt
Normal file
@@ -0,0 +1,91 @@
|
||||
Regulator of AMS AS3722 PMIC.
|
||||
Name of the regulator subnode must be "regulators".
|
||||
|
||||
Optional properties:
|
||||
--------------------
|
||||
The input supply of regulators are the optional properties on the
|
||||
regulator node. The AS3722 is having 7 DCDC step-down regulators as
|
||||
sd[0-6], 10 LDOs as ldo[0-7], ldo[9-11]. The input supply of these
|
||||
regulators are provided through following properties:
|
||||
vsup-sd2-supply: Input supply for SD2.
|
||||
vsup-sd3-supply: Input supply for SD3.
|
||||
vsup-sd4-supply: Input supply for SD4.
|
||||
vsup-sd5-supply: Input supply for SD5.
|
||||
vin-ldo0-supply: Input supply for LDO0.
|
||||
vin-ldo1-6-supply: Input supply for LDO1 and LDO6.
|
||||
vin-ldo2-5-7-supply: Input supply for LDO2, LDO5 and LDO7.
|
||||
vin-ldo3-4-supply: Input supply for LDO3 and LDO4.
|
||||
vin-ldo9-10-supply: Input supply for LDO9 and LDO10.
|
||||
vin-ldo11-supply: Input supply for LDO11.
|
||||
|
||||
Optional nodes:
|
||||
--------------
|
||||
- regulators : Must contain a sub-node per regulator from the list below.
|
||||
Each sub-node should contain the constraints and initialization
|
||||
information for that regulator. See regulator.txt for a
|
||||
description of standard properties for these sub-nodes.
|
||||
Additional custom properties are listed below.
|
||||
sd[0-6], ldo[0-7], ldo[9-11].
|
||||
|
||||
Optional sub-node properties:
|
||||
----------------------------
|
||||
ams,ext-control: External control of the rail. The option of
|
||||
this properties will tell which external input is
|
||||
controlling this rail. Valid values are 0, 1, 2 ad 3.
|
||||
0: There is no external control of this rail.
|
||||
1: Rail is controlled by ENABLE1 input pin.
|
||||
2: Rail is controlled by ENABLE2 input pin.
|
||||
3: Rail is controlled by ENABLE3 input pin.
|
||||
ams,enable-tracking: Enable tracking with SD1, only supported
|
||||
by LDO3.
|
||||
|
||||
Example:
|
||||
-------
|
||||
ams3722: ams3722 {
|
||||
compatible = "ams,as3722";
|
||||
reg = <0x40>;
|
||||
...
|
||||
|
||||
regulators {
|
||||
vsup-sd2-supply = <...>;
|
||||
...
|
||||
|
||||
sd0 {
|
||||
regulator-name = "vdd_cpu";
|
||||
regulator-min-microvolt = <700000>;
|
||||
regulator-max-microvolt = <1400000>;
|
||||
regulator-always-on;
|
||||
ams,ext-control = <2>;
|
||||
};
|
||||
|
||||
sd1 {
|
||||
regulator-name = "vdd_core";
|
||||
regulator-min-microvolt = <700000>;
|
||||
regulator-max-microvolt = <1400000>;
|
||||
regulator-always-on;
|
||||
ams,ext-control = <1>;
|
||||
};
|
||||
|
||||
sd2 {
|
||||
regulator-name = "vddio_ddr";
|
||||
regulator-min-microvolt = <1350000>;
|
||||
regulator-max-microvolt = <1350000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
sd4 {
|
||||
regulator-name = "avdd-hdmi-pex";
|
||||
regulator-min-microvolt = <1050000>;
|
||||
regulator-max-microvolt = <1050000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
sd5 {
|
||||
regulator-name = "vdd-1v8";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
....
|
||||
};
|
||||
};
|
35
bindings/regulator/cpcap-regulator.txt
Normal file
35
bindings/regulator/cpcap-regulator.txt
Normal file
@@ -0,0 +1,35 @@
|
||||
Motorola CPCAP PMIC voltage regulators
|
||||
------------------------------------
|
||||
|
||||
Requires node properties:
|
||||
- "compatible" value one of:
|
||||
"motorola,cpcap-regulator"
|
||||
"motorola,mapphone-cpcap-regulator"
|
||||
"motorola,xoom-cpcap-regulator"
|
||||
|
||||
Required regulator properties:
|
||||
- "regulator-name"
|
||||
- "regulator-enable-ramp-delay"
|
||||
- "regulator-min-microvolt"
|
||||
- "regulator-max-microvolt"
|
||||
|
||||
Optional regulator properties:
|
||||
- "regulator-boot-on"
|
||||
|
||||
See Documentation/devicetree/bindings/regulator/regulator.txt
|
||||
for more details about the regulator properties.
|
||||
|
||||
Example:
|
||||
|
||||
cpcap_regulator: regulator {
|
||||
compatible = "motorola,cpcap-regulator";
|
||||
|
||||
cpcap_regulators: regulators {
|
||||
sw5: SW5 {
|
||||
regulator-min-microvolt = <5050000>;
|
||||
regulator-max-microvolt = <5050000>;
|
||||
regulator-enable-ramp-delay = <50000>;
|
||||
regulator-boot-on;
|
||||
};
|
||||
};
|
||||
};
|
29
bindings/regulator/da9210.txt
Normal file
29
bindings/regulator/da9210.txt
Normal file
@@ -0,0 +1,29 @@
|
||||
* Dialog Semiconductor DA9210 Multi-phase 12A DCDC BUCK Converter
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible: must be "dlg,da9210"
|
||||
- reg: the i2c slave address of the regulator. It should be 0x68.
|
||||
|
||||
Optional properties:
|
||||
|
||||
- interrupts: a reference to the DA9210 interrupt, if available.
|
||||
|
||||
Any standard regulator properties can be used to configure the single da9210
|
||||
DCDC.
|
||||
|
||||
Example:
|
||||
|
||||
da9210@68 {
|
||||
compatible = "dlg,da9210";
|
||||
reg = <0x68>;
|
||||
|
||||
interrupt-parent = <...>;
|
||||
interrupts = <...>;
|
||||
|
||||
regulator-min-microvolt = <300000>;
|
||||
regulator-max-microvolt = <1570000>;
|
||||
regulator-min-microamp = <1600000>;
|
||||
regulator-max-microamp = <4600000>;
|
||||
regulator-boot-on;
|
||||
};
|
205
bindings/regulator/da9211.txt
Normal file
205
bindings/regulator/da9211.txt
Normal file
@@ -0,0 +1,205 @@
|
||||
* Dialog Semiconductor DA9211/DA9212/DA9213/DA9223/DA9214/DA9224/DA9215/DA9225
|
||||
Voltage Regulator
|
||||
|
||||
Required properties:
|
||||
- compatible: "dlg,da9211" or "dlg,da9212" or "dlg,da9213" or "dlg,da9223"
|
||||
or "dlg,da9214" or "dlg,da9224" or "dlg,da9215" or "dlg,da9225"
|
||||
- reg: I2C slave address, usually 0x68.
|
||||
- interrupts: the interrupt outputs of the controller
|
||||
- regulators: A node that houses a sub-node for each regulator within the
|
||||
device. Each sub-node is identified using the node's name, with valid
|
||||
values listed below. The content of each sub-node is defined by the
|
||||
standard binding for regulators; see regulator.txt.
|
||||
BUCKA and BUCKB.
|
||||
|
||||
Optional properties:
|
||||
- enable-gpios: platform gpio for control of BUCKA/BUCKB.
|
||||
- Any optional property defined in regulator.txt
|
||||
- regulator-initial-mode and regulator-allowed-modes may be specified using
|
||||
mode values from dt-bindings/regulator/dlg,da9211-regulator.h
|
||||
|
||||
Example 1) DA9211
|
||||
pmic: da9211@68 {
|
||||
compatible = "dlg,da9211";
|
||||
reg = <0x68>;
|
||||
interrupts = <3 27>;
|
||||
|
||||
regulators {
|
||||
BUCKA {
|
||||
regulator-name = "VBUCKA";
|
||||
regulator-min-microvolt = < 300000>;
|
||||
regulator-max-microvolt = <1570000>;
|
||||
regulator-min-microamp = <2000000>;
|
||||
regulator-max-microamp = <5000000>;
|
||||
enable-gpios = <&gpio 27 0>;
|
||||
regulator-allowed-modes = <DA9211_BUCK_MODE_SYNC
|
||||
DA9211_BUCK_MODE_AUTO>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
Example 2) DA9212
|
||||
pmic: da9212@68 {
|
||||
compatible = "dlg,da9212";
|
||||
reg = <0x68>;
|
||||
interrupts = <3 27>;
|
||||
|
||||
regulators {
|
||||
BUCKA {
|
||||
regulator-name = "VBUCKA";
|
||||
regulator-min-microvolt = < 300000>;
|
||||
regulator-max-microvolt = <1570000>;
|
||||
regulator-min-microamp = <2000000>;
|
||||
regulator-max-microamp = <5000000>;
|
||||
enable-gpios = <&gpio 27 0>;
|
||||
};
|
||||
BUCKB {
|
||||
regulator-name = "VBUCKB";
|
||||
regulator-min-microvolt = < 300000>;
|
||||
regulator-max-microvolt = <1570000>;
|
||||
regulator-min-microamp = <2000000>;
|
||||
regulator-max-microamp = <5000000>;
|
||||
enable-gpios = <&gpio 17 0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
Example 3) DA9213
|
||||
pmic: da9213@68 {
|
||||
compatible = "dlg,da9213";
|
||||
reg = <0x68>;
|
||||
interrupts = <3 27>;
|
||||
|
||||
regulators {
|
||||
BUCKA {
|
||||
regulator-name = "VBUCKA";
|
||||
regulator-min-microvolt = < 300000>;
|
||||
regulator-max-microvolt = <1570000>;
|
||||
regulator-min-microamp = <3000000>;
|
||||
regulator-max-microamp = <6000000>;
|
||||
enable-gpios = <&gpio 27 0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
Example 4) DA9223
|
||||
pmic: da9223@68 {
|
||||
compatible = "dlg,da9223";
|
||||
reg = <0x68>;
|
||||
interrupts = <3 27>;
|
||||
|
||||
regulators {
|
||||
BUCKA {
|
||||
regulator-name = "VBUCKA";
|
||||
regulator-min-microvolt = < 300000>;
|
||||
regulator-max-microvolt = <1570000>;
|
||||
regulator-min-microamp = <3000000>;
|
||||
regulator-max-microamp = <6000000>;
|
||||
enable-gpios = <&gpio 27 0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
Example 5) DA9214
|
||||
pmic: da9214@68 {
|
||||
compatible = "dlg,da9214";
|
||||
reg = <0x68>;
|
||||
interrupts = <3 27>;
|
||||
|
||||
regulators {
|
||||
BUCKA {
|
||||
regulator-name = "VBUCKA";
|
||||
regulator-min-microvolt = < 300000>;
|
||||
regulator-max-microvolt = <1570000>;
|
||||
regulator-min-microamp = <3000000>;
|
||||
regulator-max-microamp = <6000000>;
|
||||
enable-gpios = <&gpio 27 0>;
|
||||
};
|
||||
BUCKB {
|
||||
regulator-name = "VBUCKB";
|
||||
regulator-min-microvolt = < 300000>;
|
||||
regulator-max-microvolt = <1570000>;
|
||||
regulator-min-microamp = <3000000>;
|
||||
regulator-max-microamp = <6000000>;
|
||||
enable-gpios = <&gpio 17 0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
Example 6) DA9224
|
||||
pmic: da9224@68 {
|
||||
compatible = "dlg,da9224";
|
||||
reg = <0x68>;
|
||||
interrupts = <3 27>;
|
||||
|
||||
regulators {
|
||||
BUCKA {
|
||||
regulator-name = "VBUCKA";
|
||||
regulator-min-microvolt = < 300000>;
|
||||
regulator-max-microvolt = <1570000>;
|
||||
regulator-min-microamp = <3000000>;
|
||||
regulator-max-microamp = <6000000>;
|
||||
enable-gpios = <&gpio 27 0>;
|
||||
};
|
||||
BUCKB {
|
||||
regulator-name = "VBUCKB";
|
||||
regulator-min-microvolt = < 300000>;
|
||||
regulator-max-microvolt = <1570000>;
|
||||
regulator-min-microamp = <3000000>;
|
||||
regulator-max-microamp = <6000000>;
|
||||
enable-gpios = <&gpio 17 0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
Example 7) DA9215
|
||||
pmic: da9215@68 {
|
||||
compatible = "dlg,da9215";
|
||||
reg = <0x68>;
|
||||
interrupts = <3 27>;
|
||||
|
||||
regulators {
|
||||
BUCKA {
|
||||
regulator-name = "VBUCKA";
|
||||
regulator-min-microvolt = < 300000>;
|
||||
regulator-max-microvolt = <1570000>;
|
||||
regulator-min-microamp = <4000000>;
|
||||
regulator-max-microamp = <7000000>;
|
||||
enable-gpios = <&gpio 27 0>;
|
||||
};
|
||||
BUCKB {
|
||||
regulator-name = "VBUCKB";
|
||||
regulator-min-microvolt = < 300000>;
|
||||
regulator-max-microvolt = <1570000>;
|
||||
regulator-min-microamp = <4000000>;
|
||||
regulator-max-microamp = <7000000>;
|
||||
enable-gpios = <&gpio 17 0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
Example 8) DA9225
|
||||
pmic: da9225@68 {
|
||||
compatible = "dlg,da9225";
|
||||
reg = <0x68>;
|
||||
interrupts = <3 27>;
|
||||
|
||||
regulators {
|
||||
BUCKA {
|
||||
regulator-name = "VBUCKA";
|
||||
regulator-min-microvolt = < 300000>;
|
||||
regulator-max-microvolt = <1570000>;
|
||||
regulator-min-microamp = <4000000>;
|
||||
regulator-max-microamp = <7000000>;
|
||||
enable-gpios = <&gpio 27 0>;
|
||||
};
|
||||
BUCKB {
|
||||
regulator-name = "VBUCKB";
|
||||
regulator-min-microvolt = < 300000>;
|
||||
regulator-max-microvolt = <1570000>;
|
||||
regulator-min-microamp = <4000000>;
|
||||
regulator-max-microamp = <7000000>;
|
||||
enable-gpios = <&gpio 17 0>;
|
||||
};
|
||||
};
|
||||
};
|
201
bindings/regulator/dlg,da9121.yaml
Normal file
201
bindings/regulator/dlg,da9121.yaml
Normal file
@@ -0,0 +1,201 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/regulator/dlg,da9121.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Dialog Semiconductor DA9121 voltage regulator
|
||||
|
||||
maintainers:
|
||||
- Adam Ward <Adam.Ward.opensource@diasemi.com>
|
||||
|
||||
description: |
|
||||
Dialog Semiconductor DA9121 Single-channel 10A double-phase buck converter
|
||||
Dialog Semiconductor DA9122 Double-channel 5A single-phase buck converter
|
||||
Dialog Semiconductor DA9220 Double-channel 3A single-phase buck converter
|
||||
Dialog Semiconductor DA9217 Single-channel 6A double-phase buck converter
|
||||
Dialog Semiconductor DA9130 Single-channel 10A double-phase buck converter
|
||||
Dialog Semiconductor DA9131 Double-channel 5A single-phase buck converter
|
||||
Dialog Semiconductor DA9132 Double-channel 3A single-phase buck converter
|
||||
Dialog Semiconductor DA9141 Single-channel 40A quad-phase buck converter
|
||||
Dialog Semiconductor DA9142 Single-channel 20A double-phase buck converter
|
||||
|
||||
Device parameter ranges
|
||||
|
||||
The current limits can be set to at/near double the rated current per channel
|
||||
to allow for transient peaks.
|
||||
Current limit changes when the output is enabled are not supported, as a
|
||||
precaution against undefined behaviour.
|
||||
|
||||
|----------------------------------------------|
|
||||
| | range & reset default value |
|
||||
| Device |------------------------------|
|
||||
| | microvolt | microamp |
|
||||
|----------------------------------------------|
|
||||
| DA9121/DA9130 | Min: 300000 | Min: 7000000 |
|
||||
| | Max: 1900000 | Max: 20000000 |
|
||||
|----------------------------------------------|
|
||||
| DA9121/DA9131 | Min: 300000 | Min: 3500000 |
|
||||
| | Max: 1900000 | Max: 10000000 |
|
||||
|----------------------------------------------|
|
||||
| DA9121/DA9131 | Min: 300000 | Min: 3500000 |
|
||||
| | Max: 1900000 | Max: 6000000 |
|
||||
|----------------------------------------------|
|
||||
| DA9217 | Min: 300000 | Min: 7000000 |
|
||||
| | Max: 1900000 | Max: 12000000 |
|
||||
|----------------------------------------------|
|
||||
| DA9141 | Min: 300000 | Min: 26000000 |
|
||||
| | Max: 1300000 | Max: 78000000 |
|
||||
|----------------------------------------------|
|
||||
| DA9142 | Min: 300000 | Min: 13000000 |
|
||||
| | Max: 1300000 | Max: 39000000 |
|
||||
|----------------------------------------------|
|
||||
|
||||
properties:
|
||||
$nodename:
|
||||
pattern: "pmic@[0-9a-f]{1,2}"
|
||||
compatible:
|
||||
enum:
|
||||
- dlg,da9121
|
||||
- dlg,da9122
|
||||
- dlg,da9220
|
||||
- dlg,da9217
|
||||
- dlg,da9130
|
||||
- dlg,da9131
|
||||
- dlg,da9132
|
||||
- dlg,da9141
|
||||
- dlg,da9142
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
description: Specifies the I2C slave address.
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
description: IRQ line information.
|
||||
|
||||
dlg,irq-polling-delay-passive-ms:
|
||||
minimum: 1000
|
||||
maximum: 10000
|
||||
description: |
|
||||
Specify the polling period, measured in milliseconds, between interrupt status
|
||||
update checks. Range 1000-10000 ms.
|
||||
|
||||
regulators:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
description: |
|
||||
List of regulators provided by the device
|
||||
|
||||
patternProperties:
|
||||
"^buck([1-2])$":
|
||||
type: object
|
||||
$ref: regulator.yaml#
|
||||
description: |
|
||||
Properties for a single BUCK regulator
|
||||
|
||||
properties:
|
||||
regulator-name:
|
||||
pattern: "^BUCK([1-2])$"
|
||||
description: |
|
||||
BUCK2 present in DA9122, DA9220, DA9131, DA9132 only
|
||||
|
||||
regulator-initial-mode:
|
||||
enum: [ 0, 1, 2, 3 ]
|
||||
description: Defined in include/dt-bindings/regulator/dlg,da9121-regulator.h
|
||||
|
||||
enable-gpios:
|
||||
maxItems: 1
|
||||
description: Specify a valid GPIO for platform control of the regulator
|
||||
|
||||
dlg,ripple-cancel:
|
||||
$ref: "/schemas/types.yaml#/definitions/uint32"
|
||||
enum: [ 0, 1, 2, 3 ]
|
||||
description: |
|
||||
Defined in include/dt-bindings/regulator/dlg,da9121-regulator.h
|
||||
Only present on multi-channel devices (DA9122, DA9220, DA9131, DA9132)
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- regulators
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
#include <dt-bindings/regulator/dlg,da9121-regulator.h>
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
pmic@68 {
|
||||
compatible = "dlg,da9121";
|
||||
reg = <0x68>;
|
||||
|
||||
interrupt-parent = <&gpio6>;
|
||||
interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
|
||||
|
||||
dlg,irq-polling-delay-passive-ms = <2000>;
|
||||
|
||||
regulators {
|
||||
DA9121_BUCK1: buck1 {
|
||||
regulator-name = "BUCK1";
|
||||
regulator-min-microvolt = <300000>;
|
||||
regulator-max-microvolt = <1900000>;
|
||||
regulator-min-microamp = <7000000>;
|
||||
regulator-max-microamp = <20000000>;
|
||||
regulator-boot-on;
|
||||
regulator-initial-mode = <DA9121_BUCK_MODE_AUTO>;
|
||||
enable-gpios = <&gpio 1 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
#include <dt-bindings/regulator/dlg,da9121-regulator.h>
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
pmic@68 {
|
||||
compatible = "dlg,da9122";
|
||||
reg = <0x68>;
|
||||
|
||||
interrupt-parent = <&gpio6>;
|
||||
interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
|
||||
|
||||
dlg,irq-polling-delay-passive-ms = <2000>;
|
||||
|
||||
regulators {
|
||||
DA9122_BUCK1: buck1 {
|
||||
regulator-name = "BUCK1";
|
||||
regulator-min-microvolt = <300000>;
|
||||
regulator-max-microvolt = <1900000>;
|
||||
regulator-min-microamp = <3500000>;
|
||||
regulator-max-microamp = <10000000>;
|
||||
regulator-boot-on;
|
||||
regulator-initial-mode = <DA9121_BUCK_MODE_AUTO>;
|
||||
enable-gpios = <&gpio6 1 GPIO_ACTIVE_HIGH>;
|
||||
dlg,ripple-cancel = <DA9121_BUCK_RIPPLE_CANCEL_NONE>;
|
||||
};
|
||||
DA9122_BUCK2: buck2 {
|
||||
regulator-name = "BUCK2";
|
||||
regulator-min-microvolt = <300000>;
|
||||
regulator-max-microvolt = <1900000>;
|
||||
regulator-min-microamp = <3500000>;
|
||||
regulator-max-microamp = <10000000>;
|
||||
regulator-boot-on;
|
||||
regulator-initial-mode = <DA9121_BUCK_MODE_AUTO>;
|
||||
enable-gpios = <&gpio6 2 GPIO_ACTIVE_HIGH>;
|
||||
dlg,ripple-cancel = <DA9121_BUCK_RIPPLE_CANCEL_NONE>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
...
|
24
bindings/regulator/fan53555.txt
Normal file
24
bindings/regulator/fan53555.txt
Normal file
@@ -0,0 +1,24 @@
|
||||
Binding for Fairchild FAN53555 regulators
|
||||
|
||||
Required properties:
|
||||
- compatible: one of "fcs,fan53555", "fcs,fan53526", "silergy,syr827",
|
||||
"silergy,syr828" or "tcs,tcs4525".
|
||||
- reg: I2C address
|
||||
|
||||
Optional properties:
|
||||
- fcs,suspend-voltage-selector: declare which of the two available
|
||||
voltage selector registers should be used for the suspend
|
||||
voltage. The other one is used for the runtime voltage setting
|
||||
Possible values are either <0> or <1>
|
||||
- vin-supply: regulator supplying the vin pin
|
||||
|
||||
Example:
|
||||
|
||||
regulator@40 {
|
||||
compatible = "fcs,fan53555";
|
||||
regulator-name = "fan53555";
|
||||
regulator-min-microvolt = <1000000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
vin-supply = <&parent_reg>;
|
||||
fcs,suspend-voltage-selector = <1>;
|
||||
};
|
139
bindings/regulator/fixed-regulator.yaml
Normal file
139
bindings/regulator/fixed-regulator.yaml
Normal file
@@ -0,0 +1,139 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/regulator/fixed-regulator.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Fixed Voltage regulators
|
||||
|
||||
maintainers:
|
||||
- Liam Girdwood <lgirdwood@gmail.com>
|
||||
- Mark Brown <broonie@kernel.org>
|
||||
|
||||
description:
|
||||
Any property defined as part of the core regulator binding, defined in
|
||||
regulator.yaml, can also be used. However a fixed voltage regulator is
|
||||
expected to have the regulator-min-microvolt and regulator-max-microvolt
|
||||
to be the same.
|
||||
|
||||
allOf:
|
||||
- $ref: "regulator.yaml#"
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
const: regulator-fixed-clock
|
||||
then:
|
||||
required:
|
||||
- clocks
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
const: regulator-fixed-domain
|
||||
then:
|
||||
required:
|
||||
- power-domains
|
||||
- required-opps
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- regulator-fixed
|
||||
- regulator-fixed-clock
|
||||
- regulator-fixed-domain
|
||||
|
||||
regulator-name: true
|
||||
|
||||
gpio:
|
||||
description: gpio to use for enable control
|
||||
maxItems: 1
|
||||
|
||||
clocks:
|
||||
description:
|
||||
clock to use for enable control. This binding is only available if
|
||||
the compatible is chosen to regulator-fixed-clock. The clock binding
|
||||
is mandatory if compatible is chosen to regulator-fixed-clock.
|
||||
maxItems: 1
|
||||
|
||||
power-domains:
|
||||
deprecated: true
|
||||
description:
|
||||
Power domain to use for enable control. This binding is only
|
||||
available if the compatible is chosen to regulator-fixed-domain.
|
||||
maxItems: 1
|
||||
|
||||
required-opps:
|
||||
deprecated: true
|
||||
description:
|
||||
Performance state to use for enable control. This binding is only
|
||||
available if the compatible is chosen to regulator-fixed-domain. The
|
||||
power-domain binding is mandatory if compatible is chosen to
|
||||
regulator-fixed-domain.
|
||||
maxItems: 1
|
||||
|
||||
startup-delay-us:
|
||||
description: startup time in microseconds
|
||||
|
||||
off-on-delay-us:
|
||||
description: off delay time in microseconds
|
||||
|
||||
enable-active-high:
|
||||
description:
|
||||
Polarity of GPIO is Active high. If this property is missing,
|
||||
the default assumed is Active low.
|
||||
type: boolean
|
||||
|
||||
gpio-open-drain:
|
||||
description:
|
||||
GPIO is open drain type. If this property is missing then default
|
||||
assumption is false.
|
||||
type: boolean
|
||||
|
||||
vin-supply:
|
||||
description: Input supply phandle.
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- regulator-name
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
reg_1v8: regulator-1v8 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "1v8";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
gpio = <&gpio1 16 0>;
|
||||
startup-delay-us = <70000>;
|
||||
enable-active-high;
|
||||
regulator-boot-on;
|
||||
gpio-open-drain;
|
||||
vin-supply = <&parent_reg>;
|
||||
};
|
||||
reg_1v8_clk: regulator-1v8-clk {
|
||||
compatible = "regulator-fixed-clock";
|
||||
regulator-name = "1v8";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
clocks = <&clock1>;
|
||||
startup-delay-us = <70000>;
|
||||
enable-active-high;
|
||||
regulator-boot-on;
|
||||
vin-supply = <&parent_reg>;
|
||||
};
|
||||
reg_1v8_domain: regulator-1v8-domain {
|
||||
compatible = "regulator-fixed-domain";
|
||||
regulator-name = "1v8";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
power-domains = <&domain1>;
|
||||
required-opps = <&domain1_state1>;
|
||||
startup-delay-us = <70000>;
|
||||
enable-active-high;
|
||||
regulator-boot-on;
|
||||
vin-supply = <&parent_reg>;
|
||||
};
|
||||
...
|
54
bindings/regulator/google,cros-ec-regulator.yaml
Normal file
54
bindings/regulator/google,cros-ec-regulator.yaml
Normal file
@@ -0,0 +1,54 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/regulator/google,cros-ec-regulator.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: ChromeOS EC controlled voltage regulators
|
||||
|
||||
maintainers:
|
||||
- Pi-Hsun Shih <pihsun@chromium.org>
|
||||
|
||||
description:
|
||||
Any property defined as part of the core regulator binding, defined in
|
||||
regulator.yaml, can also be used.
|
||||
|
||||
allOf:
|
||||
- $ref: "regulator.yaml#"
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: google,cros-ec-regulator
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
description: Identifier for the voltage regulator to ChromeOS EC.
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
spi0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
cros_ec: ec@0 {
|
||||
compatible = "google,cros-ec-spi";
|
||||
reg = <0>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
interrupts = <99 0>;
|
||||
|
||||
regulator@0 {
|
||||
compatible = "google,cros-ec-regulator";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
reg = <0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
...
|
120
bindings/regulator/gpio-regulator.yaml
Normal file
120
bindings/regulator/gpio-regulator.yaml
Normal file
@@ -0,0 +1,120 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/regulator/gpio-regulator.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: GPIO controlled regulators
|
||||
|
||||
maintainers:
|
||||
- Liam Girdwood <lgirdwood@gmail.com>
|
||||
- Mark Brown <broonie@kernel.org>
|
||||
|
||||
description:
|
||||
Any property defined as part of the core regulator binding, defined in
|
||||
regulator.txt, can also be used.
|
||||
|
||||
allOf:
|
||||
- $ref: "regulator.yaml#"
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: regulator-gpio
|
||||
|
||||
regulator-name: true
|
||||
|
||||
enable-gpios:
|
||||
description: GPIO to use to enable/disable the regulator.
|
||||
Warning, the GPIO phandle flags are ignored and the GPIO polarity is
|
||||
controlled solely by the presence of "enable-active-high" DT property.
|
||||
This is due to compatibility with old DTs.
|
||||
maxItems: 1
|
||||
|
||||
gpios:
|
||||
description: Array of one or more GPIO pins used to select the regulator
|
||||
voltage/current listed in "states".
|
||||
minItems: 1
|
||||
maxItems: 8 # Should be enough...
|
||||
|
||||
gpios-states:
|
||||
description: |
|
||||
On operating systems, that don't support reading back gpio values in
|
||||
output mode (most notably linux), this array provides the state of GPIO
|
||||
pins set when requesting them from the gpio controller. Systems, that are
|
||||
capable of preserving state when requesting the lines, are free to ignore
|
||||
this property.
|
||||
0: LOW
|
||||
1: HIGH
|
||||
Default is LOW if nothing else is specified.
|
||||
$ref: /schemas/types.yaml#/definitions/uint32-array
|
||||
maxItems: 8
|
||||
items:
|
||||
enum: [0, 1]
|
||||
default: 0
|
||||
|
||||
states:
|
||||
description: Selection of available voltages/currents provided by this
|
||||
regulator and matching GPIO configurations to achieve them. If there are
|
||||
no states in the "states" array, use a fixed regulator instead.
|
||||
$ref: /schemas/types.yaml#/definitions/uint32-matrix
|
||||
maxItems: 8
|
||||
items:
|
||||
items:
|
||||
- description: Voltage in microvolts
|
||||
- description: GPIO group state value
|
||||
|
||||
startup-delay-us:
|
||||
description: startup time in microseconds
|
||||
|
||||
enable-active-high:
|
||||
description: Polarity of "enable-gpio" GPIO is active HIGH. Default is
|
||||
active LOW.
|
||||
type: boolean
|
||||
|
||||
gpio-open-drain:
|
||||
description:
|
||||
GPIO is open drain type. If this property is missing then default
|
||||
assumption is false.
|
||||
type: boolean
|
||||
|
||||
regulator-type:
|
||||
description: Specifies what is being regulated.
|
||||
$ref: /schemas/types.yaml#/definitions/string
|
||||
enum:
|
||||
- voltage
|
||||
- current
|
||||
default: voltage
|
||||
|
||||
vin-supply:
|
||||
description: Input supply phandle.
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- regulator-name
|
||||
- gpios
|
||||
- states
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
gpio-regulator {
|
||||
compatible = "regulator-gpio";
|
||||
|
||||
regulator-name = "mmci-gpio-supply";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <2600000>;
|
||||
regulator-boot-on;
|
||||
|
||||
enable-gpios = <&gpio0 23 0x4>;
|
||||
gpios = <&gpio0 24 0x4
|
||||
&gpio0 25 0x4>;
|
||||
states = <1800000 0x3>,
|
||||
<2200000 0x2>,
|
||||
<2600000 0x1>,
|
||||
<2900000 0x0>;
|
||||
|
||||
startup-delay-us = <100000>;
|
||||
enable-active-high;
|
||||
};
|
||||
...
|
29
bindings/regulator/hisilicon,hi655x-regulator.txt
Normal file
29
bindings/regulator/hisilicon,hi655x-regulator.txt
Normal file
@@ -0,0 +1,29 @@
|
||||
Hisilicon Hi655x Voltage regulators
|
||||
|
||||
Note:
|
||||
The Hi655x regulator control is managed by Hi655x PMIC.
|
||||
So the node of this regulator must be child node of Hi655x
|
||||
PMIC node.
|
||||
|
||||
The driver uses the regulator core framework, so please also
|
||||
take the bindings of regulator.txt for reference.
|
||||
|
||||
The valid names for regulators are:
|
||||
|
||||
LDO2_2V8 LDO7_SDIO LDO10_2V85 LDO13_1V8 LDO14_2V8
|
||||
LDO15_1V8 LDO17_2V5 LDO19_3V0 LDO21_1V8 LDO22_1V2
|
||||
|
||||
Example:
|
||||
pmic: pmic@f8000000 {
|
||||
compatible = "hisilicon,hi655x-pmic";
|
||||
...
|
||||
regulators {
|
||||
ldo2: LDO2@a21 {
|
||||
regulator-name = "LDO2_2V8";
|
||||
regulator-min-microvolt = <2500000>;
|
||||
regulator-max-microvolt = <3200000>;
|
||||
regulator-enable-ramp-delay = <120>;
|
||||
};
|
||||
...
|
||||
}
|
||||
}
|
36
bindings/regulator/isl9305.txt
Normal file
36
bindings/regulator/isl9305.txt
Normal file
@@ -0,0 +1,36 @@
|
||||
Intersil ISL9305/ISL9305H voltage regulator
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible: "isil,isl9305" or "isil,isl9305h"
|
||||
- reg: I2C slave address, usually 0x68.
|
||||
- regulators: A node that houses a sub-node for each regulator within the
|
||||
device. Each sub-node is identified using the node's name, with valid
|
||||
values being "dcd1", "dcd2", "ldo1" and "ldo2". The content of each sub-node
|
||||
is defined by the standard binding for regulators; see regulator.txt.
|
||||
- VINDCD1-supply: A phandle to a regulator node supplying VINDCD1.
|
||||
VINDCD2-supply: A phandle to a regulator node supplying VINDCD2.
|
||||
VINLDO1-supply: A phandle to a regulator node supplying VINLDO1.
|
||||
VINLDO2-supply: A phandle to a regulator node supplying VINLDO2.
|
||||
|
||||
Optional properties:
|
||||
- Per-regulator optional properties are defined in regulator.txt
|
||||
|
||||
Example
|
||||
|
||||
pmic: isl9305@68 {
|
||||
compatible = "isil,isl9305";
|
||||
reg = <0x68>;
|
||||
|
||||
VINDCD1-supply = <&system_power>;
|
||||
VINDCD2-supply = <&system_power>;
|
||||
VINLDO1-supply = <&system_power>;
|
||||
VINLDO2-supply = <&system_power>;
|
||||
|
||||
regulators {
|
||||
dcd1 {
|
||||
regulator-name = "VDD_DSP";
|
||||
regulator-always-on;
|
||||
};
|
||||
};
|
||||
};
|
108
bindings/regulator/lm363x-regulator.txt
Normal file
108
bindings/regulator/lm363x-regulator.txt
Normal file
@@ -0,0 +1,108 @@
|
||||
TI LMU LM363x regulator device tree bindings
|
||||
|
||||
LM363x regulator driver supports LM3631 and LM3632.
|
||||
LM3631 has five regulators and LM3632 supports three regulators.
|
||||
|
||||
Required property:
|
||||
- compatible: "ti,lm363x-regulator"
|
||||
|
||||
Optional properties:
|
||||
LM3632 has external enable pins for two LDOs.
|
||||
- enable-gpios: Two GPIO specifiers for Vpos and Vneg control pins.
|
||||
The first entry is Vpos, the second is Vneg enable pin.
|
||||
|
||||
Child nodes:
|
||||
LM3631
|
||||
- vboost
|
||||
- vcont
|
||||
- voref
|
||||
- vpos
|
||||
- vneg
|
||||
|
||||
LM3632
|
||||
- vboost
|
||||
- vpos
|
||||
- vneg
|
||||
|
||||
Optional properties of a child node:
|
||||
Each sub-node should contain the constraints and initialization.
|
||||
Please refer to [1].
|
||||
|
||||
Examples: Please refer to ti-lmu dt-bindings [2].
|
||||
|
||||
lm3631@29 {
|
||||
compatible = "ti,lm3631";
|
||||
reg = <0x29>;
|
||||
|
||||
regulators {
|
||||
compatible = "ti,lm363x-regulator";
|
||||
|
||||
vboost {
|
||||
regulator-name = "lcd_boost";
|
||||
regulator-min-microvolt = <4500000>;
|
||||
regulator-max-microvolt = <6350000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
vcont {
|
||||
regulator-name = "lcd_vcont";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
|
||||
voref {
|
||||
regulator-name = "lcd_voref";
|
||||
regulator-min-microvolt = <4000000>;
|
||||
regulator-max-microvolt = <6000000>;
|
||||
};
|
||||
|
||||
vpos {
|
||||
regulator-name = "lcd_vpos";
|
||||
regulator-min-microvolt = <4000000>;
|
||||
regulator-max-microvolt = <6000000>;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
vneg {
|
||||
regulator-name = "lcd_vneg";
|
||||
regulator-min-microvolt = <4000000>;
|
||||
regulator-max-microvolt = <6000000>;
|
||||
regulator-boot-on;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
lm3632@11 {
|
||||
compatible = "ti,lm3632";
|
||||
reg = <0x11>;
|
||||
|
||||
regulators {
|
||||
compatible = "ti,lm363x-regulator";
|
||||
|
||||
/* GPIO1_16 for Vpos, GPIO1_28 is for Vneg */
|
||||
enable-gpios = <&gpio1 16 GPIO_ACTIVE_HIGH>,
|
||||
<&gpio1 28 GPIO_ACTIVE_HIGH>;
|
||||
|
||||
vboost {
|
||||
regulator-name = "lcd_boost";
|
||||
regulator-min-microvolt = <4500000>;
|
||||
regulator-max-microvolt = <6400000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
vpos {
|
||||
regulator-name = "lcd_vpos";
|
||||
regulator-min-microvolt = <4000000>;
|
||||
regulator-max-microvolt = <6000000>;
|
||||
};
|
||||
|
||||
vneg {
|
||||
regulator-name = "lcd_vneg";
|
||||
regulator-min-microvolt = <4000000>;
|
||||
regulator-max-microvolt = <6000000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
[1] ../regulator/regulator.txt
|
||||
[2] ../mfd/ti-lmu.txt
|
161
bindings/regulator/lp872x.txt
Normal file
161
bindings/regulator/lp872x.txt
Normal file
@@ -0,0 +1,161 @@
|
||||
Binding for TI/National Semiconductor LP872x Driver
|
||||
|
||||
Required properties:
|
||||
- compatible: "ti,lp8720" or "ti,lp8725"
|
||||
- reg: I2C slave address. 0x7d = LP8720, 0x7a = LP8725
|
||||
|
||||
Optional properties:
|
||||
- ti,general-config: the value of LP872X_GENERAL_CFG register (u8)
|
||||
(LP8720)
|
||||
bit[2]: BUCK output voltage control by external DVS pin or register
|
||||
1 = external pin, 0 = bit7 of register 08h
|
||||
bit[1]: sleep control by external DVS pin or register
|
||||
1 = external pin, 0 = bit6 of register 08h
|
||||
bit[0]: time step unit(usec). 1 = 25, 0 = 50
|
||||
|
||||
(LP8725)
|
||||
bit[7:6]: time step unit(usec). 00 = 32, 01 = 64, 10 = 128, 11 = 256
|
||||
bit[4]: BUCK2 enable control. 1 = enable, 0 = disable
|
||||
bit[3]: BUCK2 output voltage register address. 1 = 0Ah, 0 = 0Bh
|
||||
bit[2]: BUCK1 output voltage control by external DVS pin or register
|
||||
1 = register 08h, 0 = DVS
|
||||
bit[1]: LDO sleep control. 1 = sleep mode, 0 = normal
|
||||
bit[0]: BUCK1 enable control, 1 = enable, 0 = disable
|
||||
|
||||
For more details, please see the datasheet.
|
||||
|
||||
- ti,update-config: define it when LP872X_GENERAL_CFG register should be set
|
||||
- ti,dvs-gpio: GPIO specifier for external DVS pin control of LP872x devices.
|
||||
- ti,dvs-vsel: DVS selector. 0 = SEL_V1, 1 = SEL_V2.
|
||||
- ti,dvs-state: initial DVS pin state. 0 = DVS_LOW, 1 = DVS_HIGH.
|
||||
- enable-gpios: GPIO specifier for EN pin control of LP872x devices.
|
||||
|
||||
Sub nodes for regulator_init_data
|
||||
LP8720 has maximum 6 nodes. (child name: ldo1 ~ 5 and buck)
|
||||
LP8725 has maximum 9 nodes. (child name: ldo1 ~ 5, lilo1,2 and buck1,2)
|
||||
For more details, please see the following binding document.
|
||||
(Documentation/devicetree/bindings/regulator/regulator.txt)
|
||||
|
||||
Datasheet
|
||||
- LP8720: https://www.ti.com/lit/ds/symlink/lp8720.pdf
|
||||
- LP8725: https://www.ti.com/lit/ds/symlink/lp8725.pdf
|
||||
|
||||
Example 1) LP8720
|
||||
|
||||
lp8720@7d {
|
||||
compatible = "ti,lp8720";
|
||||
reg = <0x7d>;
|
||||
|
||||
/* external DVS pin used, timestep is 25usec */
|
||||
ti,general-config = /bits/ 8 <0x03>;
|
||||
ti,update-config;
|
||||
|
||||
/*
|
||||
* The dvs-gpio depends on the processor environment.
|
||||
* For example, following GPIO specifier means GPIO134 in OMAP4.
|
||||
*/
|
||||
ti,dvs-gpio = <&gpio5 6 0>;
|
||||
ti,dvs-vsel = /bits/ 8 <1>; /* SEL_V2 */
|
||||
ti,dvs-state = /bits/ 8 <1>; /* DVS_HIGH */
|
||||
|
||||
vaf: ldo1 {
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
|
||||
vmmc: ldo2 {
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
|
||||
vcam_io: ldo3 {
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
vcam_core: ldo4 {
|
||||
regulator-min-microvolt = <800000>;
|
||||
regulator-max-microvolt = <2850000>;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
vcam: ldo5 {
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
|
||||
vcc: buck {
|
||||
regulator-name = "VBUCK";
|
||||
regulator-min-microvolt = <800000>;
|
||||
regulator-max-microvolt = <2300000>;
|
||||
};
|
||||
};
|
||||
|
||||
Example 2) LP8725
|
||||
|
||||
lp8725@7a {
|
||||
compatible = "ti,lp8725";
|
||||
reg = <0x7a>;
|
||||
|
||||
/* Enable BUCK1,2, no DVS, normal LDO mode, timestep is 256usec */
|
||||
ti,general-config = /bits/ 8 <0xdd>;
|
||||
ti,update-config;
|
||||
|
||||
vcam_io: ldo1 {
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
|
||||
vcam_core: ldo2 {
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
|
||||
vcam: ldo3 {
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
|
||||
vcmmb_io: ldo4 {
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
vcmmb_core: ldo5 {
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
vaux1: lilo1 {
|
||||
regulator-name = "VAUX1";
|
||||
regulator-min-microvolt = <800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
|
||||
vaux2: lilo2 {
|
||||
regulator-name = "VAUX2";
|
||||
regulator-min-microvolt = <800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
|
||||
vcc1: buck1 {
|
||||
regulator-name = "VBUCK1";
|
||||
regulator-min-microvolt = <800000>;
|
||||
regulator-max-microvolt = <3000000>;
|
||||
regulator-min-microamp = <460000>;
|
||||
regulator-max-microamp = <1370000>;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
vcc2: buck2 {
|
||||
regulator-name = "VBUCK2";
|
||||
regulator-min-microvolt = <800000>;
|
||||
regulator-max-microvolt = <3000000>;
|
||||
regulator-min-microamp = <460000>;
|
||||
regulator-max-microamp = <1370000>;
|
||||
regulator-boot-on;
|
||||
};
|
||||
};
|
99
bindings/regulator/ltc3589.txt
Normal file
99
bindings/regulator/ltc3589.txt
Normal file
@@ -0,0 +1,99 @@
|
||||
Linear Technology LTC3589, LTC3589-1, and LTC3589-2 8-output regulators
|
||||
|
||||
Required properties:
|
||||
- compatible: "lltc,ltc3589", "lltc,ltc3589-1" or "lltc,ltc3589-2"
|
||||
- reg: I2C slave address
|
||||
|
||||
Required child node:
|
||||
- regulators: Contains eight regulator child nodes sw1, sw2, sw3, bb-out,
|
||||
ldo1, ldo2, ldo3, and ldo4, specifying the initialization data as
|
||||
documented in Documentation/devicetree/bindings/regulator/regulator.txt.
|
||||
|
||||
Each regulator is defined using the standard binding for regulators. The
|
||||
nodes for sw1, sw2, sw3, bb-out, ldo1, and ldo2 additionally need to specify
|
||||
the resistor values of their external feedback voltage dividers:
|
||||
|
||||
Required properties (not on ldo3, ldo4):
|
||||
- lltc,fb-voltage-divider: An array of two integers containing the resistor
|
||||
values R1 and R2 of the feedback voltage divider in ohms.
|
||||
|
||||
Regulators sw1, sw2, sw3, and ldo2 can regulate the feedback reference from
|
||||
0.3625 V to 0.75 V in 12.5 mV steps. The output voltage thus ranges between
|
||||
0.3625 * (1 + R1/R2) V and 0.75 * (1 + R1/R2) V. Regulators bb-out and ldo1
|
||||
have a fixed 0.8 V reference and thus output 0.8 * (1 + R1/R2) V. The ldo3
|
||||
regulator is fixed to 1.8 V on LTC3589 and to 2.8 V on LTC3589-1,2. The ldo4
|
||||
regulator can output between 1.8 V and 3.3 V on LTC3589 and between 1.2 V
|
||||
and 3.2 V on LTC3589-1,2 in four steps. The ldo1 standby regulator can not
|
||||
be disabled and thus should have the regulator-always-on property set.
|
||||
|
||||
Example:
|
||||
|
||||
ltc3589: pmic@34 {
|
||||
compatible = "lltc,ltc3589-1";
|
||||
reg = <0x34>;
|
||||
|
||||
regulators {
|
||||
sw1_reg: sw1 {
|
||||
regulator-min-microvolt = <591930>;
|
||||
regulator-max-microvolt = <1224671>;
|
||||
lltc,fb-voltage-divider = <100000 158000>;
|
||||
regulator-ramp-delay = <7000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
sw2_reg: sw2 {
|
||||
regulator-min-microvolt = <704123>;
|
||||
regulator-max-microvolt = <1456803>;
|
||||
lltc,fb-voltage-divider = <180000 191000>;
|
||||
regulator-ramp-delay = <7000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
sw3_reg: sw3 {
|
||||
regulator-min-microvolt = <1341250>;
|
||||
regulator-max-microvolt = <2775000>;
|
||||
lltc,fb-voltage-divider = <270000 100000>;
|
||||
regulator-ramp-delay = <7000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
bb_out_reg: bb-out {
|
||||
regulator-min-microvolt = <3387341>;
|
||||
regulator-max-microvolt = <3387341>;
|
||||
lltc,fb-voltage-divider = <511000 158000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
ldo1_reg: ldo1 {
|
||||
regulator-min-microvolt = <1306329>;
|
||||
regulator-max-microvolt = <1306329>;
|
||||
lltc,fb-voltage-divider = <100000 158000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
ldo2_reg: ldo2 {
|
||||
regulator-min-microvolt = <704123>;
|
||||
regulator-max-microvolt = <1456806>;
|
||||
lltc,fb-voltage-divider = <180000 191000>;
|
||||
regulator-ramp-delay = <7000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
ldo3_reg: ldo3 {
|
||||
regulator-min-microvolt = <2800000>;
|
||||
regulator-max-microvolt = <2800000>;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
ldo4_reg: ldo4 {
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <3200000>;
|
||||
};
|
||||
};
|
||||
};
|
94
bindings/regulator/ltc3676.txt
Normal file
94
bindings/regulator/ltc3676.txt
Normal file
@@ -0,0 +1,94 @@
|
||||
Linear Technology LTC3676 8-output regulators
|
||||
|
||||
Required properties:
|
||||
- compatible: "lltc,ltc3676"
|
||||
- reg: I2C slave address
|
||||
|
||||
Required child node:
|
||||
- regulators: Contains eight regulator child nodes sw1, sw2, sw3, sw4,
|
||||
ldo1, ldo2, ldo3, and ldo4, specifying the initialization data as
|
||||
documented in Documentation/devicetree/bindings/regulator/regulator.txt.
|
||||
|
||||
Each regulator is defined using the standard binding for regulators. The
|
||||
nodes for sw1, sw2, sw3, sw4, ldo1, ldo2 and ldo4 additionally need to specify
|
||||
the resistor values of their external feedback voltage dividers:
|
||||
|
||||
Required properties (not on ldo3):
|
||||
- lltc,fb-voltage-divider: An array of two integers containing the resistor
|
||||
values R1 and R2 of the feedback voltage divider in ohms.
|
||||
|
||||
Regulators sw1, sw2, sw3, sw4 can regulate the feedback reference from:
|
||||
412.5mV to 800mV in 12.5 mV steps. The output voltage thus ranges between
|
||||
0.4125 * (1 + R1/R2) V and 0.8 * (1 + R1/R2) V.
|
||||
|
||||
Regulators ldo1, ldo2, and ldo4 have a fixed 0.725 V reference and thus output
|
||||
0.725 * (1 + R1/R2) V. The ldo3 regulator is fixed to 1.8 V. The ldo1 standby
|
||||
regulator can not be disabled and thus should have the regulator-always-on
|
||||
property set.
|
||||
|
||||
Example:
|
||||
|
||||
ltc3676: pmic@3c {
|
||||
compatible = "lltc,ltc3676";
|
||||
reg = <0x3c>;
|
||||
|
||||
regulators {
|
||||
sw1_reg: sw1 {
|
||||
regulator-min-microvolt = <674400>;
|
||||
regulator-max-microvolt = <1308000>;
|
||||
lltc,fb-voltage-divider = <127000 200000>;
|
||||
regulator-ramp-delay = <7000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
sw2_reg: sw2 {
|
||||
regulator-min-microvolt = <1033310>;
|
||||
regulator-max-microvolt = <200400>;
|
||||
lltc,fb-voltage-divider = <301000 200000>;
|
||||
regulator-ramp-delay = <7000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
sw3_reg: sw3 {
|
||||
regulator-min-microvolt = <674400>;
|
||||
regulator-max-microvolt = <130800>;
|
||||
lltc,fb-voltage-divider = <127000 200000>;
|
||||
regulator-ramp-delay = <7000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
sw4_reg: sw4 {
|
||||
regulator-min-microvolt = <868310>;
|
||||
regulator-max-microvolt = <168400>;
|
||||
lltc,fb-voltage-divider = <221000 200000>;
|
||||
regulator-ramp-delay = <7000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
ldo2_reg: ldo2 {
|
||||
regulator-min-microvolt = <2490375>;
|
||||
regulator-max-microvolt = <2490375>;
|
||||
lltc,fb-voltage-divider = <487000 200000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
ldo3_reg: ldo3 {
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
ldo4_reg: ldo4 {
|
||||
regulator-min-microvolt = <3023250>;
|
||||
regulator-max-microvolt = <3023250>;
|
||||
lltc,fb-voltage-divider = <634000 200000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
};
|
||||
};
|
28
bindings/regulator/max1586-regulator.txt
Normal file
28
bindings/regulator/max1586-regulator.txt
Normal file
@@ -0,0 +1,28 @@
|
||||
Maxim MAX1586 voltage regulator
|
||||
|
||||
Required properties:
|
||||
- compatible: must be "maxim,max1586"
|
||||
- reg: I2C slave address, usually 0x14
|
||||
- v3-gain: integer specifying the V3 gain as per datasheet
|
||||
(1 + R24/R25 + R24/185.5kOhm)
|
||||
- any required generic properties defined in regulator.txt
|
||||
|
||||
Example:
|
||||
|
||||
i2c_master {
|
||||
max1586@14 {
|
||||
compatible = "maxim,max1586";
|
||||
reg = <0x14>;
|
||||
v3-gain = <1000000>;
|
||||
|
||||
regulators {
|
||||
vcc_core: v3 {
|
||||
regulator-name = "vcc_core";
|
||||
regulator-compatible = "Output_V3";
|
||||
regulator-min-microvolt = <1000000>;
|
||||
regulator-max-microvolt = <1705000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
34
bindings/regulator/max77650-regulator.yaml
Normal file
34
bindings/regulator/max77650-regulator.yaml
Normal file
@@ -0,0 +1,34 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/regulator/max77650-regulator.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Regulator driver for MAX77650 PMIC from Maxim Integrated.
|
||||
|
||||
maintainers:
|
||||
- Bartosz Golaszewski <bgolaszewski@baylibre.com>
|
||||
|
||||
description: |
|
||||
This module is part of the MAX77650 MFD device. For more details
|
||||
see Documentation/devicetree/bindings/mfd/max77650.yaml.
|
||||
|
||||
The regulator controller is represented as a sub-node of the PMIC node
|
||||
on the device tree.
|
||||
|
||||
The device has a single LDO regulator and a SIMO buck-boost regulator with
|
||||
three independent power rails.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: maxim,max77650-regulator
|
||||
|
||||
patternProperties:
|
||||
"^regulator-(ldo|sbb[0-2])$":
|
||||
$ref: "regulator.yaml#"
|
||||
|
||||
required:
|
||||
- compatible
|
||||
additionalProperties: false
|
||||
|
||||
...
|
77
bindings/regulator/max8660.yaml
Normal file
77
bindings/regulator/max8660.yaml
Normal file
@@ -0,0 +1,77 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/regulator/max8660.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Maxim MAX8660 voltage regulator
|
||||
|
||||
maintainers:
|
||||
- Daniel Mack <zonque@gmail.com>
|
||||
|
||||
properties:
|
||||
$nodename:
|
||||
pattern: "pmic@[0-9a-f]{1,2}"
|
||||
compatible:
|
||||
enum:
|
||||
- maxim,max8660
|
||||
- maxim,max8661
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
regulators:
|
||||
type: object
|
||||
|
||||
patternProperties:
|
||||
"regulator-.+":
|
||||
$ref: "regulator.yaml#"
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
pmic@34 {
|
||||
compatible = "maxim,max8660";
|
||||
reg = <0x34>;
|
||||
|
||||
regulators {
|
||||
regulator-V3 {
|
||||
regulator-compatible= "V3(DCDC)";
|
||||
regulator-min-microvolt = <725000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
};
|
||||
|
||||
regulator-V4 {
|
||||
regulator-compatible= "V4(DCDC)";
|
||||
regulator-min-microvolt = <725000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
};
|
||||
|
||||
regulator-V5 {
|
||||
regulator-compatible= "V5(LDO)";
|
||||
regulator-min-microvolt = <1700000>;
|
||||
regulator-max-microvolt = <2000000>;
|
||||
};
|
||||
|
||||
regulator-V6 {
|
||||
regulator-compatible= "V6(LDO)";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
|
||||
regulator-V7 {
|
||||
regulator-compatible= "V7(LDO)";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
...
|
88
bindings/regulator/max8893.yaml
Normal file
88
bindings/regulator/max8893.yaml
Normal file
@@ -0,0 +1,88 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/regulator/max8893.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Regulator driver for MAX8893 PMIC from Maxim Integrated.
|
||||
|
||||
maintainers:
|
||||
- Sergey Larin <cerg2010cerg2010@mail.ru>
|
||||
|
||||
description: |
|
||||
The device has 5 LDO regulators and a single BUCK regulator.
|
||||
Programming is done through I2C bus.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: maxim,max8893
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
regulators:
|
||||
type: object
|
||||
|
||||
patternProperties:
|
||||
"^(ldo[1-5]|buck)$":
|
||||
$ref: "regulator.yaml#"
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- regulators
|
||||
|
||||
examples:
|
||||
- |
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
pmic@3e {
|
||||
compatible = "maxim,max8893";
|
||||
reg = <0x3e>;
|
||||
|
||||
regulators {
|
||||
/* Front camera - s5k6aafx, back - m5mo */
|
||||
/* Numbers used to indicate the sequence */
|
||||
front_1_back_1: buck {
|
||||
regulator-name = "cam_isp_core_1v2";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <1200000>;
|
||||
};
|
||||
|
||||
front_4_back_5: ldo1 {
|
||||
regulator-name = "vt_io_1v8,cam_isp_1v8";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
};
|
||||
|
||||
front_3_back_4: ldo2 {
|
||||
regulator-name = "vt_core_1v5";
|
||||
regulator-min-microvolt = <1500000>;
|
||||
regulator-max-microvolt = <1500000>;
|
||||
};
|
||||
|
||||
front_5_back_6: ldo3 {
|
||||
regulator-name = "vt_cam_1v8,vt_sensor_io_1v8";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
};
|
||||
|
||||
ldo4 {
|
||||
/* not used */
|
||||
};
|
||||
|
||||
back_7: ldo5 {
|
||||
regulator-name = "cam_sensor_io_1v8";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
...
|
69
bindings/regulator/max8907.txt
Normal file
69
bindings/regulator/max8907.txt
Normal file
@@ -0,0 +1,69 @@
|
||||
MAX8907 regulator
|
||||
|
||||
Required properties:
|
||||
- compatible: "maxim,max8907"
|
||||
- reg: I2C slave address
|
||||
- interrupts: The interrupt output of the controller
|
||||
- mbatt-supply: The input supply for MBATT, BBAT, SDBY, VRTC.
|
||||
- in-v1-supply: The input supply for SD1.
|
||||
- in-v2-supply: The input supply for SD2.
|
||||
- in-v3-supply: The input supply for SD3.
|
||||
- in1-supply: The input supply for LDO1.
|
||||
...
|
||||
- in20-supply: The input supply for LDO20.
|
||||
- regulators: A node that houses a sub-node for each regulator within the
|
||||
device. Each sub-node is identified using the node's name (or the deprecated
|
||||
regulator-compatible property if present), with valid values listed below.
|
||||
The content of each sub-node is defined by the standard binding for
|
||||
regulators; see regulator.txt.
|
||||
|
||||
Optional properties:
|
||||
- maxim,system-power-controller: Boolean property indicating that the PMIC
|
||||
controls the overall system power.
|
||||
|
||||
The valid names for regulators are:
|
||||
|
||||
sd1, sd2, sd3, ldo1, ldo2, ldo3, ldo4, ldo5, ldo6, ldo7, ldo8, ldo9, ldo10,
|
||||
ldo11, ldo12, ldo13, ldo14, ldo15, ldo16, ldo17, ldo18, ldo19, ldo20, out5v,
|
||||
out33v, bbat, sdby, vrtc.
|
||||
|
||||
Example:
|
||||
|
||||
max8907@3c {
|
||||
compatible = "maxim,max8907";
|
||||
reg = <0x3c>;
|
||||
interrupts = <0 86 0x4>;
|
||||
|
||||
maxim,system-power-controller;
|
||||
|
||||
mbatt-supply = <&some_reg>;
|
||||
in-v1-supply = <&mbatt_reg>;
|
||||
...
|
||||
in1-supply = <&mbatt_reg>;
|
||||
...
|
||||
|
||||
regulators {
|
||||
mbatt_reg: mbatt {
|
||||
regulator-name = "vbat_pmu";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
sd1 {
|
||||
regulator-name = "nvvdd_sv1,vdd_cpu_pmu";
|
||||
regulator-min-microvolt = <1000000>;
|
||||
regulator-max-microvolt = <1000000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
sd2 {
|
||||
regulator-name = "nvvdd_sv2,vdd_core";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <1200000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
...
|
||||
};
|
||||
};
|
||||
};
|
40
bindings/regulator/max8925-regulator.txt
Normal file
40
bindings/regulator/max8925-regulator.txt
Normal file
@@ -0,0 +1,40 @@
|
||||
Max8925 Voltage regulators
|
||||
|
||||
Required nodes:
|
||||
-nodes:
|
||||
- SDV1 for SDV SDV1
|
||||
- SDV2 for SDV SDV2
|
||||
- SDV3 for SDV SDV3
|
||||
- LDO1 for LDO LDO1
|
||||
- LDO2 for LDO LDO2
|
||||
- LDO3 for LDO LDO3
|
||||
- LDO4 for LDO LDO4
|
||||
- LDO5 for LDO LDO5
|
||||
- LDO6 for LDO LDO6
|
||||
- LDO7 for LDO LDO7
|
||||
- LDO8 for LDO LDO8
|
||||
- LDO9 for LDO LDO9
|
||||
- LDO10 for LDO LDO10
|
||||
- LDO11 for LDO LDO11
|
||||
- LDO12 for LDO LDO12
|
||||
- LDO13 for LDO LDO13
|
||||
- LDO14 for LDO LDO14
|
||||
- LDO15 for LDO LDO15
|
||||
- LDO16 for LDO LDO16
|
||||
- LDO17 for LDO LDO17
|
||||
- LDO18 for LDO LDO18
|
||||
- LDO19 for LDO LDO19
|
||||
- LDO20 for LDO LDO20
|
||||
|
||||
Optional properties:
|
||||
- Any optional property defined in bindings/regulator/regulator.txt
|
||||
|
||||
Example:
|
||||
|
||||
SDV1 {
|
||||
regulator-min-microvolt = <637500>;
|
||||
regulator-max-microvolt = <1425000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
78
bindings/regulator/maxim,max14577.yaml
Normal file
78
bindings/regulator/maxim,max14577.yaml
Normal file
@@ -0,0 +1,78 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/regulator/maxim,max14577.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Maxim MAX14577/MAX77836 MicroUSB and Companion Power Management IC regulators
|
||||
|
||||
maintainers:
|
||||
- Krzysztof Kozlowski <krzk@kernel.org>
|
||||
|
||||
description: |
|
||||
This is a part of device tree bindings for Maxim MAX14577/MAX77836 MicroUSB
|
||||
Integrated Circuit (MUIC).
|
||||
|
||||
See also Documentation/devicetree/bindings/mfd/maxim,max14577.yaml for
|
||||
additional information and example.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- maxim,max14577-regulator
|
||||
- maxim,max77836-regulator
|
||||
|
||||
CHARGER:
|
||||
type: object
|
||||
$ref: regulator.yaml#
|
||||
unevaluatedProperties: false
|
||||
description: |
|
||||
Current regulator.
|
||||
|
||||
properties:
|
||||
regulator-min-microvolt: false
|
||||
regulator-max-microvolt: false
|
||||
|
||||
SAFEOUT:
|
||||
type: object
|
||||
$ref: regulator.yaml#
|
||||
unevaluatedProperties: false
|
||||
description: |
|
||||
Safeout LDO regulator (fixed voltage).
|
||||
|
||||
properties:
|
||||
regulator-min-microamp: false
|
||||
regulator-max-microamp: false
|
||||
regulator-min-microvolt:
|
||||
const: 4900000
|
||||
regulator-max-microvolt:
|
||||
const: 4900000
|
||||
|
||||
patternProperties:
|
||||
"^LDO[12]$":
|
||||
type: object
|
||||
$ref: regulator.yaml#
|
||||
unevaluatedProperties: false
|
||||
description: |
|
||||
Current regulator.
|
||||
|
||||
properties:
|
||||
regulator-min-microamp: false
|
||||
regulator-max-microamp: false
|
||||
regulator-min-microvolt:
|
||||
minimum: 800000
|
||||
regulator-max-microvolt:
|
||||
maximum: 3950000
|
||||
|
||||
allOf:
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
const: maxim,max14577-regulator
|
||||
then:
|
||||
properties:
|
||||
LDO1: false
|
||||
LDO2: false
|
||||
|
||||
additionalProperties: false
|
106
bindings/regulator/maxim,max20086.yaml
Normal file
106
bindings/regulator/maxim,max20086.yaml
Normal file
@@ -0,0 +1,106 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/regulator/maxim,max20086.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Maxim Integrated MAX20086-MAX20089 Camera Power Protector
|
||||
|
||||
maintainers:
|
||||
- Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
||||
|
||||
description: |
|
||||
The MAX20086-MAX20089 are dual/quad camera power protectors, designed to
|
||||
deliver power over coax for radar and camera modules. They support
|
||||
software-configurable output switching and monitoring. The output voltage and
|
||||
current limit are fixed by the hardware design.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- maxim,max20086
|
||||
- maxim,max20087
|
||||
- maxim,max20088
|
||||
- maxim,max20089
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
enable-gpios:
|
||||
maxItems: 1
|
||||
description: GPIO connected to the EN pin, active high
|
||||
|
||||
in-supply:
|
||||
description: Input supply for the camera outputs (IN pin, 3.0V to 15.0V)
|
||||
|
||||
vdd-supply:
|
||||
description: Input supply for the device (VDD pin, 3.0V to 5.5V)
|
||||
|
||||
regulators:
|
||||
type: object
|
||||
|
||||
patternProperties:
|
||||
"^OUT[1-4]$":
|
||||
type: object
|
||||
$ref: regulator.yaml#
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- in-supply
|
||||
- vdd-supply
|
||||
- regulators
|
||||
|
||||
allOf:
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- maxim,max20088
|
||||
- maxim,max20089
|
||||
then:
|
||||
properties:
|
||||
regulators:
|
||||
properties:
|
||||
OUT3: false
|
||||
OUT4: false
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
regulator@28 {
|
||||
compatible = "maxim,max20087";
|
||||
reg = <0x28>;
|
||||
|
||||
in-supply = <®_12v0>;
|
||||
vdd-supply = <®_3v3>;
|
||||
|
||||
enable-gpios = <&gpio 108 GPIO_ACTIVE_HIGH>;
|
||||
|
||||
regulators {
|
||||
OUT1 {
|
||||
regulator-name = "VOUT1";
|
||||
};
|
||||
OUT2 {
|
||||
regulator-name = "VOUT2";
|
||||
};
|
||||
OUT3 {
|
||||
regulator-name = "VOUT3";
|
||||
};
|
||||
OUT4 {
|
||||
regulator-name = "VOUT4";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
...
|
83
bindings/regulator/maxim,max77686.yaml
Normal file
83
bindings/regulator/maxim,max77686.yaml
Normal file
@@ -0,0 +1,83 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/regulator/maxim,max77686.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Maxim MAX77686 Power Management IC regulators
|
||||
|
||||
maintainers:
|
||||
- Chanwoo Choi <cw00.choi@samsung.com>
|
||||
- Krzysztof Kozlowski <krzk@kernel.org>
|
||||
|
||||
description: |
|
||||
This is a part of device tree bindings for Maxim MAX77686 Power Management
|
||||
Integrated Circuit (PMIC).
|
||||
|
||||
The Maxim MAX77686 provides high-efficiency Buck and 26 Low-DropOut (LDO)
|
||||
regulators.
|
||||
|
||||
See also Documentation/devicetree/bindings/mfd/maxim,max77686.yaml for
|
||||
additional information and example.
|
||||
|
||||
patternProperties:
|
||||
# 26 LDOs
|
||||
"^LDO([1-9]|1[0-9]|2[3-6])$":
|
||||
type: object
|
||||
$ref: regulator.yaml#
|
||||
unevaluatedProperties: false
|
||||
description: |
|
||||
Properties for single LDO regulator.
|
||||
Regulators which can be turned off during system suspend:
|
||||
LDO2, LDO6-8, LDO10-12, LDO14-16
|
||||
|
||||
required:
|
||||
- regulator-name
|
||||
|
||||
# LDO20-LDO22 with maxim,ena-gpios
|
||||
"^LDO2[0-2]$":
|
||||
type: object
|
||||
$ref: regulator.yaml#
|
||||
unevaluatedProperties: false
|
||||
description: |
|
||||
Properties for single LDO regulator.
|
||||
|
||||
properties:
|
||||
maxim,ena-gpios:
|
||||
maxItems: 1
|
||||
description: |
|
||||
GPIO specifier to enable the GPIO control (on/off) for regulator.
|
||||
|
||||
required:
|
||||
- regulator-name
|
||||
|
||||
# 9 bucks
|
||||
"^BUCK[1-7]$":
|
||||
type: object
|
||||
$ref: regulator.yaml#
|
||||
unevaluatedProperties: false
|
||||
description: |
|
||||
Properties for single BUCK regulator.
|
||||
Regulators which can be turned off during system suspend:
|
||||
BUCK[1-4]
|
||||
|
||||
required:
|
||||
- regulator-name
|
||||
|
||||
"^BUCK[89]$":
|
||||
type: object
|
||||
$ref: regulator.yaml#
|
||||
unevaluatedProperties: false
|
||||
description: |
|
||||
Properties for single BUCK regulator.
|
||||
|
||||
properties:
|
||||
maxim,ena-gpios:
|
||||
maxItems: 1
|
||||
description: |
|
||||
GPIO specifier to enable the GPIO control (on/off) for regulator.
|
||||
|
||||
required:
|
||||
- regulator-name
|
||||
|
||||
additionalProperties: false
|
60
bindings/regulator/maxim,max77693.yaml
Normal file
60
bindings/regulator/maxim,max77693.yaml
Normal file
@@ -0,0 +1,60 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/regulator/maxim,max77693.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Maxim MAX77693 MicroUSB and Companion Power Management IC regulators
|
||||
|
||||
maintainers:
|
||||
- Chanwoo Choi <cw00.choi@samsung.com>
|
||||
- Krzysztof Kozlowski <krzk@kernel.org>
|
||||
|
||||
description: |
|
||||
This is a part of device tree bindings for Maxim MAX77693 MicroUSB Integrated
|
||||
Circuit (MUIC).
|
||||
|
||||
See also Documentation/devicetree/bindings/mfd/maxim,max77693.yaml for
|
||||
additional information and example.
|
||||
|
||||
properties:
|
||||
CHARGER:
|
||||
type: object
|
||||
$ref: regulator.yaml#
|
||||
additionalProperties: false
|
||||
description: |
|
||||
Current regulator.
|
||||
|
||||
properties:
|
||||
regulator-name: true
|
||||
regulator-always-on: true
|
||||
regulator-boot-on: true
|
||||
regulator-min-microamp:
|
||||
minimum: 60000
|
||||
regulator-max-microamp:
|
||||
maximum: 2580000
|
||||
|
||||
required:
|
||||
- regulator-name
|
||||
|
||||
patternProperties:
|
||||
"^ESAFEOUT[12]$":
|
||||
type: object
|
||||
$ref: regulator.yaml#
|
||||
additionalProperties: false
|
||||
description: |
|
||||
Safeout LDO regulator.
|
||||
|
||||
properties:
|
||||
regulator-name: true
|
||||
regulator-always-on: true
|
||||
regulator-boot-on: true
|
||||
regulator-min-microvolt:
|
||||
minimum: 3300000
|
||||
regulator-max-microvolt:
|
||||
maximum: 4950000
|
||||
|
||||
required:
|
||||
- regulator-name
|
||||
|
||||
additionalProperties: false
|
86
bindings/regulator/maxim,max77802.yaml
Normal file
86
bindings/regulator/maxim,max77802.yaml
Normal file
@@ -0,0 +1,86 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/regulator/maxim,max77802.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Maxim MAX77802 Power Management IC regulators
|
||||
|
||||
maintainers:
|
||||
- Javier Martinez Canillas <javier@dowhile0.org>
|
||||
- Krzysztof Kozlowski <krzk@kernel.org>
|
||||
|
||||
description: |
|
||||
This is a part of device tree bindings for Maxim MAX77802 Power Management
|
||||
Integrated Circuit (PMIC).
|
||||
|
||||
The Maxim MAX77686 provides 10 high-efficiency Buck and 32 Low-DropOut (LDO)
|
||||
regulators.
|
||||
|
||||
See also Documentation/devicetree/bindings/mfd/maxim,max77802.yaml for
|
||||
additional information and example.
|
||||
|
||||
Certain regulators support "regulator-initial-mode" and "regulator-mode".
|
||||
The valid modes list is defined in the dt-bindings/regulator/maxim,max77802.h
|
||||
and their meaning is::
|
||||
1 - Normal regulator voltage output mode.
|
||||
3 - Low Power which reduces the quiescent current down to only 1uA
|
||||
|
||||
The standard "regulator-mode" property can only be used for regulators that
|
||||
support changing their mode to Low Power Mode during suspend. These
|
||||
regulators are:: bucks 2-4 and LDOs 1-35. Also, it only takes effect if the
|
||||
regulator has been enabled for the given suspend state using
|
||||
"regulator-on-in-suspend" and has not been disabled for that state using
|
||||
"regulator-off-in-suspend".
|
||||
|
||||
patternProperties:
|
||||
# LDO1, LDO3, LDO20, LDO21
|
||||
"^LDO([13]|2[01])$":
|
||||
type: object
|
||||
$ref: regulator.yaml#
|
||||
unevaluatedProperties: false
|
||||
description:
|
||||
LDOs supporting the regulator-initial-mode property and changing their
|
||||
mode during normal operation.
|
||||
|
||||
# LDO2, LDO4-15, LDO17-19, LDO23-30, LDO32-35
|
||||
"^LDO([24-9]|1[0-5789]|2[3-9]|3[02345])$":
|
||||
type: object
|
||||
$ref: regulator.yaml#
|
||||
unevaluatedProperties: false
|
||||
description:
|
||||
LDOs supporting the regulator-mode property (changing mode to Low Power
|
||||
Mode during suspend).
|
||||
|
||||
properties:
|
||||
regulator-initial-mode: false
|
||||
|
||||
# buck2-4
|
||||
"^BUCK[2-4]$":
|
||||
type: object
|
||||
$ref: regulator.yaml#
|
||||
unevaluatedProperties: false
|
||||
description:
|
||||
bucks supporting the regulator-mode property (changing mode to Low Power
|
||||
Mode during suspend).
|
||||
|
||||
properties:
|
||||
regulator-initial-mode: false
|
||||
|
||||
# buck1, buck5-10
|
||||
"^BUCK([15-9]|10)$":
|
||||
type: object
|
||||
$ref: regulator.yaml#
|
||||
unevaluatedProperties: false
|
||||
|
||||
properties:
|
||||
regulator-initial-mode: false
|
||||
|
||||
patternProperties:
|
||||
regulator-state-(standby|mem|disk):
|
||||
type: object
|
||||
additionalProperties: true
|
||||
properties:
|
||||
regulator-mode: false
|
||||
|
||||
additionalProperties: false
|
65
bindings/regulator/maxim,max77826.yaml
Normal file
65
bindings/regulator/maxim,max77826.yaml
Normal file
@@ -0,0 +1,65 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/regulator/maxim,max77826.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Maxim Integrated MAX77826 PMIC
|
||||
|
||||
maintainers:
|
||||
- Iskren Chernev <iskren.chernev@gmail.com>
|
||||
|
||||
properties:
|
||||
$nodename:
|
||||
pattern: "pmic@[0-9a-f]{1,2}"
|
||||
compatible:
|
||||
enum:
|
||||
- maxim,max77826
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
regulators:
|
||||
type: object
|
||||
$ref: regulator.yaml#
|
||||
description: |
|
||||
list of regulators provided by this controller, must be named
|
||||
after their hardware counterparts LDO[1-15], BUCK and BUCKBOOST
|
||||
|
||||
patternProperties:
|
||||
"^LDO([1-9]|1[0-5])$":
|
||||
type: object
|
||||
$ref: regulator.yaml#
|
||||
|
||||
"^BUCK|BUCKBOOST$":
|
||||
type: object
|
||||
$ref: regulator.yaml#
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- regulators
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
pmic@69 {
|
||||
compatible = "maxim,max77826";
|
||||
reg = <0x69>;
|
||||
|
||||
regulators {
|
||||
LDO2 {
|
||||
regulator-min-microvolt = <650000>;
|
||||
regulator-max-microvolt = <3587500>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
...
|
65
bindings/regulator/maxim,max77843.yaml
Normal file
65
bindings/regulator/maxim,max77843.yaml
Normal file
@@ -0,0 +1,65 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/regulator/maxim,max77843.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Maxim MAX77843 MicroUSB and Companion Power Management IC regulators
|
||||
|
||||
maintainers:
|
||||
- Krzysztof Kozlowski <krzk@kernel.org>
|
||||
|
||||
description: |
|
||||
This is a part of device tree bindings for Maxim MAX77843 MicroUSB Integrated
|
||||
Circuit (MUIC).
|
||||
|
||||
See also Documentation/devicetree/bindings/mfd/maxim,max77843.yaml for
|
||||
additional information and example.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: maxim,max77843-regulator
|
||||
|
||||
CHARGER:
|
||||
type: object
|
||||
$ref: regulator.yaml#
|
||||
additionalProperties: false
|
||||
description: |
|
||||
Current regulator.
|
||||
|
||||
properties:
|
||||
regulator-name: true
|
||||
regulator-always-on: true
|
||||
regulator-boot-on: true
|
||||
regulator-min-microamp:
|
||||
minimum: 100000
|
||||
regulator-max-microamp:
|
||||
maximum: 3150000
|
||||
|
||||
required:
|
||||
- regulator-name
|
||||
|
||||
patternProperties:
|
||||
"^SAFEOUT[12]$":
|
||||
type: object
|
||||
$ref: regulator.yaml#
|
||||
additionalProperties: false
|
||||
description: |
|
||||
Safeout LDO regulator.
|
||||
|
||||
properties:
|
||||
regulator-name: true
|
||||
regulator-always-on: true
|
||||
regulator-boot-on: true
|
||||
regulator-min-microvolt:
|
||||
minimum: 3300000
|
||||
regulator-max-microvolt:
|
||||
maximum: 4950000
|
||||
|
||||
required:
|
||||
- regulator-name
|
||||
|
||||
required:
|
||||
- compatible
|
||||
|
||||
additionalProperties: false
|
109
bindings/regulator/maxim,max8952.yaml
Normal file
109
bindings/regulator/maxim,max8952.yaml
Normal file
@@ -0,0 +1,109 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/regulator/maxim,max8952.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Maxim MAX8952 voltage regulator
|
||||
|
||||
maintainers:
|
||||
- Krzysztof Kozlowski <krzk@kernel.org>
|
||||
|
||||
allOf:
|
||||
- $ref: regulator.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: maxim,max8952
|
||||
|
||||
max8952,default-mode:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
enum: [0, 1, 2, 3]
|
||||
description: |
|
||||
index of default DVS voltage
|
||||
|
||||
max8952,dvs-mode-microvolt:
|
||||
minItems: 4
|
||||
maxItems: 4
|
||||
items:
|
||||
minimum: 770000
|
||||
maximum: 1400000
|
||||
description: |
|
||||
Array of 4 integer values defining DVS voltages in microvolts. All values
|
||||
must be from range <770000, 1400000>.
|
||||
|
||||
max8952,en-gpio:
|
||||
maxItems: 1
|
||||
description: |
|
||||
GPIO used to control enable status of regulator
|
||||
|
||||
max8952,ramp-speed:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
enum: [0, 1, 2, 3, 4, 5, 6, 7]
|
||||
default: 0
|
||||
description: |
|
||||
Voltage ramp speed, values map to:
|
||||
- 0: 32mV/us
|
||||
- 1: 16mV/us
|
||||
- 2: 8mV/us
|
||||
- 3: 4mV/us
|
||||
- 4: 2mV/us
|
||||
- 5: 1mV/us
|
||||
- 6: 0.5mV/us
|
||||
- 7: 0.25mV/us
|
||||
Defaults to 32mV/us if not specified.
|
||||
|
||||
max8952,sync-freq:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
enum: [0, 1, 2]
|
||||
default: 0
|
||||
description: |
|
||||
Sync frequency, values map to:
|
||||
- 0: 26 MHz
|
||||
- 1: 13 MHz
|
||||
- 2: 19.2 MHz
|
||||
Defaults to 26 MHz if not specified.
|
||||
|
||||
max8952,vid-gpios:
|
||||
minItems: 2
|
||||
maxItems: 2
|
||||
description: |
|
||||
Array of two GPIO pins used for DVS voltage selection
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- max8952,dvs-mode-microvolt
|
||||
- reg
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
pmic@60 {
|
||||
compatible = "maxim,max8952";
|
||||
reg = <0x60>;
|
||||
|
||||
max8952,vid-gpios = <&gpx0 3 GPIO_ACTIVE_HIGH>,
|
||||
<&gpx0 4 GPIO_ACTIVE_HIGH>;
|
||||
max8952,default-mode = <0>;
|
||||
max8952,dvs-mode-microvolt = <1250000>, <1200000>,
|
||||
<1050000>, <950000>;
|
||||
max8952,sync-freq = <0>;
|
||||
max8952,ramp-speed = <0>;
|
||||
|
||||
regulator-name = "VARM_1.2V_C210";
|
||||
regulator-min-microvolt = <770000>;
|
||||
regulator-max-microvolt = <1400000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
};
|
141
bindings/regulator/maxim,max8973.yaml
Normal file
141
bindings/regulator/maxim,max8973.yaml
Normal file
@@ -0,0 +1,141 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/regulator/maxim,max8973.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Maxim MAX8973/MAX77621 voltage regulator
|
||||
|
||||
maintainers:
|
||||
- Krzysztof Kozlowski <krzk@kernel.org>
|
||||
|
||||
allOf:
|
||||
- $ref: regulator.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- maxim,max8973
|
||||
- maxim,max77621
|
||||
|
||||
junction-warn-millicelsius:
|
||||
description: |
|
||||
Junction warning temperature threshold in millicelsius. If die
|
||||
temperature crosses this level then device generates the warning
|
||||
interrupts.
|
||||
Please note that thermal functionality is only supported on MAX77621. The
|
||||
supported threshold warning temperature for MAX77621 are 120 degC and 140
|
||||
degC.
|
||||
|
||||
maxim,dvs-gpio:
|
||||
maxItems: 1
|
||||
description: |
|
||||
GPIO which is connected to DVS pin of device.
|
||||
|
||||
maxim,dvs-default-state:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
enum: [0, 1]
|
||||
description: |
|
||||
Default state of GPIO during initialisation.
|
||||
1 for HIGH and 0 for LOW.
|
||||
|
||||
maxim,externally-enable:
|
||||
type: boolean
|
||||
description: |
|
||||
Externally control the regulator output enable/disable.
|
||||
|
||||
maxim,enable-gpio:
|
||||
maxItems: 1
|
||||
description: |
|
||||
GPIO for enable control. If the valid GPIO is provided then externally
|
||||
enable control will be considered.
|
||||
|
||||
maxim,enable-remote-sense:
|
||||
type: boolean
|
||||
description: Enable remote sense.
|
||||
|
||||
maxim,enable-falling-slew-rate:
|
||||
type: boolean
|
||||
description: Enable falling slew rate.
|
||||
|
||||
maxim,enable-active-discharge:
|
||||
type: boolean
|
||||
description: Eable active discharge.
|
||||
|
||||
maxim,enable-frequency-shift:
|
||||
type: boolean
|
||||
description: Enable 9% frequency shift.
|
||||
|
||||
maxim,enable-bias-control:
|
||||
type: boolean
|
||||
description: |
|
||||
Enable bias control which can reduce the startup delay to 20us from 220us.
|
||||
|
||||
maxim,enable-etr:
|
||||
type: boolean
|
||||
description: Enable Enhanced Transient Response.
|
||||
|
||||
maxim,enable-high-etr-sensitivity:
|
||||
type: boolean
|
||||
description: |
|
||||
Enhanced transient response circuit is enabled and set for high
|
||||
sensitivity. If this property is available then etr will be enable
|
||||
default.
|
||||
Enhanced transient response (ETR) will affect the configuration of CKADV.
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
regulator@1b {
|
||||
compatible = "maxim,max8973";
|
||||
reg = <0x1b>;
|
||||
|
||||
regulator-min-microvolt = <935000>;
|
||||
regulator-max-microvolt = <1200000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
};
|
||||
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
regulator@1b {
|
||||
compatible = "maxim,max77621";
|
||||
reg = <0x1b>;
|
||||
interrupts = <1 IRQ_TYPE_LEVEL_LOW>;
|
||||
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <800000>;
|
||||
regulator-max-microvolt = <1231250>;
|
||||
regulator-name = "PPVAR_CPU";
|
||||
regulator-ramp-delay = <12500>;
|
||||
maxim,dvs-default-state = <1>;
|
||||
maxim,enable-active-discharge;
|
||||
maxim,enable-bias-control;
|
||||
maxim,enable-etr;
|
||||
maxim,enable-gpio = <&pmic 5 GPIO_ACTIVE_HIGH>;
|
||||
maxim,externally-enable;
|
||||
};
|
||||
};
|
446
bindings/regulator/maxim,max8997.yaml
Normal file
446
bindings/regulator/maxim,max8997.yaml
Normal file
@@ -0,0 +1,446 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/regulator/maxim,max8997.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Maxim MAX8997 Power Management IC
|
||||
|
||||
maintainers:
|
||||
- Krzysztof Kozlowski <krzk@kernel.org>
|
||||
|
||||
description: |
|
||||
The Maxim MAX8997 is a Power Management IC which includes voltage and current
|
||||
regulators, charger controller with fuel gauge, RTC, clock outputs, haptic
|
||||
motor driver, flash LED driver and Micro-USB Interface Controller.
|
||||
|
||||
The binding here is not complete and describes only regulator and charger
|
||||
controller parts.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: maxim,max8997-pmic
|
||||
|
||||
charger-supply:
|
||||
description: |
|
||||
Regulator node for charging current.
|
||||
|
||||
interrupts:
|
||||
items:
|
||||
- description: irq1 interrupt
|
||||
- description: alert interrupt
|
||||
|
||||
max8997,pmic-buck1-dvs-voltage:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32-array
|
||||
minItems: 1
|
||||
maxItems: 8
|
||||
description: |
|
||||
A set of 8 voltage values in micro-volt (uV) units for buck1 when
|
||||
changing voltage using GPIO DVS.
|
||||
If none of max8997,pmic-buck[1/2/5]-uses-gpio-dvs optional property is
|
||||
specified, the max8997,pmic-buck[1/2/5]-dvs-voltage property should
|
||||
specify at least one voltage level (which would be a safe operating
|
||||
voltage).
|
||||
|
||||
max8997,pmic-buck2-dvs-voltage:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32-array
|
||||
minItems: 1
|
||||
maxItems: 8
|
||||
description: |
|
||||
A set of 8 voltage values in micro-volt (uV) units for buck2 when
|
||||
changing voltage using GPIO DVS.
|
||||
If none of max8997,pmic-buck[1/2/5]-uses-gpio-dvs optional property is
|
||||
specified, the max8997,pmic-buck[1/2/5]-dvs-voltage property should
|
||||
specify at least one voltage level (which would be a safe operating
|
||||
voltage).
|
||||
|
||||
max8997,pmic-buck5-dvs-voltage:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32-array
|
||||
minItems: 1
|
||||
maxItems: 8
|
||||
description: |
|
||||
A set of 8 voltage values in micro-volt (uV) units for buck5 when
|
||||
changing voltage using GPIO DVS.
|
||||
If none of max8997,pmic-buck[1/2/5]-uses-gpio-dvs optional property is
|
||||
specified, the max8997,pmic-buck[1/2/5]-dvs-voltage property should
|
||||
specify at least one voltage level (which would be a safe operating
|
||||
voltage).
|
||||
|
||||
max8997,pmic-buck1-uses-gpio-dvs:
|
||||
type: boolean
|
||||
description: |
|
||||
buck1 can be controlled by GPIO DVS.
|
||||
|
||||
max8997,pmic-buck2-uses-gpio-dvs:
|
||||
type: boolean
|
||||
description: |
|
||||
buck2 can be controlled by GPIO DVS.
|
||||
|
||||
max8997,pmic-buck5-uses-gpio-dvs:
|
||||
type: boolean
|
||||
description: |
|
||||
buck5 can be controlled by GPIO DVS.
|
||||
|
||||
max8997,pmic-buck125-default-dvs-idx:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
minimum: 0
|
||||
maximum: 7
|
||||
default: 0
|
||||
description: |
|
||||
Default voltage setting selected from the possible 8 options selectable
|
||||
by the dvs gpios. The value of this property should be between 0 and 7.
|
||||
If not specified or if out of range, the default value of this property
|
||||
is set to 0.
|
||||
|
||||
max8997,pmic-buck125-dvs-gpios:
|
||||
minItems: 3
|
||||
maxItems: 3
|
||||
description: |
|
||||
GPIO specifiers for three host gpio's used for DVS.
|
||||
|
||||
max8997,pmic-ignore-gpiodvs-side-effect:
|
||||
type: boolean
|
||||
description: |
|
||||
When GPIO-DVS mode is used for multiple bucks, changing the voltage value
|
||||
of one of the bucks may affect that of another buck, which is the side
|
||||
effect of the change (set_voltage). Use this property to ignore such
|
||||
side effects and change the voltage.
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
regulators:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
description:
|
||||
List of child nodes that specify the regulators.
|
||||
|
||||
patternProperties:
|
||||
# 1-18 and 21 LDOs
|
||||
"^LDO([1-9]|1[0-8]|21)$":
|
||||
type: object
|
||||
$ref: regulator.yaml#
|
||||
description:
|
||||
Properties for single LDO regulator.
|
||||
|
||||
properties:
|
||||
regulator-name: true
|
||||
|
||||
required:
|
||||
- regulator-name
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
# 7 bucks
|
||||
"^BUCK[1-7]$":
|
||||
type: object
|
||||
$ref: regulator.yaml#
|
||||
description:
|
||||
Properties for single BUCK regulator.
|
||||
|
||||
properties:
|
||||
regulator-name: true
|
||||
|
||||
required:
|
||||
- regulator-name
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
"^EN32KHZ_[AC]P$":
|
||||
type: object
|
||||
$ref: regulator.yaml#
|
||||
description:
|
||||
32768 Hz clock output (modelled as regulator)
|
||||
|
||||
properties:
|
||||
regulator-name: true
|
||||
regulator-always-on: true
|
||||
regulator-boot-on: true
|
||||
|
||||
required:
|
||||
- regulator-name
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
properties:
|
||||
CHARGER:
|
||||
type: object
|
||||
$ref: regulator.yaml#
|
||||
description: main battery charger current control
|
||||
|
||||
properties:
|
||||
regulator-name: true
|
||||
|
||||
required:
|
||||
- regulator-name
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
CHARGER_CV:
|
||||
type: object
|
||||
$ref: regulator.yaml#
|
||||
description: main battery charger voltage control
|
||||
|
||||
properties:
|
||||
regulator-name: true
|
||||
|
||||
required:
|
||||
- regulator-name
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
CHARGER_TOPOFF:
|
||||
type: object
|
||||
$ref: regulator.yaml#
|
||||
description: end of charge current threshold level
|
||||
|
||||
properties:
|
||||
regulator-name: true
|
||||
|
||||
required:
|
||||
- regulator-name
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
ENVICHG:
|
||||
type: object
|
||||
$ref: regulator.yaml#
|
||||
description: |
|
||||
Battery Charging Current Monitor Output. This is a fixed voltage type
|
||||
regulator
|
||||
properties:
|
||||
regulator-name: true
|
||||
|
||||
required:
|
||||
- regulator-name
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
ESAFEOUT1:
|
||||
type: object
|
||||
$ref: regulator.yaml#
|
||||
description: LDO19
|
||||
|
||||
properties:
|
||||
regulator-name: true
|
||||
|
||||
required:
|
||||
- regulator-name
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
ESAFEOUT2:
|
||||
type: object
|
||||
$ref: regulator.yaml#
|
||||
description: LDO20
|
||||
|
||||
properties:
|
||||
regulator-name: true
|
||||
|
||||
required:
|
||||
- regulator-name
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- max8997,pmic-buck1-dvs-voltage
|
||||
- max8997,pmic-buck2-dvs-voltage
|
||||
- max8997,pmic-buck5-dvs-voltage
|
||||
- reg
|
||||
- regulators
|
||||
|
||||
dependencies:
|
||||
max8997,pmic-buck1-uses-gpio-dvs: [ 'max8997,pmic-buck125-dvs-gpios' ]
|
||||
max8997,pmic-buck2-uses-gpio-dvs: [ 'max8997,pmic-buck125-dvs-gpios' ]
|
||||
max8997,pmic-buck5-uses-gpio-dvs: [ 'max8997,pmic-buck125-dvs-gpios' ]
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
if:
|
||||
anyOf:
|
||||
- required:
|
||||
- max8997,pmic-buck1-uses-gpio-dvs
|
||||
- required:
|
||||
- max8997,pmic-buck2-uses-gpio-dvs
|
||||
- required:
|
||||
- max8997,pmic-buck5-uses-gpio-dvs
|
||||
then:
|
||||
properties:
|
||||
max8997,pmic-buck1-dvs-voltage:
|
||||
minItems: 8
|
||||
maxItems: 8
|
||||
max8997,pmic-buck2-dvs-voltage:
|
||||
minItems: 8
|
||||
maxItems: 8
|
||||
max8997,pmic-buck5-dvs-voltage:
|
||||
minItems: 8
|
||||
maxItems: 8
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
pmic@66 {
|
||||
compatible = "maxim,max8997-pmic";
|
||||
reg = <0x66>;
|
||||
|
||||
interrupts-extended = <&gpx0 7 IRQ_TYPE_LEVEL_LOW>,
|
||||
<&gpx2 3 IRQ_TYPE_EDGE_FALLING>;
|
||||
|
||||
max8997,pmic-buck1-uses-gpio-dvs;
|
||||
max8997,pmic-buck2-uses-gpio-dvs;
|
||||
max8997,pmic-buck5-uses-gpio-dvs;
|
||||
|
||||
max8997,pmic-ignore-gpiodvs-side-effect;
|
||||
max8997,pmic-buck125-default-dvs-idx = <0>;
|
||||
|
||||
max8997,pmic-buck125-dvs-gpios = <&gpx0 5 GPIO_ACTIVE_HIGH>,
|
||||
<&gpx0 6 GPIO_ACTIVE_HIGH>,
|
||||
<&gpl0 0 GPIO_ACTIVE_HIGH>;
|
||||
|
||||
max8997,pmic-buck1-dvs-voltage = <1350000>, <1300000>,
|
||||
<1250000>, <1200000>,
|
||||
<1150000>, <1100000>,
|
||||
<1000000>, <950000>;
|
||||
|
||||
max8997,pmic-buck2-dvs-voltage = <1100000>, <1000000>,
|
||||
<950000>, <900000>,
|
||||
<1100000>, <1000000>,
|
||||
<950000>, <900000>;
|
||||
|
||||
max8997,pmic-buck5-dvs-voltage = <1200000>, <1200000>,
|
||||
<1200000>, <1200000>,
|
||||
<1200000>, <1200000>,
|
||||
<1200000>, <1200000>;
|
||||
|
||||
pinctrl-0 = <&max8997_irq>, <&otg_gp>, <&usb_sel>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
charger-supply = <&charger_reg>;
|
||||
|
||||
regulators {
|
||||
LDO1 {
|
||||
regulator-name = "VADC_3.3V_C210";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
LDO2 {
|
||||
regulator-name = "VALIVE_1.1V_C210";
|
||||
regulator-min-microvolt = <1100000>;
|
||||
regulator-max-microvolt = <1100000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
BUCK1 {
|
||||
regulator-name = "VARM_1.2V_C210";
|
||||
regulator-min-microvolt = <65000>;
|
||||
regulator-max-microvolt = <2225000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
// ...
|
||||
|
||||
BUCK7 {
|
||||
regulator-name = "VCC_SUB_2.0V";
|
||||
regulator-min-microvolt = <2000000>;
|
||||
regulator-max-microvolt = <2000000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
ESAFEOUT1 {
|
||||
regulator-name = "SAFEOUT1";
|
||||
};
|
||||
|
||||
ESAFEOUT2 {
|
||||
regulator-name = "SAFEOUT2";
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
EN32KHZ_AP {
|
||||
regulator-name = "EN32KHZ_AP";
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
EN32KHZ_CP {
|
||||
regulator-name = "EN32KHZ_CP";
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
CHARGER {
|
||||
regulator-name = "CHARGER";
|
||||
regulator-min-microamp = <200000>;
|
||||
regulator-max-microamp = <950000>;
|
||||
};
|
||||
|
||||
CHARGER_CV {
|
||||
regulator-name = "CHARGER_CV";
|
||||
regulator-min-microvolt = <4200000>;
|
||||
regulator-max-microvolt = <4200000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
CHARGER_TOPOFF {
|
||||
regulator-name = "CHARGER_TOPOFF";
|
||||
regulator-min-microamp = <200000>;
|
||||
regulator-max-microamp = <200000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
- |
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
pmic@66 {
|
||||
compatible = "maxim,max8997-pmic";
|
||||
reg = <0x66>;
|
||||
|
||||
interrupt-parent = <&gpx0>;
|
||||
interrupts = <4 IRQ_TYPE_LEVEL_LOW>,
|
||||
<3 IRQ_TYPE_EDGE_FALLING>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&max8997_irq>;
|
||||
|
||||
max8997,pmic-buck1-dvs-voltage = <1350000>;
|
||||
max8997,pmic-buck2-dvs-voltage = <1100000>;
|
||||
max8997,pmic-buck5-dvs-voltage = <1200000>;
|
||||
|
||||
regulators {
|
||||
LDO1 {
|
||||
regulator-name = "VDD_ABB_3.3V";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
|
||||
// ...
|
||||
|
||||
BUCK1 {
|
||||
regulator-name = "VDD_ARM_1.2V";
|
||||
regulator-min-microvolt = <950000>;
|
||||
regulator-max-microvolt = <1350000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
// ...
|
||||
|
||||
EN32KHZ_AP {
|
||||
regulator-name = "EN32KHZ_AP";
|
||||
regulator-always-on;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
144
bindings/regulator/mcp16502-regulator.txt
Normal file
144
bindings/regulator/mcp16502-regulator.txt
Normal file
@@ -0,0 +1,144 @@
|
||||
MCP16502 PMIC
|
||||
|
||||
Required properties:
|
||||
- compatible: "microchip,mcp16502"
|
||||
- reg: I2C slave address
|
||||
- lpm-gpios: GPIO for LPM pin. Note that this GPIO *must* remain high during
|
||||
suspend-to-ram, keeping the PMIC into HIBERNATE mode; this
|
||||
property is optional;
|
||||
- regulators: A node that houses a sub-node for each regulator within
|
||||
the device. Each sub-node is identified using the node's
|
||||
name. The content of each sub-node is defined by the
|
||||
standard binding for regulators; see regulator.txt.
|
||||
|
||||
Regulators of MCP16502 PMIC:
|
||||
1) VDD_IO - Buck (1.2 - 3.7 V)
|
||||
2) VDD_DDR - Buck (0.6 - 1.85 V)
|
||||
3) VDD_CORE - Buck (0.6 - 1.85 V)
|
||||
4) VDD_OTHER - BUCK (0.6 - 1.85 V)
|
||||
5) LDO1 - LDO (1.2 - 3.7 V)
|
||||
6) LDO2 - LDO (1.2 - 3.7 V)
|
||||
|
||||
Regulator modes:
|
||||
2 - FPWM: higher precision, higher consumption
|
||||
4 - AutoPFM: lower precision, lower consumption
|
||||
|
||||
Each regulator is defined using the standard binding for regulators.
|
||||
|
||||
Example:
|
||||
|
||||
mcp16502@5b {
|
||||
compatible = "microchip,mcp16502";
|
||||
reg = <0x5b>;
|
||||
status = "okay";
|
||||
lpm-gpios = <&pioBU 7 GPIO_ACTIVE_HIGH>;
|
||||
|
||||
regulators {
|
||||
VDD_IO {
|
||||
regulator-name = "VDD_IO";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <3700000>;
|
||||
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 = <600000>;
|
||||
regulator-max-microvolt = <1850000>;
|
||||
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 = <600000>;
|
||||
regulator-max-microvolt = <1850000>;
|
||||
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 = <600000>;
|
||||
regulator-max-microvolt = <1850000>;
|
||||
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 = <1200000>;
|
||||
regulator-max-microvolt = <3700000>;
|
||||
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;
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
};
|
273
bindings/regulator/mediatek,mt6331-regulator.yaml
Normal file
273
bindings/regulator/mediatek,mt6331-regulator.yaml
Normal file
@@ -0,0 +1,273 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/regulator/mediatek,mt6331-regulator.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: MT6331 Regulator from MediaTek Integrated
|
||||
|
||||
maintainers:
|
||||
- AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
|
||||
|
||||
description: |
|
||||
The MT6331 PMIC provides 6 BUCK and 21 LDO (Low Dropout) regulators
|
||||
and nodes are named according to the regulator type:
|
||||
buck-<name> and ldo-<name>.
|
||||
MT6331 regulators node should be sub node of the MT6397 MFD node.
|
||||
|
||||
patternProperties:
|
||||
"^buck-v(core2|io18|dvfs11|dvfs12|dvfs13|dvfs14)$":
|
||||
type: object
|
||||
$ref: "regulator.yaml#"
|
||||
|
||||
properties:
|
||||
regulator-name:
|
||||
pattern: "^v(core2|io18|dvfs11|dvfs12|dvfs13|dvfs14)$"
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
"^ldo-v(avdd32aud|auxa32)$":
|
||||
type: object
|
||||
$ref: "regulator.yaml#"
|
||||
|
||||
properties:
|
||||
regulator-name:
|
||||
pattern: "^v(avdd32aud|auxa32)$"
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
"^ldo-v(dig18|emc33|ibr|mc|mch|mipi|rtc|sram|usb10)$":
|
||||
type: object
|
||||
$ref: "regulator.yaml#"
|
||||
|
||||
properties:
|
||||
regulator-name:
|
||||
pattern: "^v(dig18|emc33|ibr|mc|mch|mipi|rtc|sram|usb10)$"
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
"^ldo-vcam(a|af|d|io)$":
|
||||
type: object
|
||||
$ref: "regulator.yaml#"
|
||||
|
||||
properties:
|
||||
regulator-name:
|
||||
pattern: "^vcam(a|af|d|io)$"
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
"^ldo-vtcxo[12]$":
|
||||
type: object
|
||||
$ref: "regulator.yaml#"
|
||||
|
||||
properties:
|
||||
regulator-name:
|
||||
pattern: "^vtcxo[12]$"
|
||||
|
||||
required:
|
||||
- regulator-name
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
"^ldo-vgp[1234]$":
|
||||
type: object
|
||||
$ref: "regulator.yaml#"
|
||||
|
||||
properties:
|
||||
regulator-name:
|
||||
pattern: "^vgp[12]$"
|
||||
|
||||
required:
|
||||
- regulator-name
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
pmic {
|
||||
regulators {
|
||||
mt6331_vdvfs11_reg: buck-vdvfs11 {
|
||||
regulator-name = "vdvfs11";
|
||||
regulator-min-microvolt = <700000>;
|
||||
regulator-max-microvolt = <1493750>;
|
||||
regulator-ramp-delay = <12500>;
|
||||
regulator-enable-ramp-delay = <1>;
|
||||
regulator-allowed-modes = <0 1>;
|
||||
};
|
||||
mt6331_vdvfs12_reg: buck-vdvfs12 {
|
||||
regulator-name = "vdvfs12";
|
||||
regulator-min-microvolt = <700000>;
|
||||
regulator-max-microvolt = <1493750>;
|
||||
regulator-ramp-delay = <12500>;
|
||||
regulator-enable-ramp-delay = <1>;
|
||||
regulator-allowed-modes = <0 1>;
|
||||
};
|
||||
mt6331_vdvfs13_reg: buck-vdvfs13 {
|
||||
regulator-name = "vdvfs13";
|
||||
regulator-min-microvolt = <700000>;
|
||||
regulator-max-microvolt = <1493750>;
|
||||
regulator-ramp-delay = <12500>;
|
||||
regulator-enable-ramp-delay = <1>;
|
||||
regulator-allowed-modes = <0 1>;
|
||||
};
|
||||
mt6331_vdvfs14_reg: buck-vdvfs14 {
|
||||
regulator-name = "vdvfs14";
|
||||
regulator-min-microvolt = <700000>;
|
||||
regulator-max-microvolt = <1493750>;
|
||||
regulator-ramp-delay = <12500>;
|
||||
regulator-enable-ramp-delay = <1>;
|
||||
regulator-allowed-modes = <0 1>;
|
||||
};
|
||||
mt6331_vcore2_reg: buck-vcore2 {
|
||||
regulator-name = "vcore2";
|
||||
regulator-min-microvolt = <700000>;
|
||||
regulator-max-microvolt = <1493750>;
|
||||
regulator-ramp-delay = <12500>;
|
||||
regulator-enable-ramp-delay = <1>;
|
||||
regulator-allowed-modes = <0 1>;
|
||||
};
|
||||
mt6331_vio18_reg: buck-vio18 {
|
||||
regulator-name = "vio18";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-ramp-delay = <12500>;
|
||||
regulator-enable-ramp-delay = <0>;
|
||||
regulator-allowed-modes = <0 1>;
|
||||
};
|
||||
mt6331_vtcxo1_reg: ldo-vtcxo1 {
|
||||
regulator-name = "vtcxo1";
|
||||
regulator-min-microvolt = <2800000>;
|
||||
regulator-max-microvolt = <2800000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
mt6331_vtcxo2_reg: ldo-vtcxo2 {
|
||||
regulator-name = "vtcxo2";
|
||||
regulator-min-microvolt = <2800000>;
|
||||
regulator-max-microvolt = <2800000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
mt6331_avdd32_aud_reg: ldo-avdd32aud {
|
||||
regulator-name = "avdd32_aud";
|
||||
regulator-min-microvolt = <2800000>;
|
||||
regulator-max-microvolt = <3200000>;
|
||||
};
|
||||
mt6331_vauxa32_reg: ldo-vauxa32 {
|
||||
regulator-name = "vauxa32";
|
||||
regulator-min-microvolt = <2800000>;
|
||||
regulator-max-microvolt = <3200000>;
|
||||
};
|
||||
mt6331_vcama_reg: ldo-vcama {
|
||||
regulator-name = "vcama";
|
||||
regulator-min-microvolt = <1500000>;
|
||||
regulator-max-microvolt = <2800000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
mt6331_vio28_reg: ldo-vio28 {
|
||||
regulator-name = "vio28";
|
||||
regulator-min-microvolt = <2800000>;
|
||||
regulator-max-microvolt = <2800000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
mt6331_vcamaf_reg: ldo-vcamaf {
|
||||
regulator-name = "vcam_af";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
mt6331_vmc_reg: ldo-vmc {
|
||||
regulator-name = "vmc";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
mt6331_vmch_reg: ldo-vmch {
|
||||
regulator-name = "vmch";
|
||||
regulator-min-microvolt = <3000000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
mt6331_vemc33_reg: ldo-vemc33 {
|
||||
regulator-name = "vemc33";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
mt6331_vgp1_reg: ldo-vgp1 {
|
||||
regulator-name = "vgp1";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
mt6331_vsim1_reg: ldo-vsim1 {
|
||||
regulator-name = "vsim1";
|
||||
regulator-min-microvolt = <1700000>;
|
||||
regulator-max-microvolt = <3100000>;
|
||||
};
|
||||
mt6331_vsim2_reg: ldo-vsim2 {
|
||||
regulator-name = "vsim2";
|
||||
regulator-min-microvolt = <1700000>;
|
||||
regulator-max-microvolt = <3100000>;
|
||||
};
|
||||
mt6331_vmipi_reg: ldo-vmipi {
|
||||
regulator-name = "vmipi";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
mt6331_vibr_reg: ldo-vibr {
|
||||
regulator-name = "vibr";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
mt6331_vgp4_reg: ldo-vgp4 {
|
||||
regulator-name = "vgp4";
|
||||
regulator-min-microvolt = <1600000>;
|
||||
regulator-max-microvolt = <2200000>;
|
||||
};
|
||||
mt6331_vcamd_reg: ldo-vcamd {
|
||||
regulator-name = "vcamd";
|
||||
regulator-min-microvolt = <900000>;
|
||||
regulator-max-microvolt = <1500000>;
|
||||
};
|
||||
mt6331_vusb10_reg: ldo-vusb10 {
|
||||
regulator-name = "vusb";
|
||||
regulator-min-microvolt = <1000000>;
|
||||
regulator-max-microvolt = <1300000>;
|
||||
regulator-boot-on;
|
||||
};
|
||||
mt6331_vcamio_reg: ldo-vcamio {
|
||||
regulator-name = "vcam_io";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
};
|
||||
mt6331_vsram_reg: ldo-vsram {
|
||||
regulator-name = "vsram";
|
||||
regulator-min-microvolt = <1012500>;
|
||||
regulator-max-microvolt = <1012500>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
mt6331_vgp2_reg: ldo-vgp2 {
|
||||
regulator-name = "vgp2";
|
||||
regulator-min-microvolt = <1100000>;
|
||||
regulator-max-microvolt = <1500000>;
|
||||
regulator-boot-on;
|
||||
};
|
||||
mt6331_vgp3_reg: ldo-vgp3 {
|
||||
regulator-name = "vgp3";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
};
|
||||
mt6331_vrtc_reg: ldo-vrtc {
|
||||
regulator-name = "vrtc";
|
||||
regulator-min-microvolt = <2800000>;
|
||||
regulator-max-microvolt = <2800000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
mt6331_vdig18_reg: ldo-vdig18 {
|
||||
regulator-name = "dvdd18_dig";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
...
|
112
bindings/regulator/mediatek,mt6332-regulator.yaml
Normal file
112
bindings/regulator/mediatek,mt6332-regulator.yaml
Normal file
@@ -0,0 +1,112 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/regulator/mediatek,mt6332-regulator.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: MT6332 Regulator from MediaTek Integrated
|
||||
|
||||
maintainers:
|
||||
- AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
|
||||
|
||||
description: |
|
||||
The MT6332 Companion PMIC provides 6 BUCK and 4 LDO (Low Dropout)
|
||||
regulators and nodes are named according to the regulator type:
|
||||
buck-<name> and ldo-<name>.
|
||||
MT6332 regulators node should be sub node of the MT6397 MFD node.
|
||||
|
||||
patternProperties:
|
||||
"^buck-v(dram|dvfs2|pa|rf18a|rf18b|sbst)$":
|
||||
type: object
|
||||
$ref: "regulator.yaml#"
|
||||
|
||||
properties:
|
||||
regulator-name:
|
||||
pattern: "^v(dram|dvfs2|pa|rf18a|rf18b|sbst)$"
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
"^ldo-v(bif28|dig18|sram|usb33)$":
|
||||
type: object
|
||||
$ref: "regulator.yaml#"
|
||||
|
||||
properties:
|
||||
regulator-name:
|
||||
pattern: "^v(bif28|dig18|sram|usb33)$"
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
pmic {
|
||||
regulators {
|
||||
mt6332_vdram_reg: buck-vdram {
|
||||
regulator-name = "vdram";
|
||||
regulator-min-microvolt = <700000>;
|
||||
regulator-max-microvolt = <1493750>;
|
||||
regulator-ramp-delay = <12500>;
|
||||
regulator-allowed-modes = <0 1>;
|
||||
regulator-always-on;
|
||||
};
|
||||
mt6332_vdvfs2_reg: buck-vdvfs2 {
|
||||
regulator-name = "vdvfs2";
|
||||
regulator-min-microvolt = <700000>;
|
||||
regulator-max-microvolt = <1312500>;
|
||||
regulator-ramp-delay = <12500>;
|
||||
regulator-enable-ramp-delay = <1>;
|
||||
regulator-allowed-modes = <0 1>;
|
||||
};
|
||||
mt6332_vpa_reg: buck-vpa {
|
||||
regulator-name = "vpa";
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <3400000>;
|
||||
};
|
||||
mt6332_vrf18a_reg: buck-vrf18a {
|
||||
regulator-name = "vrf18a";
|
||||
regulator-min-microvolt = <1050000>;
|
||||
regulator-max-microvolt = <2240625>;
|
||||
regulator-allowed-modes = <0 1>;
|
||||
};
|
||||
mt6332_vrf18b_reg: buck-vrf18b {
|
||||
regulator-name = "vrf18b";
|
||||
regulator-min-microvolt = <1050000>;
|
||||
regulator-max-microvolt = <2240625>;
|
||||
regulator-allowed-modes = <0 1>;
|
||||
};
|
||||
mt6332_vsbst_reg: buck-vsbst {
|
||||
regulator-name = "vsbst";
|
||||
regulator-min-microvolt = <3500000>;
|
||||
regulator-max-microvolt = <7468750>;
|
||||
};
|
||||
mt6332_vauxb32_reg: ldo-vauxb32 {
|
||||
regulator-name = "vauxb32";
|
||||
regulator-min-microvolt = <2800000>;
|
||||
regulator-max-microvolt = <3200000>;
|
||||
};
|
||||
mt6332_vbif28_reg: ldo-vbif28 {
|
||||
regulator-name = "vbif28";
|
||||
regulator-min-microvolt = <2800000>;
|
||||
regulator-max-microvolt = <2800000>;
|
||||
};
|
||||
mt6332_vdig18_reg: ldo-vdig18 {
|
||||
regulator-name = "vdig18";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
mt6332_vsram_reg: ldo-vsram {
|
||||
regulator-name = "vauxa32";
|
||||
regulator-min-microvolt = <700000>;
|
||||
regulator-max-microvolt = <1493750>;
|
||||
regulator-always-on;
|
||||
};
|
||||
mt6332_vusb33_reg: ldo-vusb33 {
|
||||
regulator-name = "vusb33";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
...
|
22
bindings/regulator/mp8859.txt
Normal file
22
bindings/regulator/mp8859.txt
Normal file
@@ -0,0 +1,22 @@
|
||||
Monolithic Power Systems MP8859 voltage regulator
|
||||
|
||||
Required properties:
|
||||
- compatible: "mps,mp8859";
|
||||
- reg: I2C slave address.
|
||||
|
||||
Optional subnode for regulator: "mp8859_dcdc", using common regulator
|
||||
bindings given in <Documentation/devicetree/bindings/regulator/regulator.txt>.
|
||||
|
||||
Example:
|
||||
|
||||
mp8859: regulator@66 {
|
||||
compatible = "mps,mp8859";
|
||||
reg = <0x66>;
|
||||
dc_12v: mp8859_dcdc {
|
||||
regulator-name = "dc_12v";
|
||||
regulator-min-microvolt = <12000000>;
|
||||
regulator-max-microvolt = <12000000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
};
|
76
bindings/regulator/mps,mp5416.yaml
Normal file
76
bindings/regulator/mps,mp5416.yaml
Normal file
@@ -0,0 +1,76 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/regulator/mps,mp5416.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Monolithic Power System MP5416 PMIC
|
||||
|
||||
maintainers:
|
||||
- Saravanan Sekar <sravanhome@gmail.com>
|
||||
|
||||
properties:
|
||||
$nodename:
|
||||
pattern: "^pmic@[0-9a-f]{1,2}$"
|
||||
compatible:
|
||||
enum:
|
||||
- mps,mp5416
|
||||
- mps,mp5496
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
regulators:
|
||||
type: object
|
||||
description: |
|
||||
list of regulators provided by this controller, must be named
|
||||
after their hardware counterparts BUCK[1-4] and LDO[1-4]
|
||||
|
||||
patternProperties:
|
||||
"^buck[1-4]$":
|
||||
$ref: "regulator.yaml#"
|
||||
type: object
|
||||
|
||||
"^ldo[1-4]$":
|
||||
$ref: "regulator.yaml#"
|
||||
type: object
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- regulators
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
pmic@69 {
|
||||
compatible = "mps,mp5416";
|
||||
reg = <0x69>;
|
||||
|
||||
regulators {
|
||||
|
||||
buck1 {
|
||||
regulator-name = "buck1";
|
||||
regulator-min-microvolt = <600000>;
|
||||
regulator-max-microvolt = <2187500>;
|
||||
regulator-min-microamp = <3800000>;
|
||||
regulator-max-microamp = <6800000>;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
ldo2 {
|
||||
regulator-name = "ldo2";
|
||||
regulator-min-microvolt = <800000>;
|
||||
regulator-max-microvolt = <3975000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
...
|
63
bindings/regulator/mps,mp886x.yaml
Normal file
63
bindings/regulator/mps,mp886x.yaml
Normal file
@@ -0,0 +1,63 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/regulator/mps,mp886x.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Monolithic Power Systems MP8867/MP8869 voltage regulator
|
||||
|
||||
maintainers:
|
||||
- Jisheng Zhang <jszhang@kernel.org>
|
||||
|
||||
allOf:
|
||||
- $ref: regulator.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- mps,mp8867
|
||||
- mps,mp8869
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
enable-gpios:
|
||||
description: GPIO to enable/disable the regulator.
|
||||
maxItems: 1
|
||||
|
||||
mps,fb-voltage-divider:
|
||||
description: An array of two integers containing the resistor
|
||||
values R1 and R2 of the feedback voltage divider in kilo ohms.
|
||||
$ref: "/schemas/types.yaml#/definitions/uint32-array"
|
||||
maxItems: 2
|
||||
|
||||
mps,switch-frequency-hz:
|
||||
description: The valid switch frequency in Hertz.
|
||||
enum: [500000, 750000, 1000000, 1250000, 1500000]
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- enable-gpios
|
||||
- mps,fb-voltage-divider
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
regulator@62 {
|
||||
compatible = "mps,mp8869";
|
||||
regulator-name = "vcpu";
|
||||
regulator-min-microvolt = <800000>;
|
||||
regulator-max-microvolt = <1150000>;
|
||||
enable-gpios = <&porta 1 GPIO_ACTIVE_LOW>;
|
||||
mps,fb-voltage-divider = <80 240>;
|
||||
reg = <0x62>;
|
||||
};
|
||||
};
|
||||
|
||||
...
|
116
bindings/regulator/mps,mpq7920.yaml
Normal file
116
bindings/regulator/mps,mpq7920.yaml
Normal file
@@ -0,0 +1,116 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/regulator/mps,mpq7920.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Monolithic Power System MPQ7920 PMIC
|
||||
|
||||
maintainers:
|
||||
- Saravanan Sekar <sravanhome@gmail.com>
|
||||
|
||||
properties:
|
||||
$nodename:
|
||||
pattern: "pmic@[0-9a-f]{1,2}"
|
||||
compatible:
|
||||
enum:
|
||||
- mps,mpq7920
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
regulators:
|
||||
type: object
|
||||
$ref: regulator.yaml#
|
||||
|
||||
description: |
|
||||
list of regulators provided by this controller, must be named
|
||||
after their hardware counterparts BUCK[1-4], one LDORTC, and LDO[2-5]
|
||||
|
||||
properties:
|
||||
mps,switch-freq:
|
||||
$ref: "/schemas/types.yaml#/definitions/uint8"
|
||||
enum: [0, 1, 2, 3]
|
||||
default: 2
|
||||
description: |
|
||||
switching frequency must be one of following corresponding value
|
||||
1.1MHz, 1.65MHz, 2.2MHz, 2.75MHz
|
||||
|
||||
ldortc:
|
||||
type: object
|
||||
$ref: regulator.yaml#
|
||||
|
||||
patternProperties:
|
||||
"^ldo[1-4]$":
|
||||
type: object
|
||||
$ref: regulator.yaml#
|
||||
|
||||
"^buck[1-4]$":
|
||||
type: object
|
||||
$ref: regulator.yaml#
|
||||
|
||||
properties:
|
||||
mps,buck-softstart:
|
||||
$ref: "/schemas/types.yaml#/definitions/uint8"
|
||||
enum: [0, 1, 2, 3]
|
||||
description: |
|
||||
defines the soft start time of this buck, must be one of the following
|
||||
corresponding values 150us, 300us, 610us, 920us
|
||||
|
||||
mps,buck-phase-delay:
|
||||
$ref: "/schemas/types.yaml#/definitions/uint8"
|
||||
enum: [0, 1, 2, 3]
|
||||
description: |
|
||||
defines the phase delay of this buck, must be one of the following
|
||||
corresponding values 0deg, 90deg, 180deg, 270deg
|
||||
|
||||
mps,buck-ovp-disable:
|
||||
type: boolean
|
||||
description: |
|
||||
disables over voltage protection of this buck
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- regulators
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
pmic@69 {
|
||||
compatible = "mps,mpq7920";
|
||||
reg = <0x69>;
|
||||
|
||||
regulators {
|
||||
mps,switch-freq = /bits/ 8 <1>;
|
||||
|
||||
buck1 {
|
||||
regulator-name = "buck1";
|
||||
regulator-min-microvolt = <400000>;
|
||||
regulator-max-microvolt = <3587500>;
|
||||
regulator-min-microamp = <460000>;
|
||||
regulator-max-microamp = <7600000>;
|
||||
regulator-boot-on;
|
||||
mps,buck-ovp-disable;
|
||||
mps,buck-phase-delay = /bits/ 8 <2>;
|
||||
mps,buck-softstart = /bits/ 8 <1>;
|
||||
};
|
||||
|
||||
ldo2 {
|
||||
regulator-name = "ldo2";
|
||||
regulator-min-microvolt = <650000>;
|
||||
regulator-max-microvolt = <3587500>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
...
|
35
bindings/regulator/mt6311-regulator.txt
Normal file
35
bindings/regulator/mt6311-regulator.txt
Normal file
@@ -0,0 +1,35 @@
|
||||
Mediatek MT6311 Regulator
|
||||
|
||||
Required properties:
|
||||
- compatible: "mediatek,mt6311-regulator"
|
||||
- reg: I2C slave address, usually 0x6b.
|
||||
- regulators: List of regulators provided by this controller. It is named
|
||||
to VDVFS and VBIASN.
|
||||
The definition for each of these nodes is defined using the standard binding
|
||||
for regulators at Documentation/devicetree/bindings/regulator/regulator.txt.
|
||||
|
||||
The valid names for regulators are:
|
||||
BUCK:
|
||||
VDVFS
|
||||
LDO:
|
||||
VBIASN
|
||||
|
||||
Example:
|
||||
mt6311: pmic@6b {
|
||||
compatible = "mediatek,mt6311-regulator";
|
||||
reg = <0x6b>;
|
||||
|
||||
regulators {
|
||||
mt6311_vcpu_reg: VDVFS {
|
||||
regulator-name = "VDVFS";
|
||||
regulator-min-microvolt = < 600000>;
|
||||
regulator-max-microvolt = <1400000>;
|
||||
regulator-ramp-delay = <10000>;
|
||||
};
|
||||
mt6311_ldo_reg: VBIASN {
|
||||
regulator-name = "VBIASN";
|
||||
regulator-min-microvolt = <200000>;
|
||||
regulator-max-microvolt = <800000>;
|
||||
};
|
||||
};
|
||||
};
|
70
bindings/regulator/mt6315-regulator.yaml
Normal file
70
bindings/regulator/mt6315-regulator.yaml
Normal file
@@ -0,0 +1,70 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/regulator/mt6315-regulator.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Mediatek MT6315 Regulator
|
||||
|
||||
maintainers:
|
||||
- Hsin-Hsiung Wang <hsin-hsiung.wang@mediatek.com>
|
||||
|
||||
description: |
|
||||
The MT6315 is a power management IC (PMIC) configurable with SPMI.
|
||||
that contains 4 BUCKs output which can combine with each other
|
||||
by different efuse settings.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: mediatek,mt6315-regulator
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
regulators:
|
||||
type: object
|
||||
description: List of regulators and its properties
|
||||
|
||||
patternProperties:
|
||||
"^vbuck[1-4]$":
|
||||
type: object
|
||||
$ref: "regulator.yaml#"
|
||||
unevaluatedProperties: false
|
||||
|
||||
properties:
|
||||
regulator-compatible:
|
||||
pattern: "^vbuck[1-4]$"
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- regulators
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
pmic@6 {
|
||||
compatible = "mediatek,mt6315-regulator";
|
||||
reg = <0x6 0>;
|
||||
|
||||
regulators {
|
||||
vbuck1 {
|
||||
regulator-compatible = "vbuck1";
|
||||
regulator-min-microvolt = <300000>;
|
||||
regulator-max-microvolt = <1193750>;
|
||||
regulator-enable-ramp-delay = <256>;
|
||||
regulator-allowed-modes = <0 1 2>;
|
||||
};
|
||||
|
||||
vbuck3 {
|
||||
regulator-compatible = "vbuck3";
|
||||
regulator-min-microvolt = <300000>;
|
||||
regulator-max-microvolt = <1193750>;
|
||||
regulator-enable-ramp-delay = <256>;
|
||||
regulator-allowed-modes = <0 1 2>;
|
||||
};
|
||||
};
|
||||
};
|
237
bindings/regulator/mt6323-regulator.txt
Normal file
237
bindings/regulator/mt6323-regulator.txt
Normal file
@@ -0,0 +1,237 @@
|
||||
Mediatek MT6323 Regulator
|
||||
|
||||
All voltage regulators are defined as subnodes of the regulators node. A list
|
||||
of regulators provided by this controller are defined as subnodes of the
|
||||
PMIC's node. Each regulator is named according to its regulator type,
|
||||
buck_<name> and ldo_<name>. The definition for each of these nodes is defined
|
||||
using the standard binding for regulators at
|
||||
Documentation/devicetree/bindings/regulator/regulator.txt.
|
||||
|
||||
The valid names for regulators are::
|
||||
BUCK:
|
||||
buck_vproc, buck_vsys, buck_vpa
|
||||
LDO:
|
||||
ldo_vtcxo, ldo_vcn28, ldo_vcn33_bt, ldo_vcn33_wifi, ldo_va, ldo_vcama,
|
||||
ldo_vio28, ldo_vusb, ldo_vmc, ldo_vmch, ldo_vemc3v3, ldo_vgp1, ldo_vgp2,
|
||||
ldo_vgp3, ldo_vcn18, ldo_vsim1, ldo_vsim2, ldo_vrtc, ldo_vcamaf, ldo_vibr,
|
||||
ldo_vrf18, ldo_vm, ldo_vio18, ldo_vcamd, ldo_vcamio
|
||||
|
||||
Example:
|
||||
|
||||
pmic: mt6323 {
|
||||
mt6323regulator: regulators {
|
||||
mt6323_vproc_reg: buck_vproc{
|
||||
regulator-name = "vproc";
|
||||
regulator-min-microvolt = < 700000>;
|
||||
regulator-max-microvolt = <1350000>;
|
||||
regulator-ramp-delay = <12500>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
mt6323_vsys_reg: buck_vsys{
|
||||
regulator-name = "vsys";
|
||||
regulator-min-microvolt = <1400000>;
|
||||
regulator-max-microvolt = <2987500>;
|
||||
regulator-ramp-delay = <25000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
mt6323_vpa_reg: buck_vpa{
|
||||
regulator-name = "vpa";
|
||||
regulator-min-microvolt = < 500000>;
|
||||
regulator-max-microvolt = <3650000>;
|
||||
};
|
||||
|
||||
mt6323_vtcxo_reg: ldo_vtcxo{
|
||||
regulator-name = "vtcxo";
|
||||
regulator-min-microvolt = <2800000>;
|
||||
regulator-max-microvolt = <2800000>;
|
||||
regulator-enable-ramp-delay = <90>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
mt6323_vcn28_reg: ldo_vcn28{
|
||||
regulator-name = "vcn28";
|
||||
regulator-min-microvolt = <2800000>;
|
||||
regulator-max-microvolt = <2800000>;
|
||||
regulator-enable-ramp-delay = <185>;
|
||||
};
|
||||
|
||||
mt6323_vcn33_bt_reg: ldo_vcn33_bt{
|
||||
regulator-name = "vcn33_bt";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3600000>;
|
||||
regulator-enable-ramp-delay = <185>;
|
||||
};
|
||||
|
||||
mt6323_vcn33_wifi_reg: ldo_vcn33_wifi{
|
||||
regulator-name = "vcn33_wifi";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3600000>;
|
||||
regulator-enable-ramp-delay = <185>;
|
||||
};
|
||||
|
||||
mt6323_va_reg: ldo_va{
|
||||
regulator-name = "va";
|
||||
regulator-min-microvolt = <2800000>;
|
||||
regulator-max-microvolt = <2800000>;
|
||||
regulator-enable-ramp-delay = <216>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
mt6323_vcama_reg: ldo_vcama{
|
||||
regulator-name = "vcama";
|
||||
regulator-min-microvolt = <1500000>;
|
||||
regulator-max-microvolt = <2800000>;
|
||||
regulator-enable-ramp-delay = <216>;
|
||||
};
|
||||
|
||||
mt6323_vio28_reg: ldo_vio28{
|
||||
regulator-name = "vio28";
|
||||
regulator-min-microvolt = <2800000>;
|
||||
regulator-max-microvolt = <2800000>;
|
||||
regulator-enable-ramp-delay = <216>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
mt6323_vusb_reg: ldo_vusb{
|
||||
regulator-name = "vusb";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-enable-ramp-delay = <216>;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
mt6323_vmc_reg: ldo_vmc{
|
||||
regulator-name = "vmc";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-enable-ramp-delay = <36>;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
mt6323_vmch_reg: ldo_vmch{
|
||||
regulator-name = "vmch";
|
||||
regulator-min-microvolt = <3000000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-enable-ramp-delay = <36>;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
mt6323_vemc3v3_reg: ldo_vemc3v3{
|
||||
regulator-name = "vemc3v3";
|
||||
regulator-min-microvolt = <3000000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-enable-ramp-delay = <36>;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
mt6323_vgp1_reg: ldo_vgp1{
|
||||
regulator-name = "vgp1";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-enable-ramp-delay = <216>;
|
||||
};
|
||||
|
||||
mt6323_vgp2_reg: ldo_vgp2{
|
||||
regulator-name = "vgp2";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <3000000>;
|
||||
regulator-enable-ramp-delay = <216>;
|
||||
};
|
||||
|
||||
mt6323_vgp3_reg: ldo_vgp3{
|
||||
regulator-name = "vgp3";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-enable-ramp-delay = <216>;
|
||||
};
|
||||
|
||||
mt6323_vcn18_reg: ldo_vcn18{
|
||||
regulator-name = "vcn18";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-enable-ramp-delay = <216>;
|
||||
};
|
||||
|
||||
mt6323_vsim1_reg: ldo_vsim1{
|
||||
regulator-name = "vsim1";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <3000000>;
|
||||
regulator-enable-ramp-delay = <216>;
|
||||
};
|
||||
|
||||
mt6323_vsim2_reg: ldo_vsim2{
|
||||
regulator-name = "vsim2";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <3000000>;
|
||||
regulator-enable-ramp-delay = <216>;
|
||||
};
|
||||
|
||||
mt6323_vrtc_reg: ldo_vrtc{
|
||||
regulator-name = "vrtc";
|
||||
regulator-min-microvolt = <2800000>;
|
||||
regulator-max-microvolt = <2800000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
mt6323_vcamaf_reg: ldo_vcamaf{
|
||||
regulator-name = "vcamaf";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-enable-ramp-delay = <216>;
|
||||
};
|
||||
|
||||
mt6323_vibr_reg: ldo_vibr{
|
||||
regulator-name = "vibr";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-enable-ramp-delay = <36>;
|
||||
};
|
||||
|
||||
mt6323_vrf18_reg: ldo_vrf18{
|
||||
regulator-name = "vrf18";
|
||||
regulator-min-microvolt = <1825000>;
|
||||
regulator-max-microvolt = <1825000>;
|
||||
regulator-enable-ramp-delay = <187>;
|
||||
};
|
||||
|
||||
mt6323_vm_reg: ldo_vm{
|
||||
regulator-name = "vm";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-enable-ramp-delay = <216>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
mt6323_vio18_reg: ldo_vio18{
|
||||
regulator-name = "vio18";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-enable-ramp-delay = <216>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
mt6323_vcamd_reg: ldo_vcamd{
|
||||
regulator-name = "vcamd";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-enable-ramp-delay = <216>;
|
||||
};
|
||||
|
||||
mt6323_vcamio_reg: ldo_vcamio{
|
||||
regulator-name = "vcamio";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-enable-ramp-delay = <216>;
|
||||
};
|
||||
};
|
||||
};
|
370
bindings/regulator/mt6358-regulator.txt
Normal file
370
bindings/regulator/mt6358-regulator.txt
Normal file
@@ -0,0 +1,370 @@
|
||||
MediaTek MT6358 Regulator
|
||||
|
||||
All voltage regulators provided by the MT6358 PMIC are described as the
|
||||
subnodes of the MT6358 regulators node. Each regulator is named according
|
||||
to its regulator type, buck_<name> and ldo_<name>. The definition for each
|
||||
of these nodes is defined using the standard binding for regulators at
|
||||
Documentation/devicetree/bindings/regulator/regulator.txt.
|
||||
|
||||
The valid names for regulators are::
|
||||
BUCK:
|
||||
buck_vdram1, buck_vcore, buck_vcore_sshub, buck_vpa, buck_vproc11,
|
||||
buck_vproc12, buck_vgpu, buck_vs2, buck_vmodem, buck_vs1
|
||||
LDO:
|
||||
ldo_vdram2, ldo_vsim1, ldo_vibr, ldo_vrf12, ldo_vio18, ldo_vusb, ldo_vcamio,
|
||||
ldo_vcamd, ldo_vcn18, ldo_vfe28, ldo_vsram_proc11, ldo_vcn28, ldo_vsram_others,
|
||||
ldo_vsram_others_sshub, ldo_vsram_gpu, ldo_vxo22, ldo_vefuse, ldo_vaux18,
|
||||
ldo_vmch, ldo_vbif28, ldo_vsram_proc12, ldo_vcama1, ldo_vemc, ldo_vio28, ldo_va12,
|
||||
ldo_vrf18, ldo_vcn33_bt, ldo_vcn33_wifi, ldo_vcama2, ldo_vmc, ldo_vldo28, ldo_vaud28,
|
||||
ldo_vsim2
|
||||
|
||||
Example:
|
||||
|
||||
pmic {
|
||||
compatible = "mediatek,mt6358";
|
||||
|
||||
mt6358regulator: mt6358regulator {
|
||||
compatible = "mediatek,mt6358-regulator";
|
||||
|
||||
mt6358_vdram1_reg: buck_vdram1 {
|
||||
regulator-compatible = "buck_vdram1";
|
||||
regulator-name = "vdram1";
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <2087500>;
|
||||
regulator-ramp-delay = <12500>;
|
||||
regulator-enable-ramp-delay = <0>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
mt6358_vcore_reg: buck_vcore {
|
||||
regulator-name = "vcore";
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <1293750>;
|
||||
regulator-ramp-delay = <6250>;
|
||||
regulator-enable-ramp-delay = <200>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
mt6358_vpa_reg: buck_vpa {
|
||||
regulator-name = "vpa";
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <3650000>;
|
||||
regulator-ramp-delay = <50000>;
|
||||
regulator-enable-ramp-delay = <250>;
|
||||
};
|
||||
|
||||
mt6358_vproc11_reg: buck_vproc11 {
|
||||
regulator-name = "vproc11";
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <1293750>;
|
||||
regulator-ramp-delay = <6250>;
|
||||
regulator-enable-ramp-delay = <200>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
mt6358_vproc12_reg: buck_vproc12 {
|
||||
regulator-name = "vproc12";
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <1293750>;
|
||||
regulator-ramp-delay = <6250>;
|
||||
regulator-enable-ramp-delay = <200>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
mt6358_vgpu_reg: buck_vgpu {
|
||||
regulator-name = "vgpu";
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <1293750>;
|
||||
regulator-ramp-delay = <6250>;
|
||||
regulator-enable-ramp-delay = <200>;
|
||||
};
|
||||
|
||||
mt6358_vs2_reg: buck_vs2 {
|
||||
regulator-name = "vs2";
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <2087500>;
|
||||
regulator-ramp-delay = <12500>;
|
||||
regulator-enable-ramp-delay = <0>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
mt6358_vmodem_reg: buck_vmodem {
|
||||
regulator-name = "vmodem";
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <1293750>;
|
||||
regulator-ramp-delay = <6250>;
|
||||
regulator-enable-ramp-delay = <900>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
mt6358_vs1_reg: buck_vs1 {
|
||||
regulator-name = "vs1";
|
||||
regulator-min-microvolt = <1000000>;
|
||||
regulator-max-microvolt = <2587500>;
|
||||
regulator-ramp-delay = <12500>;
|
||||
regulator-enable-ramp-delay = <0>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
mt6358_vdram2_reg: ldo_vdram2 {
|
||||
regulator-name = "vdram2";
|
||||
regulator-min-microvolt = <600000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-enable-ramp-delay = <3300>;
|
||||
};
|
||||
|
||||
mt6358_vsim1_reg: ldo_vsim1 {
|
||||
regulator-name = "vsim1";
|
||||
regulator-min-microvolt = <1700000>;
|
||||
regulator-max-microvolt = <3100000>;
|
||||
regulator-enable-ramp-delay = <540>;
|
||||
};
|
||||
|
||||
mt6358_vibr_reg: ldo_vibr {
|
||||
regulator-name = "vibr";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-enable-ramp-delay = <60>;
|
||||
};
|
||||
|
||||
mt6358_vrf12_reg: ldo_vrf12 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vrf12";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <1200000>;
|
||||
regulator-enable-ramp-delay = <120>;
|
||||
};
|
||||
|
||||
mt6358_vio18_reg: ldo_vio18 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vio18";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-enable-ramp-delay = <2700>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
mt6358_vusb_reg: ldo_vusb {
|
||||
regulator-name = "vusb";
|
||||
regulator-min-microvolt = <3000000>;
|
||||
regulator-max-microvolt = <3100000>;
|
||||
regulator-enable-ramp-delay = <270>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
mt6358_vcamio_reg: ldo_vcamio {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vcamio";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-enable-ramp-delay = <270>;
|
||||
};
|
||||
|
||||
mt6358_vcamd_reg: ldo_vcamd {
|
||||
regulator-name = "vcamd";
|
||||
regulator-min-microvolt = <900000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-enable-ramp-delay = <270>;
|
||||
};
|
||||
|
||||
mt6358_vcn18_reg: ldo_vcn18 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vcn18";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-enable-ramp-delay = <270>;
|
||||
};
|
||||
|
||||
mt6358_vfe28_reg: ldo_vfe28 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vfe28";
|
||||
regulator-min-microvolt = <2800000>;
|
||||
regulator-max-microvolt = <2800000>;
|
||||
regulator-enable-ramp-delay = <270>;
|
||||
};
|
||||
|
||||
mt6358_vsram_proc11_reg: ldo_vsram_proc11 {
|
||||
regulator-name = "vsram_proc11";
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <1293750>;
|
||||
regulator-ramp-delay = <6250>;
|
||||
regulator-enable-ramp-delay = <240>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
mt6358_vcn28_reg: ldo_vcn28 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vcn28";
|
||||
regulator-min-microvolt = <2800000>;
|
||||
regulator-max-microvolt = <2800000>;
|
||||
regulator-enable-ramp-delay = <270>;
|
||||
};
|
||||
|
||||
mt6358_vsram_others_reg: ldo_vsram_others {
|
||||
regulator-name = "vsram_others";
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <1293750>;
|
||||
regulator-ramp-delay = <6250>;
|
||||
regulator-enable-ramp-delay = <240>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
mt6358_vsram_gpu_reg: ldo_vsram_gpu {
|
||||
regulator-name = "vsram_gpu";
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <1293750>;
|
||||
regulator-ramp-delay = <6250>;
|
||||
regulator-enable-ramp-delay = <240>;
|
||||
};
|
||||
|
||||
mt6358_vxo22_reg: ldo_vxo22 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vxo22";
|
||||
regulator-min-microvolt = <2200000>;
|
||||
regulator-max-microvolt = <2200000>;
|
||||
regulator-enable-ramp-delay = <120>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
mt6358_vefuse_reg: ldo_vefuse {
|
||||
regulator-name = "vefuse";
|
||||
regulator-min-microvolt = <1700000>;
|
||||
regulator-max-microvolt = <1900000>;
|
||||
regulator-enable-ramp-delay = <270>;
|
||||
};
|
||||
|
||||
mt6358_vaux18_reg: ldo_vaux18 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vaux18";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-enable-ramp-delay = <270>;
|
||||
};
|
||||
|
||||
mt6358_vmch_reg: ldo_vmch {
|
||||
regulator-name = "vmch";
|
||||
regulator-min-microvolt = <2900000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-enable-ramp-delay = <60>;
|
||||
};
|
||||
|
||||
mt6358_vbif28_reg: ldo_vbif28 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vbif28";
|
||||
regulator-min-microvolt = <2800000>;
|
||||
regulator-max-microvolt = <2800000>;
|
||||
regulator-enable-ramp-delay = <270>;
|
||||
};
|
||||
|
||||
mt6358_vsram_proc12_reg: ldo_vsram_proc12 {
|
||||
regulator-name = "vsram_proc12";
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <1293750>;
|
||||
regulator-ramp-delay = <6250>;
|
||||
regulator-enable-ramp-delay = <240>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
mt6358_vcama1_reg: ldo_vcama1 {
|
||||
regulator-name = "vcama1";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <3000000>;
|
||||
regulator-enable-ramp-delay = <270>;
|
||||
};
|
||||
|
||||
mt6358_vemc_reg: ldo_vemc {
|
||||
regulator-name = "vemc";
|
||||
regulator-min-microvolt = <2900000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-enable-ramp-delay = <60>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
mt6358_vio28_reg: ldo_vio28 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vio28";
|
||||
regulator-min-microvolt = <2800000>;
|
||||
regulator-max-microvolt = <2800000>;
|
||||
regulator-enable-ramp-delay = <270>;
|
||||
};
|
||||
|
||||
mt6358_va12_reg: ldo_va12 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "va12";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <1200000>;
|
||||
regulator-enable-ramp-delay = <270>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
mt6358_vrf18_reg: ldo_vrf18 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vrf18";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-enable-ramp-delay = <120>;
|
||||
};
|
||||
|
||||
mt6358_vcn33_bt_reg: ldo_vcn33_bt {
|
||||
regulator-name = "vcn33_bt";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3500000>;
|
||||
regulator-enable-ramp-delay = <270>;
|
||||
};
|
||||
|
||||
mt6358_vcn33_wifi_reg: ldo_vcn33_wifi {
|
||||
regulator-name = "vcn33_wifi";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3500000>;
|
||||
regulator-enable-ramp-delay = <270>;
|
||||
};
|
||||
|
||||
mt6358_vcama2_reg: ldo_vcama2 {
|
||||
regulator-name = "vcama2";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <3000000>;
|
||||
regulator-enable-ramp-delay = <270>;
|
||||
};
|
||||
|
||||
mt6358_vmc_reg: ldo_vmc {
|
||||
regulator-name = "vmc";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-enable-ramp-delay = <60>;
|
||||
};
|
||||
|
||||
mt6358_vldo28_reg: ldo_vldo28 {
|
||||
regulator-name = "vldo28";
|
||||
regulator-min-microvolt = <2800000>;
|
||||
regulator-max-microvolt = <3000000>;
|
||||
regulator-enable-ramp-delay = <270>;
|
||||
};
|
||||
|
||||
mt6358_vaud28_reg: ldo_vaud28 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vaud28";
|
||||
regulator-min-microvolt = <2800000>;
|
||||
regulator-max-microvolt = <2800000>;
|
||||
regulator-enable-ramp-delay = <270>;
|
||||
};
|
||||
|
||||
mt6358_vsim2_reg: ldo_vsim2 {
|
||||
regulator-name = "vsim2";
|
||||
regulator-min-microvolt = <1700000>;
|
||||
regulator-max-microvolt = <3100000>;
|
||||
regulator-enable-ramp-delay = <540>;
|
||||
};
|
||||
|
||||
mt6358_vcore_sshub_reg: buck_vcore_sshub {
|
||||
regulator-name = "vcore_sshub";
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <1293750>;
|
||||
};
|
||||
|
||||
mt6358_vsram_others_sshub_reg: ldo_vsram_others_sshub {
|
||||
regulator-name = "vsram_others_sshub";
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <1293750>;
|
||||
};
|
||||
};
|
||||
};
|
385
bindings/regulator/mt6359-regulator.yaml
Normal file
385
bindings/regulator/mt6359-regulator.yaml
Normal file
@@ -0,0 +1,385 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/regulator/mt6359-regulator.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: MT6359 Regulator from MediaTek Integrated
|
||||
|
||||
maintainers:
|
||||
- Hsin-Hsiung Wang <hsin-hsiung.wang@mediatek.com>
|
||||
|
||||
description: |
|
||||
List of regulators provided by this controller. It is named
|
||||
according to its regulator type, buck_<name> and ldo_<name>.
|
||||
MT6359 regulators node should be sub node of the MT6397 MFD node.
|
||||
|
||||
patternProperties:
|
||||
"^buck_v(s1|gpu11|modem|pu|core|s2|pa|proc2|proc1|core_sshub)$":
|
||||
type: object
|
||||
$ref: "regulator.yaml#"
|
||||
|
||||
properties:
|
||||
regulator-name:
|
||||
pattern: "^v(s1|gpu11|modem|pu|core|s2|pa|proc2|proc1|core_sshub)$"
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
"^ldo_v(ibr|rf12|usb|camio|efuse|xo22)$":
|
||||
type: object
|
||||
$ref: "regulator.yaml#"
|
||||
|
||||
properties:
|
||||
regulator-name:
|
||||
pattern: "^v(ibr|rf12|usb|camio|efuse|xo22)$"
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
"^ldo_v(rfck|emc|a12|a09|ufs|bbck)$":
|
||||
type: object
|
||||
$ref: "regulator.yaml#"
|
||||
|
||||
properties:
|
||||
regulator-name:
|
||||
pattern: "^v(rfck|emc|a12|a09|ufs|bbck)$"
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
"^ldo_vcn(18|13|33_1_bt|13_1_wifi|33_2_bt|33_2_wifi)$":
|
||||
type: object
|
||||
$ref: "regulator.yaml#"
|
||||
|
||||
properties:
|
||||
regulator-name:
|
||||
pattern: "^vcn(18|13|33_1_bt|13_1_wifi|33_2_bt|33_2_wifi)$"
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
"^ldo_vsram_(proc2|others|md|proc1|others_sshub)$":
|
||||
type: object
|
||||
$ref: "regulator.yaml#"
|
||||
|
||||
properties:
|
||||
regulator-name:
|
||||
pattern: "^vsram_(proc2|others|md|proc1|others_sshub)$"
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
"^ldo_v(fe|bif|io)28$":
|
||||
type: object
|
||||
$ref: "regulator.yaml#"
|
||||
|
||||
properties:
|
||||
regulator-name:
|
||||
pattern: "^v(fe|bif|io)28$"
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
"^ldo_v(aud|io|aux|rf|m)18$":
|
||||
type: object
|
||||
$ref: "regulator.yaml#"
|
||||
|
||||
properties:
|
||||
regulator-name:
|
||||
pattern: "^v(aud|io|aux|rf|m)18$"
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
"^ldo_vsim[12]$":
|
||||
type: object
|
||||
$ref: "regulator.yaml#"
|
||||
|
||||
properties:
|
||||
regulator-name:
|
||||
pattern: "^vsim[12]$"
|
||||
|
||||
required:
|
||||
- regulator-name
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
pmic {
|
||||
regulators {
|
||||
mt6359_vs1_buck_reg: buck_vs1 {
|
||||
regulator-name = "vs1";
|
||||
regulator-min-microvolt = <800000>;
|
||||
regulator-max-microvolt = <2200000>;
|
||||
regulator-enable-ramp-delay = <0>;
|
||||
regulator-always-on;
|
||||
};
|
||||
mt6359_vgpu11_buck_reg: buck_vgpu11 {
|
||||
regulator-name = "vgpu11";
|
||||
regulator-min-microvolt = <400000>;
|
||||
regulator-max-microvolt = <1193750>;
|
||||
regulator-ramp-delay = <5000>;
|
||||
regulator-enable-ramp-delay = <200>;
|
||||
regulator-allowed-modes = <0 1 2>;
|
||||
};
|
||||
mt6359_vmodem_buck_reg: buck_vmodem {
|
||||
regulator-name = "vmodem";
|
||||
regulator-min-microvolt = <400000>;
|
||||
regulator-max-microvolt = <1100000>;
|
||||
regulator-ramp-delay = <10760>;
|
||||
regulator-enable-ramp-delay = <200>;
|
||||
};
|
||||
mt6359_vpu_buck_reg: buck_vpu {
|
||||
regulator-name = "vpu";
|
||||
regulator-min-microvolt = <400000>;
|
||||
regulator-max-microvolt = <1193750>;
|
||||
regulator-ramp-delay = <5000>;
|
||||
regulator-enable-ramp-delay = <200>;
|
||||
regulator-allowed-modes = <0 1 2>;
|
||||
};
|
||||
mt6359_vcore_buck_reg: buck_vcore {
|
||||
regulator-name = "vcore";
|
||||
regulator-min-microvolt = <400000>;
|
||||
regulator-max-microvolt = <1300000>;
|
||||
regulator-ramp-delay = <5000>;
|
||||
regulator-enable-ramp-delay = <200>;
|
||||
regulator-allowed-modes = <0 1 2>;
|
||||
};
|
||||
mt6359_vs2_buck_reg: buck_vs2 {
|
||||
regulator-name = "vs2";
|
||||
regulator-min-microvolt = <800000>;
|
||||
regulator-max-microvolt = <1600000>;
|
||||
regulator-enable-ramp-delay = <0>;
|
||||
regulator-always-on;
|
||||
};
|
||||
mt6359_vpa_buck_reg: buck_vpa {
|
||||
regulator-name = "vpa";
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <3650000>;
|
||||
regulator-enable-ramp-delay = <300>;
|
||||
};
|
||||
mt6359_vproc2_buck_reg: buck_vproc2 {
|
||||
regulator-name = "vproc2";
|
||||
regulator-min-microvolt = <400000>;
|
||||
regulator-max-microvolt = <1193750>;
|
||||
regulator-ramp-delay = <7500>;
|
||||
regulator-enable-ramp-delay = <200>;
|
||||
regulator-allowed-modes = <0 1 2>;
|
||||
};
|
||||
mt6359_vproc1_buck_reg: buck_vproc1 {
|
||||
regulator-name = "vproc1";
|
||||
regulator-min-microvolt = <400000>;
|
||||
regulator-max-microvolt = <1193750>;
|
||||
regulator-ramp-delay = <7500>;
|
||||
regulator-enable-ramp-delay = <200>;
|
||||
regulator-allowed-modes = <0 1 2>;
|
||||
};
|
||||
mt6359_vcore_sshub_buck_reg: buck_vcore_sshub {
|
||||
regulator-name = "vcore_sshub";
|
||||
regulator-min-microvolt = <400000>;
|
||||
regulator-max-microvolt = <1193750>;
|
||||
};
|
||||
mt6359_vgpu11_sshub_buck_reg: buck_vgpu11_sshub {
|
||||
regulator-name = "vgpu11_sshub";
|
||||
regulator-min-microvolt = <400000>;
|
||||
regulator-max-microvolt = <1193750>;
|
||||
};
|
||||
mt6359_vaud18_ldo_reg: ldo_vaud18 {
|
||||
regulator-name = "vaud18";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-enable-ramp-delay = <240>;
|
||||
};
|
||||
mt6359_vsim1_ldo_reg: ldo_vsim1 {
|
||||
regulator-name = "vsim1";
|
||||
regulator-min-microvolt = <1700000>;
|
||||
regulator-max-microvolt = <3100000>;
|
||||
};
|
||||
mt6359_vibr_ldo_reg: ldo_vibr {
|
||||
regulator-name = "vibr";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
mt6359_vrf12_ldo_reg: ldo_vrf12 {
|
||||
regulator-name = "vrf12";
|
||||
regulator-min-microvolt = <1100000>;
|
||||
regulator-max-microvolt = <1300000>;
|
||||
};
|
||||
mt6359_vusb_ldo_reg: ldo_vusb {
|
||||
regulator-name = "vusb";
|
||||
regulator-min-microvolt = <3000000>;
|
||||
regulator-max-microvolt = <3000000>;
|
||||
regulator-enable-ramp-delay = <960>;
|
||||
regulator-always-on;
|
||||
};
|
||||
mt6359_vsram_proc2_ldo_reg: ldo_vsram_proc2 {
|
||||
regulator-name = "vsram_proc2";
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <1293750>;
|
||||
regulator-ramp-delay = <7500>;
|
||||
regulator-enable-ramp-delay = <240>;
|
||||
regulator-always-on;
|
||||
};
|
||||
mt6359_vio18_ldo_reg: ldo_vio18 {
|
||||
regulator-name = "vio18";
|
||||
regulator-min-microvolt = <1700000>;
|
||||
regulator-max-microvolt = <1900000>;
|
||||
regulator-enable-ramp-delay = <960>;
|
||||
regulator-always-on;
|
||||
};
|
||||
mt6359_vcamio_ldo_reg: ldo_vcamio {
|
||||
regulator-name = "vcamio";
|
||||
regulator-min-microvolt = <1700000>;
|
||||
regulator-max-microvolt = <1900000>;
|
||||
};
|
||||
mt6359_vcn18_ldo_reg: ldo_vcn18 {
|
||||
regulator-name = "vcn18";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-enable-ramp-delay = <240>;
|
||||
};
|
||||
mt6359_vfe28_ldo_reg: ldo_vfe28 {
|
||||
regulator-name = "vfe28";
|
||||
regulator-min-microvolt = <2800000>;
|
||||
regulator-max-microvolt = <2800000>;
|
||||
regulator-enable-ramp-delay = <120>;
|
||||
};
|
||||
mt6359_vcn13_ldo_reg: ldo_vcn13 {
|
||||
regulator-name = "vcn13";
|
||||
regulator-min-microvolt = <900000>;
|
||||
regulator-max-microvolt = <1300000>;
|
||||
};
|
||||
mt6359_vcn33_1_bt_ldo_reg: ldo_vcn33_1_bt {
|
||||
regulator-name = "vcn33_1_bt";
|
||||
regulator-min-microvolt = <2800000>;
|
||||
regulator-max-microvolt = <3500000>;
|
||||
};
|
||||
mt6359_vcn33_1_wifi_ldo_reg: ldo_vcn33_1_wifi {
|
||||
regulator-name = "vcn33_1_wifi";
|
||||
regulator-min-microvolt = <2800000>;
|
||||
regulator-max-microvolt = <3500000>;
|
||||
};
|
||||
mt6359_vaux18_ldo_reg: ldo_vaux18 {
|
||||
regulator-name = "vaux18";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-enable-ramp-delay = <240>;
|
||||
regulator-always-on;
|
||||
};
|
||||
mt6359_vsram_others_ldo_reg: ldo_vsram_others {
|
||||
regulator-name = "vsram_others";
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <1293750>;
|
||||
regulator-ramp-delay = <5000>;
|
||||
regulator-enable-ramp-delay = <240>;
|
||||
};
|
||||
mt6359_vefuse_ldo_reg: ldo_vefuse {
|
||||
regulator-name = "vefuse";
|
||||
regulator-min-microvolt = <1700000>;
|
||||
regulator-max-microvolt = <2000000>;
|
||||
};
|
||||
mt6359_vxo22_ldo_reg: ldo_vxo22 {
|
||||
regulator-name = "vxo22";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <2200000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
mt6359_vrfck_ldo_reg: ldo_vrfck {
|
||||
regulator-name = "vrfck";
|
||||
regulator-min-microvolt = <1500000>;
|
||||
regulator-max-microvolt = <1700000>;
|
||||
};
|
||||
mt6359_vrfck_1_ldo_reg: ldo_vrfck_1 {
|
||||
regulator-name = "vrfck";
|
||||
regulator-min-microvolt = <1240000>;
|
||||
regulator-max-microvolt = <1600000>;
|
||||
};
|
||||
mt6359_vbif28_ldo_reg: ldo_vbif28 {
|
||||
regulator-name = "vbif28";
|
||||
regulator-min-microvolt = <2800000>;
|
||||
regulator-max-microvolt = <2800000>;
|
||||
regulator-enable-ramp-delay = <240>;
|
||||
};
|
||||
mt6359_vio28_ldo_reg: ldo_vio28 {
|
||||
regulator-name = "vio28";
|
||||
regulator-min-microvolt = <2800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
mt6359_vemc_ldo_reg: ldo_vemc {
|
||||
regulator-name = "vemc";
|
||||
regulator-min-microvolt = <2900000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
mt6359_vemc_1_ldo_reg: ldo_vemc_1 {
|
||||
regulator-name = "vemc";
|
||||
regulator-min-microvolt = <2500000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
mt6359_vcn33_2_bt_ldo_reg: ldo_vcn33_2_bt {
|
||||
regulator-name = "vcn33_2_bt";
|
||||
regulator-min-microvolt = <2800000>;
|
||||
regulator-max-microvolt = <3500000>;
|
||||
};
|
||||
mt6359_vcn33_2_wifi_ldo_reg: ldo_vcn33_2_wifi {
|
||||
regulator-name = "vcn33_2_wifi";
|
||||
regulator-min-microvolt = <2800000>;
|
||||
regulator-max-microvolt = <3500000>;
|
||||
};
|
||||
mt6359_va12_ldo_reg: ldo_va12 {
|
||||
regulator-name = "va12";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <1300000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
mt6359_va09_ldo_reg: ldo_va09 {
|
||||
regulator-name = "va09";
|
||||
regulator-min-microvolt = <800000>;
|
||||
regulator-max-microvolt = <1200000>;
|
||||
};
|
||||
mt6359_vrf18_ldo_reg: ldo_vrf18 {
|
||||
regulator-name = "vrf18";
|
||||
regulator-min-microvolt = <1700000>;
|
||||
regulator-max-microvolt = <1810000>;
|
||||
};
|
||||
mt6359_vsram_md_ldo_reg: ldo_vsram_md {
|
||||
regulator-name = "vsram_md";
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <1293750>;
|
||||
regulator-ramp-delay = <10760>;
|
||||
regulator-enable-ramp-delay = <240>;
|
||||
};
|
||||
mt6359_vufs_ldo_reg: ldo_vufs {
|
||||
regulator-name = "vufs";
|
||||
regulator-min-microvolt = <1700000>;
|
||||
regulator-max-microvolt = <1900000>;
|
||||
};
|
||||
mt6359_vm18_ldo_reg: ldo_vm18 {
|
||||
regulator-name = "vm18";
|
||||
regulator-min-microvolt = <1700000>;
|
||||
regulator-max-microvolt = <1900000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
mt6359_vbbck_ldo_reg: ldo_vbbck {
|
||||
regulator-name = "vbbck";
|
||||
regulator-min-microvolt = <1100000>;
|
||||
regulator-max-microvolt = <1200000>;
|
||||
};
|
||||
mt6359_vsram_proc1_ldo_reg: ldo_vsram_proc1 {
|
||||
regulator-name = "vsram_proc1";
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <1293750>;
|
||||
regulator-ramp-delay = <7500>;
|
||||
regulator-enable-ramp-delay = <240>;
|
||||
regulator-always-on;
|
||||
};
|
||||
mt6359_vsim2_ldo_reg: ldo_vsim2 {
|
||||
regulator-name = "vsim2";
|
||||
regulator-min-microvolt = <1700000>;
|
||||
regulator-max-microvolt = <3100000>;
|
||||
};
|
||||
mt6359_vsram_others_sshub_ldo: ldo_vsram_others_sshub {
|
||||
regulator-name = "vsram_others_sshub";
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <1293750>;
|
||||
};
|
||||
};
|
||||
};
|
||||
...
|
113
bindings/regulator/mt6360-regulator.yaml
Normal file
113
bindings/regulator/mt6360-regulator.yaml
Normal file
@@ -0,0 +1,113 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/regulator/mt6360-regulator.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: MT6360 Regulator from MediaTek Integrated
|
||||
|
||||
maintainers:
|
||||
- Gene Chen <gene_chen@richtek.com>
|
||||
|
||||
description: |
|
||||
list of regulators provided by this controller, must be named
|
||||
after their hardware counterparts buck1/2 or ldo1/2/3/5/6/7
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: mediatek,mt6360-regulator
|
||||
|
||||
LDO_VIN1-supply:
|
||||
description: Input supply phandle(s) for LDO1/2/3
|
||||
LDO_VIN2-supply:
|
||||
description: Input supply phandle(s) for LDO5
|
||||
LDO_VIN3-supply:
|
||||
description: Input supply phandle(s) for LDO6/7
|
||||
|
||||
patternProperties:
|
||||
"^buck[12]$":
|
||||
$ref: "regulator.yaml#"
|
||||
|
||||
"^ldo[123567]$":
|
||||
$ref: "regulator.yaml#"
|
||||
|
||||
required:
|
||||
- compatible
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
#include <dt-bindings/regulator/mediatek,mt6360-regulator.h>
|
||||
regulator {
|
||||
compatible = "mediatek,mt6360-regulator";
|
||||
LDO_VIN3-supply = <&BUCK2>;
|
||||
buck1 {
|
||||
regulator-compatible = "BUCK1";
|
||||
regulator-name = "mt6360,buck1";
|
||||
regulator-min-microvolt = <300000>;
|
||||
regulator-max-microvolt = <1300000>;
|
||||
regulator-allowed-modes = <MT6360_OPMODE_NORMAL
|
||||
MT6360_OPMODE_LP
|
||||
MT6360_OPMODE_ULP>;
|
||||
};
|
||||
BUCK2: buck2 {
|
||||
regulator-compatible = "BUCK2";
|
||||
regulator-name = "mt6360,buck2";
|
||||
regulator-min-microvolt = <300000>;
|
||||
regulator-max-microvolt = <1300000>;
|
||||
regulator-allowed-modes = <MT6360_OPMODE_NORMAL
|
||||
MT6360_OPMODE_LP
|
||||
MT6360_OPMODE_ULP>;
|
||||
};
|
||||
ldo6 {
|
||||
regulator-compatible = "LDO6";
|
||||
regulator-name = "mt6360,ldo6";
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <2100000>;
|
||||
regulator-allowed-modes = <MT6360_OPMODE_NORMAL
|
||||
MT6360_OPMODE_LP>;
|
||||
};
|
||||
ldo7 {
|
||||
regulator-compatible = "LDO7";
|
||||
regulator-name = "mt6360,ldo7";
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <2100000>;
|
||||
regulator-allowed-modes = <MT6360_OPMODE_NORMAL
|
||||
MT6360_OPMODE_LP>;
|
||||
};
|
||||
ldo1 {
|
||||
regulator-compatible = "LDO1";
|
||||
regulator-name = "mt6360,ldo1";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <3600000>;
|
||||
regulator-allowed-modes = <MT6360_OPMODE_NORMAL
|
||||
MT6360_OPMODE_LP>;
|
||||
};
|
||||
ldo2 {
|
||||
regulator-compatible = "LDO2";
|
||||
regulator-name = "mt6360,ldo2";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <3600000>;
|
||||
regulator-allowed-modes = <MT6360_OPMODE_NORMAL
|
||||
MT6360_OPMODE_LP>;
|
||||
};
|
||||
ldo3 {
|
||||
regulator-compatible = "LDO3";
|
||||
regulator-name = "mt6360,ldo3";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <3600000>;
|
||||
regulator-allowed-modes = <MT6360_OPMODE_NORMAL
|
||||
MT6360_OPMODE_LP>;
|
||||
};
|
||||
ldo5 {
|
||||
regulator-compatible = "LDO5";
|
||||
regulator-name = "mt6360,ldo5";
|
||||
regulator-min-microvolt = <2700000>;
|
||||
regulator-max-microvolt = <3600000>;
|
||||
regulator-allowed-modes = <MT6360_OPMODE_NORMAL
|
||||
MT6360_OPMODE_LP>;
|
||||
};
|
||||
};
|
||||
...
|
89
bindings/regulator/mt6380-regulator.txt
Normal file
89
bindings/regulator/mt6380-regulator.txt
Normal file
@@ -0,0 +1,89 @@
|
||||
MediaTek MT6380 Regulator
|
||||
|
||||
All voltage regulators provided by the MT6380 PMIC are described as the
|
||||
subnodes of the MT6380 regulators node. Each regulator is named according
|
||||
to its regulator type, buck-<name> and ldo-<name>. The definition for each
|
||||
of these nodes is defined using the standard binding for regulators at
|
||||
Documentation/devicetree/bindings/regulator/regulator.txt.
|
||||
|
||||
The valid names for regulators are:
|
||||
BUCK:
|
||||
buck-core1, buck-vcore, buck-vrf
|
||||
LDO:
|
||||
ldo-vm ,ldo-va , ldo-vphy, ldo-vddr, ldo-vt
|
||||
|
||||
Example:
|
||||
|
||||
regulators {
|
||||
compatible = "mediatek,mt6380-regulator";
|
||||
|
||||
mt6380_vcpu_reg: buck-vcore1 {
|
||||
regulator-name = "vcore1";
|
||||
regulator-min-microvolt = < 600000>;
|
||||
regulator-max-microvolt = <1393750>;
|
||||
regulator-ramp-delay = <6250>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
mt6380_vcore_reg: buck-vcore {
|
||||
regulator-name = "vcore";
|
||||
regulator-min-microvolt = <600000>;
|
||||
regulator-max-microvolt = <1393750>;
|
||||
regulator-ramp-delay = <6250>;
|
||||
};
|
||||
|
||||
mt6380_vrf_reg: buck-vrf {
|
||||
regulator-name = "vrf";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <1575000>;
|
||||
regulator-ramp-delay = <0>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
mt6380_vm_reg: ldo-vm {
|
||||
regulator-name = "vm";
|
||||
regulator-min-microvolt = <1050000>;
|
||||
regulator-max-microvolt = <1400000>;
|
||||
regulator-ramp-delay = <0>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
mt6380_va_reg: ldo-va {
|
||||
regulator-name = "va";
|
||||
regulator-min-microvolt = <2200000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-ramp-delay = <0>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
mt6380_vphy_reg: ldo-vphy {
|
||||
regulator-name = "vphy";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-ramp-delay = <0>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
mt6380_vddr_reg: ldo-vddr {
|
||||
regulator-name = "vddr";
|
||||
regulator-min-microvolt = <1240000>;
|
||||
regulator-max-microvolt = <1840000>;
|
||||
regulator-ramp-delay = <0>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
mt6380_vt_reg: ldo-vt {
|
||||
regulator-name = "vt";
|
||||
regulator-min-microvolt = <2200000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-ramp-delay = <0>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
};
|
220
bindings/regulator/mt6397-regulator.txt
Normal file
220
bindings/regulator/mt6397-regulator.txt
Normal file
@@ -0,0 +1,220 @@
|
||||
Mediatek MT6397 Regulator
|
||||
|
||||
Required properties:
|
||||
- compatible: "mediatek,mt6397-regulator"
|
||||
- mt6397regulator: List of regulators provided by this controller. It is named
|
||||
according to its regulator type, buck_<name> and ldo_<name>.
|
||||
The definition for each of these nodes is defined using the standard binding
|
||||
for regulators at Documentation/devicetree/bindings/regulator/regulator.txt.
|
||||
|
||||
The valid names for regulators are::
|
||||
BUCK:
|
||||
buck_vpca15, buck_vpca7, buck_vsramca15, buck_vsramca7, buck_vcore, buck_vgpu,
|
||||
buck_vdrm, buck_vio18
|
||||
LDO:
|
||||
ldo_vtcxo, ldo_va28, ldo_vcama, ldo_vio28, ldo_vusb, ldo_vmc, ldo_vmch,
|
||||
ldo_vemc3v3, ldo_vgp1, ldo_vgp2, ldo_vgp3, ldo_vgp4, ldo_vgp5, ldo_vgp6,
|
||||
ldo_vibr
|
||||
|
||||
BUCK regulators can set regulator-initial-mode and regulator-allowed-modes to
|
||||
values specified in dt-bindings/regulator/mediatek,mt6397-regulator.h
|
||||
|
||||
Example:
|
||||
pmic {
|
||||
compatible = "mediatek,mt6397";
|
||||
|
||||
mt6397regulator: mt6397regulator {
|
||||
compatible = "mediatek,mt6397-regulator";
|
||||
|
||||
mt6397_vpca15_reg: buck_vpca15 {
|
||||
regulator-compatible = "buck_vpca15";
|
||||
regulator-name = "vpca15";
|
||||
regulator-min-microvolt = < 850000>;
|
||||
regulator-max-microvolt = <1350000>;
|
||||
regulator-ramp-delay = <12500>;
|
||||
regulator-enable-ramp-delay = <200>;
|
||||
};
|
||||
|
||||
mt6397_vpca7_reg: buck_vpca7 {
|
||||
regulator-compatible = "buck_vpca7";
|
||||
regulator-name = "vpca7";
|
||||
regulator-min-microvolt = < 850000>;
|
||||
regulator-max-microvolt = <1350000>;
|
||||
regulator-ramp-delay = <12500>;
|
||||
regulator-enable-ramp-delay = <115>;
|
||||
};
|
||||
|
||||
mt6397_vsramca15_reg: buck_vsramca15 {
|
||||
regulator-compatible = "buck_vsramca15";
|
||||
regulator-name = "vsramca15";
|
||||
regulator-min-microvolt = < 850000>;
|
||||
regulator-max-microvolt = <1350000>;
|
||||
regulator-ramp-delay = <12500>;
|
||||
regulator-enable-ramp-delay = <115>;
|
||||
|
||||
};
|
||||
|
||||
mt6397_vsramca7_reg: buck_vsramca7 {
|
||||
regulator-compatible = "buck_vsramca7";
|
||||
regulator-name = "vsramca7";
|
||||
regulator-min-microvolt = < 850000>;
|
||||
regulator-max-microvolt = <1350000>;
|
||||
regulator-ramp-delay = <12500>;
|
||||
regulator-enable-ramp-delay = <115>;
|
||||
|
||||
};
|
||||
|
||||
mt6397_vcore_reg: buck_vcore {
|
||||
regulator-compatible = "buck_vcore";
|
||||
regulator-name = "vcore";
|
||||
regulator-min-microvolt = < 850000>;
|
||||
regulator-max-microvolt = <1350000>;
|
||||
regulator-ramp-delay = <12500>;
|
||||
regulator-enable-ramp-delay = <115>;
|
||||
};
|
||||
|
||||
mt6397_vgpu_reg: buck_vgpu {
|
||||
regulator-compatible = "buck_vgpu";
|
||||
regulator-name = "vgpu";
|
||||
regulator-min-microvolt = < 700000>;
|
||||
regulator-max-microvolt = <1350000>;
|
||||
regulator-ramp-delay = <12500>;
|
||||
regulator-enable-ramp-delay = <115>;
|
||||
};
|
||||
|
||||
mt6397_vdrm_reg: buck_vdrm {
|
||||
regulator-compatible = "buck_vdrm";
|
||||
regulator-name = "vdrm";
|
||||
regulator-min-microvolt = < 800000>;
|
||||
regulator-max-microvolt = <1400000>;
|
||||
regulator-ramp-delay = <12500>;
|
||||
regulator-enable-ramp-delay = <500>;
|
||||
};
|
||||
|
||||
mt6397_vio18_reg: buck_vio18 {
|
||||
regulator-compatible = "buck_vio18";
|
||||
regulator-name = "vio18";
|
||||
regulator-min-microvolt = <1500000>;
|
||||
regulator-max-microvolt = <2120000>;
|
||||
regulator-ramp-delay = <12500>;
|
||||
regulator-enable-ramp-delay = <500>;
|
||||
};
|
||||
|
||||
mt6397_vtcxo_reg: ldo_vtcxo {
|
||||
regulator-compatible = "ldo_vtcxo";
|
||||
regulator-name = "vtcxo";
|
||||
regulator-min-microvolt = <2800000>;
|
||||
regulator-max-microvolt = <2800000>;
|
||||
regulator-enable-ramp-delay = <90>;
|
||||
};
|
||||
|
||||
mt6397_va28_reg: ldo_va28 {
|
||||
regulator-compatible = "ldo_va28";
|
||||
regulator-name = "va28";
|
||||
/* fixed output 2.8 V */
|
||||
regulator-enable-ramp-delay = <218>;
|
||||
};
|
||||
|
||||
mt6397_vcama_reg: ldo_vcama {
|
||||
regulator-compatible = "ldo_vcama";
|
||||
regulator-name = "vcama";
|
||||
regulator-min-microvolt = <1500000>;
|
||||
regulator-max-microvolt = <2800000>;
|
||||
regulator-enable-ramp-delay = <218>;
|
||||
};
|
||||
|
||||
mt6397_vio28_reg: ldo_vio28 {
|
||||
regulator-compatible = "ldo_vio28";
|
||||
regulator-name = "vio28";
|
||||
/* fixed output 2.8 V */
|
||||
regulator-enable-ramp-delay = <240>;
|
||||
};
|
||||
|
||||
mt6397_usb_reg: ldo_vusb {
|
||||
regulator-compatible = "ldo_vusb";
|
||||
regulator-name = "vusb";
|
||||
/* fixed output 3.3 V */
|
||||
regulator-enable-ramp-delay = <218>;
|
||||
};
|
||||
|
||||
mt6397_vmc_reg: ldo_vmc {
|
||||
regulator-compatible = "ldo_vmc";
|
||||
regulator-name = "vmc";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-enable-ramp-delay = <218>;
|
||||
};
|
||||
|
||||
mt6397_vmch_reg: ldo_vmch {
|
||||
regulator-compatible = "ldo_vmch";
|
||||
regulator-name = "vmch";
|
||||
regulator-min-microvolt = <3000000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-enable-ramp-delay = <218>;
|
||||
};
|
||||
|
||||
mt6397_vemc_3v3_reg: ldo_vemc3v3 {
|
||||
regulator-compatible = "ldo_vemc3v3";
|
||||
regulator-name = "vemc_3v3";
|
||||
regulator-min-microvolt = <3000000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-enable-ramp-delay = <218>;
|
||||
};
|
||||
|
||||
mt6397_vgp1_reg: ldo_vgp1 {
|
||||
regulator-compatible = "ldo_vgp1";
|
||||
regulator-name = "vcamd";
|
||||
regulator-min-microvolt = <1220000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-enable-ramp-delay = <240>;
|
||||
};
|
||||
|
||||
mt6397_vgp2_reg: ldo_vgp2 {
|
||||
egulator-compatible = "ldo_vgp2";
|
||||
regulator-name = "vcamio";
|
||||
regulator-min-microvolt = <1000000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-enable-ramp-delay = <218>;
|
||||
};
|
||||
|
||||
mt6397_vgp3_reg: ldo_vgp3 {
|
||||
regulator-compatible = "ldo_vgp3";
|
||||
regulator-name = "vcamaf";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-enable-ramp-delay = <218>;
|
||||
};
|
||||
|
||||
mt6397_vgp4_reg: ldo_vgp4 {
|
||||
regulator-compatible = "ldo_vgp4";
|
||||
regulator-name = "vgp4";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-enable-ramp-delay = <218>;
|
||||
};
|
||||
|
||||
mt6397_vgp5_reg: ldo_vgp5 {
|
||||
regulator-compatible = "ldo_vgp5";
|
||||
regulator-name = "vgp5";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <3000000>;
|
||||
regulator-enable-ramp-delay = <218>;
|
||||
};
|
||||
|
||||
mt6397_vgp6_reg: ldo_vgp6 {
|
||||
regulator-compatible = "ldo_vgp6";
|
||||
regulator-name = "vgp6";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-enable-ramp-delay = <218>;
|
||||
};
|
||||
|
||||
mt6397_vibr_reg: ldo_vibr {
|
||||
regulator-compatible = "ldo_vibr";
|
||||
regulator-name = "vibr";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-enable-ramp-delay = <218>;
|
||||
};
|
||||
};
|
||||
};
|
65
bindings/regulator/nvidia,tegra-regulators-coupling.txt
Normal file
65
bindings/regulator/nvidia,tegra-regulators-coupling.txt
Normal file
@@ -0,0 +1,65 @@
|
||||
NVIDIA Tegra Regulators Coupling
|
||||
================================
|
||||
|
||||
NVIDIA Tegra SoC's have a mandatory voltage-coupling between regulators.
|
||||
Thus on Tegra20 there are 3 coupled regulators and on NVIDIA Tegra30
|
||||
there are 2.
|
||||
|
||||
Tegra20 voltage coupling
|
||||
------------------------
|
||||
|
||||
On Tegra20 SoC's there are 3 coupled regulators: CORE, RTC and CPU.
|
||||
The CORE and RTC voltages shall be in a range of 170mV from each other
|
||||
and they both shall be higher than the CPU voltage by at least 120mV.
|
||||
|
||||
Tegra30 voltage coupling
|
||||
------------------------
|
||||
|
||||
On Tegra30 SoC's there are 2 coupled regulators: CORE and CPU. The CORE
|
||||
and CPU voltages shall be in a range of 300mV from each other and CORE
|
||||
voltage shall be higher than the CPU by N mV, where N depends on the CPU
|
||||
voltage.
|
||||
|
||||
Required properties:
|
||||
- nvidia,tegra-core-regulator: Boolean property that designates regulator
|
||||
as the "Core domain" voltage regulator.
|
||||
- nvidia,tegra-rtc-regulator: Boolean property that designates regulator
|
||||
as the "RTC domain" voltage regulator.
|
||||
- nvidia,tegra-cpu-regulator: Boolean property that designates regulator
|
||||
as the "CPU domain" voltage regulator.
|
||||
|
||||
Example:
|
||||
|
||||
pmic {
|
||||
regulators {
|
||||
core_vdd_reg: core {
|
||||
regulator-name = "vdd_core";
|
||||
regulator-min-microvolt = <950000>;
|
||||
regulator-max-microvolt = <1300000>;
|
||||
regulator-coupled-with = <&rtc_vdd_reg &cpu_vdd_reg>;
|
||||
regulator-coupled-max-spread = <170000 550000>;
|
||||
|
||||
nvidia,tegra-core-regulator;
|
||||
};
|
||||
|
||||
rtc_vdd_reg: rtc {
|
||||
regulator-name = "vdd_rtc";
|
||||
regulator-min-microvolt = <950000>;
|
||||
regulator-max-microvolt = <1300000>;
|
||||
regulator-coupled-with = <&core_vdd_reg &cpu_vdd_reg>;
|
||||
regulator-coupled-max-spread = <170000 550000>;
|
||||
|
||||
nvidia,tegra-rtc-regulator;
|
||||
};
|
||||
|
||||
cpu_vdd_reg: cpu {
|
||||
regulator-name = "vdd_cpu";
|
||||
regulator-min-microvolt = <750000>;
|
||||
regulator-max-microvolt = <1125000>;
|
||||
regulator-coupled-with = <&core_vdd_reg &rtc_vdd_reg>;
|
||||
regulator-coupled-max-spread = <550000 550000>;
|
||||
|
||||
nvidia,tegra-cpu-regulator;
|
||||
};
|
||||
};
|
||||
};
|
195
bindings/regulator/nxp,pca9450-regulator.yaml
Normal file
195
bindings/regulator/nxp,pca9450-regulator.yaml
Normal file
@@ -0,0 +1,195 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/regulator/nxp,pca9450-regulator.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: NXP PCA9450A/B/C Power Management Integrated Circuit regulators
|
||||
|
||||
maintainers:
|
||||
- Robin Gong <yibin.gong@nxp.com>
|
||||
|
||||
description: |
|
||||
Regulator nodes should be named to BUCK_<number> and LDO_<number>. The
|
||||
definition for each of these nodes is defined using the standard
|
||||
binding for regulators at
|
||||
Documentation/devicetree/bindings/regulator/regulator.txt.
|
||||
Datasheet is available at
|
||||
https://www.nxp.com/docs/en/data-sheet/PCA9450DS.pdf
|
||||
|
||||
#The valid names for PCA9450 regulator nodes are:
|
||||
#BUCK1, BUCK2, BUCK3, BUCK4, BUCK5, BUCK6,
|
||||
#LDO1, LDO2, LDO3, LDO4, LDO5
|
||||
#Note: Buck3 removed on PCA9450B and connect with Buck1 on PCA9450C.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- nxp,pca9450a
|
||||
- nxp,pca9450b
|
||||
- nxp,pca9450c
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
regulators:
|
||||
type: object
|
||||
description: |
|
||||
list of regulators provided by this controller
|
||||
|
||||
patternProperties:
|
||||
"^LDO[1-5]$":
|
||||
type: object
|
||||
$ref: regulator.yaml#
|
||||
description:
|
||||
Properties for single LDO regulator.
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
"^BUCK[1-6]$":
|
||||
type: object
|
||||
$ref: regulator.yaml#
|
||||
description:
|
||||
Properties for single BUCK regulator.
|
||||
|
||||
properties:
|
||||
nxp,dvs-run-voltage:
|
||||
$ref: "/schemas/types.yaml#/definitions/uint32"
|
||||
minimum: 600000
|
||||
maximum: 2187500
|
||||
description:
|
||||
PMIC default "RUN" state voltage in uV. Only Buck1~3 have such
|
||||
dvs(dynamic voltage scaling) property.
|
||||
|
||||
nxp,dvs-standby-voltage:
|
||||
$ref: "/schemas/types.yaml#/definitions/uint32"
|
||||
minimum: 600000
|
||||
maximum: 2187500
|
||||
description:
|
||||
PMIC default "STANDBY" state voltage in uV. Only Buck1~3 have such
|
||||
dvs(dynamic voltage scaling) property.
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
sd-vsel-gpios:
|
||||
description: GPIO that is used to switch LDO5 between being configured by
|
||||
LDO5CTRL_L or LDO5CTRL_H register. Use this if the SD_VSEL signal is
|
||||
connected to a host GPIO.
|
||||
|
||||
nxp,i2c-lt-enable:
|
||||
type: boolean
|
||||
description:
|
||||
Indicates that the I2C Level Translator is used.
|
||||
|
||||
nxp,wdog_b-warm-reset:
|
||||
type: boolean
|
||||
description:
|
||||
When WDOG_B signal is asserted a warm reset will be done instead of cold
|
||||
reset.
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- interrupts
|
||||
- regulators
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
pmic: pmic@25 {
|
||||
compatible = "nxp,pca9450b";
|
||||
reg = <0x25>;
|
||||
pinctrl-0 = <&pinctrl_pmic>;
|
||||
interrupt-parent = <&gpio1>;
|
||||
interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
|
||||
|
||||
regulators {
|
||||
buck1: BUCK1 {
|
||||
regulator-name = "BUCK1";
|
||||
regulator-min-microvolt = <600000>;
|
||||
regulator-max-microvolt = <2187500>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
regulator-ramp-delay = <3125>;
|
||||
};
|
||||
buck2: BUCK2 {
|
||||
regulator-name = "BUCK2";
|
||||
regulator-min-microvolt = <600000>;
|
||||
regulator-max-microvolt = <2187500>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
regulator-ramp-delay = <3125>;
|
||||
nxp,dvs-run-voltage = <950000>;
|
||||
nxp,dvs-standby-voltage = <850000>;
|
||||
};
|
||||
buck4: BUCK4 {
|
||||
regulator-name = "BUCK4";
|
||||
regulator-min-microvolt = <600000>;
|
||||
regulator-max-microvolt = <3400000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
buck5: BUCK5 {
|
||||
regulator-name = "BUCK5";
|
||||
regulator-min-microvolt = <600000>;
|
||||
regulator-max-microvolt = <3400000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
buck6: BUCK6 {
|
||||
regulator-name = "BUCK6";
|
||||
regulator-min-microvolt = <600000>;
|
||||
regulator-max-microvolt = <3400000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
ldo1: LDO1 {
|
||||
regulator-name = "LDO1";
|
||||
regulator-min-microvolt = <1600000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
ldo2: LDO2 {
|
||||
regulator-name = "LDO2";
|
||||
regulator-min-microvolt = <800000>;
|
||||
regulator-max-microvolt = <1150000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
ldo3: LDO3 {
|
||||
regulator-name = "LDO3";
|
||||
regulator-min-microvolt = <800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
ldo4: LDO4 {
|
||||
regulator-name = "LDO4";
|
||||
regulator-min-microvolt = <800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
ldo5: LDO5 {
|
||||
regulator-name = "LDO5";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
207
bindings/regulator/nxp,pf8x00-regulator.yaml
Normal file
207
bindings/regulator/nxp,pf8x00-regulator.yaml
Normal file
@@ -0,0 +1,207 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/regulator/nxp,pf8x00-regulator.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: NXP PF8100/PF8121A/PF8200 PMIC regulators
|
||||
|
||||
maintainers:
|
||||
- Jagan Teki <jagan@amarulasolutions.com>
|
||||
- Troy Kisky <troy.kisky@boundarydevices.com>
|
||||
|
||||
description: |
|
||||
PF8100/PF8121A/PF8200 is a PMIC designed for highperformance consumer
|
||||
applications. It features seven high efficiency buck converters, four
|
||||
linear and one vsnvs regulators. It has built-in one time programmable
|
||||
fuse bank for device configurations.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- nxp,pf8100
|
||||
- nxp,pf8121a
|
||||
- nxp,pf8200
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
regulators:
|
||||
type: object
|
||||
description: |
|
||||
list of regulators provided by this controller
|
||||
|
||||
patternProperties:
|
||||
"^ldo[1-4]$":
|
||||
type: object
|
||||
$ref: regulator.yaml#
|
||||
description:
|
||||
Properties for single LDO regulator.
|
||||
|
||||
properties:
|
||||
regulator-name:
|
||||
pattern: "^ldo[1-4]$"
|
||||
description:
|
||||
should be "ldo1", ..., "ldo4"
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
"^buck[1-7]$":
|
||||
type: object
|
||||
$ref: regulator.yaml#
|
||||
description:
|
||||
Properties for single BUCK regulator.
|
||||
|
||||
properties:
|
||||
regulator-name:
|
||||
pattern: "^buck[1-7]$"
|
||||
description:
|
||||
should be "buck1", ..., "buck7"
|
||||
|
||||
nxp,ilim-ma:
|
||||
$ref: "/schemas/types.yaml#/definitions/uint32"
|
||||
minimum: 2100
|
||||
maximum: 4500
|
||||
deprecated: true
|
||||
description:
|
||||
BUCK regulators current limit in mA.
|
||||
This property is deprecated, please use
|
||||
"regulator-max-microamp" instead.
|
||||
|
||||
Listed current limits in mA are,
|
||||
2100 (default)
|
||||
2600
|
||||
3000
|
||||
4500
|
||||
|
||||
nxp,phase-shift:
|
||||
$ref: "/schemas/types.yaml#/definitions/uint32"
|
||||
default: 0
|
||||
enum: [ 0, 45, 90, 135, 180, 225, 270, 315 ]
|
||||
description:
|
||||
BUCK regulators phase shift control in degrees.
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
properties:
|
||||
vsnvs:
|
||||
type: object
|
||||
$ref: regulator.yaml#
|
||||
description:
|
||||
Properties for single VSNVS regulator.
|
||||
|
||||
properties:
|
||||
regulator-name:
|
||||
pattern: "^vsnvs$"
|
||||
description:
|
||||
should be "vsnvs"
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- regulators
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
i2c1 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
pmic@8 {
|
||||
compatible = "nxp,pf8100";
|
||||
reg = <0x08>;
|
||||
|
||||
regulators {
|
||||
reg_ldo1: ldo1 {
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
regulator-min-microvolt = <1500000>;
|
||||
};
|
||||
|
||||
reg_ldo2: ldo2 {
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
regulator-min-microvolt = <1500000>;
|
||||
};
|
||||
|
||||
reg_ldo3: ldo3 {
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
regulator-min-microvolt = <1500000>;
|
||||
};
|
||||
|
||||
reg_ldo4: ldo4 {
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
regulator-min-microvolt = <1500000>;
|
||||
};
|
||||
|
||||
reg_buck1: buck1 {
|
||||
nxp,ilim-ma = <4500>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-min-microvolt = <400000>;
|
||||
};
|
||||
|
||||
reg_buck2: buck2 {
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-min-microvolt = <400000>;
|
||||
};
|
||||
|
||||
reg_buck3: buck3 {
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-min-microvolt = <400000>;
|
||||
};
|
||||
|
||||
reg_buck4: buck4 {
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-min-microvolt = <400000>;
|
||||
};
|
||||
|
||||
reg_buck5: buck5 {
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-min-microvolt = <400000>;
|
||||
};
|
||||
|
||||
reg_buck6: buck6 {
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-min-microvolt = <400000>;
|
||||
};
|
||||
|
||||
reg_buck7: buck7 {
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-min-microvolt = <3300000>;
|
||||
};
|
||||
|
||||
reg_vsnvs: vsnvs {
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-min-microvolt = <1800000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
85
bindings/regulator/onnn,fan53880.yaml
Normal file
85
bindings/regulator/onnn,fan53880.yaml
Normal file
@@ -0,0 +1,85 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/regulator/onnn,fan53880.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Onsemi FAN53880 PMIC
|
||||
|
||||
maintainers:
|
||||
- Christoph Fritz <chf.fritz@googlemail.com>
|
||||
|
||||
description: |
|
||||
The FAN53880 is an I2C porgrammable power management IC (PMIC)
|
||||
that contains a BUCK (step-down converter), four low dropouts (LDO)
|
||||
and one BOOST (step-up converter) output. It is designed for mobile
|
||||
power applications.
|
||||
|
||||
properties:
|
||||
$nodename:
|
||||
pattern: "pmic@[0-9a-f]{1,2}"
|
||||
compatible:
|
||||
enum:
|
||||
- onnn,fan53880
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
VIN12-supply:
|
||||
description: Input supply phandle(s) for LDO1 and LDO2
|
||||
|
||||
VIN3-supply:
|
||||
description: Input supply phandle(s) for LDO3
|
||||
|
||||
VIN4-supply:
|
||||
description: Input supply phandle(s) for LDO4
|
||||
|
||||
PVIN-supply:
|
||||
description: Input supply phandle(s) for BUCK and BOOST
|
||||
|
||||
regulators:
|
||||
type: object
|
||||
$ref: regulator.yaml#
|
||||
description: |
|
||||
list of regulators provided by this controller, must be named
|
||||
after their hardware counterparts LDO[1-4], BUCK and BOOST
|
||||
|
||||
patternProperties:
|
||||
"^LDO[1-4]$":
|
||||
type: object
|
||||
$ref: regulator.yaml#
|
||||
|
||||
"^BUCK|BOOST$":
|
||||
type: object
|
||||
$ref: regulator.yaml#
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- regulators
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
pmic@35 {
|
||||
compatible = "onnn,fan53880";
|
||||
reg = <0x35>;
|
||||
|
||||
PVIN-supply = <&fixreg_example_vcc>;
|
||||
|
||||
regulators {
|
||||
BUCK {
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <1200000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
...
|
89
bindings/regulator/palmas-pmic.txt
Normal file
89
bindings/regulator/palmas-pmic.txt
Normal file
@@ -0,0 +1,89 @@
|
||||
* palmas regulator IP block devicetree bindings
|
||||
|
||||
The tps659038 for the AM57x class have OTP spins that
|
||||
have different part numbers but the same functionality. There
|
||||
is not a need to add the OTP spins to the palmas driver. The
|
||||
spin devices should use the tps659038 as it's compatible value.
|
||||
This is the list of those devices:
|
||||
tps659037
|
||||
|
||||
Required properties:
|
||||
- compatible : Should be from the list
|
||||
ti,twl6035-pmic
|
||||
ti,twl6036-pmic
|
||||
ti,twl6037-pmic
|
||||
ti,tps65913-pmic
|
||||
ti,tps65914-pmic
|
||||
ti,tps65917-pmic
|
||||
ti,tps659038-pmic
|
||||
and also the generic series names
|
||||
ti,palmas-pmic
|
||||
- interrupts : The interrupt number and the type which can be looked up here:
|
||||
arch/arm/boot/dts/include/dt-bindings/interrupt-controller/irq.h
|
||||
- interrupts-name: The names of the individual interrupts.
|
||||
|
||||
Optional properties:
|
||||
- ti,ldo6-vibrator : ldo6 is in vibrator mode
|
||||
|
||||
Optional nodes:
|
||||
- regulators : Must contain a sub-node per regulator from the list below.
|
||||
Each sub-node should contain the constraints and initialization
|
||||
information for that regulator. See regulator.txt for a
|
||||
description of standard properties for these sub-nodes.
|
||||
Additional custom properties are listed below.
|
||||
|
||||
For ti,palmas-pmic - smps12, smps123, smps3 depending on OTP,
|
||||
smps45, smps457, smps7 depending on variant, smps6, smps[8-9],
|
||||
smps10_out2, smps10_out1, ldo[1-9], ldoln, ldousb.
|
||||
|
||||
Optional sub-node properties:
|
||||
ti,warm-reset - maintain voltage during warm reset(boolean)
|
||||
ti,roof-floor - This takes as optional argument on platform supporting
|
||||
the rail from desired external control. If there is no argument then
|
||||
it will be assume that it is controlled by NSLEEP pin.
|
||||
The valid value for external pins are:
|
||||
ENABLE1 then 1,
|
||||
ENABLE2 then 2 or
|
||||
NSLEEP then 3.
|
||||
ti,mode-sleep - mode to adopt in pmic sleep 0 - off, 1 - auto,
|
||||
2 - eco, 3 - forced pwm
|
||||
ti,smps-range - OTP has the wrong range set for the hardware so override
|
||||
0 - low range, 1 - high range.
|
||||
|
||||
- ti,system-power-controller: Telling whether or not this pmic is controlling
|
||||
the system power.
|
||||
|
||||
Example:
|
||||
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
|
||||
pmic {
|
||||
compatible = "ti,twl6035-pmic", "ti,palmas-pmic";
|
||||
interrupt-parent = <&palmas>;
|
||||
interrupts = <14 IRQ_TYPE_NONE>;
|
||||
interrupts-name = "short-irq";
|
||||
|
||||
ti,ldo6-vibrator;
|
||||
|
||||
ti,system-power-controller;
|
||||
|
||||
regulators {
|
||||
smps12_reg : smps12 {
|
||||
regulator-name = "smps12";
|
||||
regulator-min-microvolt = < 600000>;
|
||||
regulator-max-microvolt = <1500000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
ti,warm-reset;
|
||||
ti,roof-floor = <1>; /* ENABLE1 control */
|
||||
ti,mode-sleep = <0>;
|
||||
ti,smps-range = <1>;
|
||||
};
|
||||
|
||||
ldo1_reg: ldo1 {
|
||||
regulator-name = "ldo1";
|
||||
regulator-min-microvolt = <2800000>;
|
||||
regulator-max-microvolt = <2800000>;
|
||||
};
|
||||
};
|
||||
};
|
32
bindings/regulator/pbias-regulator.txt
Normal file
32
bindings/regulator/pbias-regulator.txt
Normal file
@@ -0,0 +1,32 @@
|
||||
PBIAS internal regulator for SD card dual voltage i/o pads on OMAP SoCs.
|
||||
|
||||
Required properties:
|
||||
- compatible:
|
||||
- should be "ti,pbias-dra7" for DRA7
|
||||
- should be "ti,pbias-omap2" for OMAP2
|
||||
- should be "ti,pbias-omap3" for OMAP3
|
||||
- should be "ti,pbias-omap4" for OMAP4
|
||||
- should be "ti,pbias-omap5" for OMAP5
|
||||
- "ti,pbias-omap" is deprecated
|
||||
- reg: pbias register offset from syscon base and size of pbias register.
|
||||
- syscon : phandle of the system control module
|
||||
- regulator-name : should be
|
||||
pbias_mmc_omap2430 for OMAP2430, OMAP3 SoCs
|
||||
pbias_sim_omap3 for OMAP3 SoCs
|
||||
pbias_mmc_omap4 for OMAP4 SoCs
|
||||
pbias_mmc_omap5 for OMAP5 and DRA7 SoC
|
||||
|
||||
Optional properties:
|
||||
- Any optional property defined in bindings/regulator/regulator.txt
|
||||
|
||||
Example:
|
||||
|
||||
pbias_regulator: pbias_regulator {
|
||||
compatible = "ti,pbias-omap";
|
||||
reg = <0 0x4>;
|
||||
syscon = <&omap5_padconf_global>;
|
||||
pbias_mmc_reg: pbias_mmc_omap5 {
|
||||
regulator-name = "pbias_mmc_omap5";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <3000000>;
|
||||
};
|
192
bindings/regulator/pfuze100.yaml
Normal file
192
bindings/regulator/pfuze100.yaml
Normal file
@@ -0,0 +1,192 @@
|
||||
# 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
|
||||
|
||||
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
|
||||
|
||||
"^vgen[1-6]$":
|
||||
$ref: "regulator.yaml#"
|
||||
type: object
|
||||
|
||||
"^vldo[1-4]$":
|
||||
$ref: "regulator.yaml#"
|
||||
type: object
|
||||
|
||||
"^(vsnvs|vref|vrefddr|swbst|coin|v33|vccsd)$":
|
||||
$ref: "regulator.yaml#"
|
||||
type: object
|
||||
|
||||
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;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
124
bindings/regulator/pv88060.txt
Normal file
124
bindings/regulator/pv88060.txt
Normal file
@@ -0,0 +1,124 @@
|
||||
* Powerventure Semiconductor PV88060 Voltage Regulator
|
||||
|
||||
Required properties:
|
||||
- compatible: "pvs,pv88060".
|
||||
- reg: I2C slave address, usually 0x49.
|
||||
- interrupts: the interrupt outputs of the controller
|
||||
- regulators: A node that houses a sub-node for each regulator within the
|
||||
device. Each sub-node is identified using the node's name, with valid
|
||||
values listed below. The content of each sub-node is defined by the
|
||||
standard binding for regulators; see regulator.txt.
|
||||
BUCK1, LDO1, LDO2, LDO3, LDO4, LDO5, LDO6, LDO7, SW1, SW2, SW3, SW4,
|
||||
SW5, and SW6.
|
||||
|
||||
Optional properties:
|
||||
- Any optional property defined in regulator.txt
|
||||
|
||||
Example
|
||||
|
||||
pmic: pv88060@49 {
|
||||
compatible = "pvs,pv88060";
|
||||
reg = <0x49>;
|
||||
interrupt-parent = <&gpio>;
|
||||
interrupts = <24 24>;
|
||||
|
||||
regulators {
|
||||
BUCK1 {
|
||||
regulator-name = "buck1";
|
||||
regulator-min-microvolt = <2800000>;
|
||||
regulator-max-microvolt = <4387500>;
|
||||
regulator-min-microamp = <1496000>;
|
||||
regulator-max-microamp = <4189000>;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
LDO1 {
|
||||
regulator-name = "ldo1";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <3350000>;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
LDO2 {
|
||||
regulator-name = "ldo2";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <3350000>;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
LDO3 {
|
||||
regulator-name = "ldo3";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <3350000>;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
LDO4 {
|
||||
regulator-name = "ldo4";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <3350000>;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
LDO5 {
|
||||
regulator-name = "ldo5";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <3350000>;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
LDO6 {
|
||||
regulator-name = "ldo6";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <3350000>;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
LDO7 {
|
||||
regulator-name = "ldo7";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <3350000>;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
SW1 {
|
||||
regulator-name = "sw1";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
};
|
||||
|
||||
SW2 {
|
||||
regulator-name = "sw2";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
SW3 {
|
||||
regulator-name = "sw3";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
SW4 {
|
||||
regulator-name = "sw4";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
SW5 {
|
||||
regulator-name = "sw5";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
SW6 {
|
||||
regulator-name = "sw6";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
};
|
||||
};
|
||||
};
|
62
bindings/regulator/pv88080.txt
Normal file
62
bindings/regulator/pv88080.txt
Normal file
@@ -0,0 +1,62 @@
|
||||
* Powerventure Semiconductor PV88080 Voltage Regulator
|
||||
|
||||
Required properties:
|
||||
- compatible: Must be one of the following, depending on the
|
||||
silicon version:
|
||||
- "pvs,pv88080" (DEPRECATED)
|
||||
|
||||
- "pvs,pv88080-aa" for PV88080 AA or AB silicon
|
||||
- "pvs,pv88080-ba" for PV88080 BA or BB silicon
|
||||
NOTE: The use of the compatibles with no silicon version is deprecated.
|
||||
- reg: I2C slave address, usually 0x49
|
||||
- interrupts: the interrupt outputs of the controller
|
||||
- regulators: A node that houses a sub-node for each regulator within the
|
||||
device. Each sub-node is identified using the node's name, with valid
|
||||
values listed below. The content of each sub-node is defined by the
|
||||
standard binding for regulators; see regulator.txt.
|
||||
BUCK1, BUCK2, BUCK3 and HVBUCK.
|
||||
|
||||
Optional properties:
|
||||
- Any optional property defined in regulator.txt
|
||||
|
||||
Example:
|
||||
|
||||
pmic: pv88080@49 {
|
||||
compatible = "pvs,pv88080-ba";
|
||||
reg = <0x49>;
|
||||
interrupt-parent = <&gpio>;
|
||||
interrupts = <24 24>;
|
||||
|
||||
regulators {
|
||||
BUCK1 {
|
||||
regulator-name = "buck1";
|
||||
regulator-min-microvolt = < 600000>;
|
||||
regulator-max-microvolt = <1393750>;
|
||||
regulator-min-microamp = < 220000>;
|
||||
regulator-max-microamp = <7040000>;
|
||||
};
|
||||
|
||||
BUCK2 {
|
||||
regulator-name = "buck2";
|
||||
regulator-min-microvolt = < 600000>;
|
||||
regulator-max-microvolt = <1393750>;
|
||||
regulator-min-microamp = <1496000>;
|
||||
regulator-max-microamp = <4189000>;
|
||||
};
|
||||
|
||||
BUCK3 {
|
||||
regulator-name = "buck3";
|
||||
regulator-min-microvolt = <1400000>;
|
||||
regulator-max-microvolt = <2193750>;
|
||||
regulator-min-microamp = <1496000>;
|
||||
regulator-max-microamp = <4189000>;
|
||||
};
|
||||
|
||||
HVBUCK {
|
||||
regulator-name = "hvbuck";
|
||||
regulator-min-microvolt = < 5000>;
|
||||
regulator-max-microvolt = <1275000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
65
bindings/regulator/pv88090.txt
Normal file
65
bindings/regulator/pv88090.txt
Normal file
@@ -0,0 +1,65 @@
|
||||
* Powerventure Semiconductor PV88090 Voltage Regulator
|
||||
|
||||
Required properties:
|
||||
- compatible: "pvs,pv88090".
|
||||
- reg: I2C slave address, usually 0x48.
|
||||
- interrupts: the interrupt outputs of the controller
|
||||
- regulators: A node that houses a sub-node for each regulator within the
|
||||
device. Each sub-node is identified using the node's name, with valid
|
||||
values listed below. The content of each sub-node is defined by the
|
||||
standard binding for regulators; see regulator.txt.
|
||||
BUCK1, BUCK2, BUCK3, LDO1, and LDO2.
|
||||
|
||||
Optional properties:
|
||||
- Any optional property defined in regulator.txt
|
||||
|
||||
Example
|
||||
|
||||
pmic: pv88090@48 {
|
||||
compatible = "pvs,pv88090";
|
||||
reg = <0x48>;
|
||||
interrupt-parent = <&gpio>;
|
||||
interrupts = <24 24>;
|
||||
|
||||
regulators {
|
||||
BUCK1 {
|
||||
regulator-name = "buck1";
|
||||
regulator-min-microvolt = < 600000>;
|
||||
regulator-max-microvolt = <1393750>;
|
||||
regulator-min-microamp = < 220000>;
|
||||
regulator-max-microamp = <7040000>;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
BUCK2 {
|
||||
regulator-name = "buck2";
|
||||
regulator-min-microvolt = < 600000>;
|
||||
regulator-max-microvolt = <1393750>;
|
||||
regulator-min-microamp = <1496000>;
|
||||
regulator-max-microamp = <4189000>;
|
||||
};
|
||||
|
||||
BUCK3 {
|
||||
regulator-name = "buck3";
|
||||
regulator-min-microvolt = <600000>;
|
||||
regulator-max-microvolt = <1393750>;
|
||||
regulator-min-microamp = <1496000>;
|
||||
regulator-max-microamp = <4189000>;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
LDO1 {
|
||||
regulator-name = "ldo1";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <4350000>;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
LDO2 {
|
||||
regulator-name = "ldo2";
|
||||
regulator-min-microvolt = < 650000>;
|
||||
regulator-max-microvolt = <2225000>;
|
||||
regulator-boot-on;
|
||||
};
|
||||
};
|
||||
};
|
126
bindings/regulator/pwm-regulator.yaml
Normal file
126
bindings/regulator/pwm-regulator.yaml
Normal file
@@ -0,0 +1,126 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/regulator/pwm-regulator.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Bindings for the Generic PWM Regulator
|
||||
|
||||
maintainers:
|
||||
- Brian Norris <briannorris@chromium.org>
|
||||
- Lee Jones <lee@kernel.org>
|
||||
- Alexandre Courbot <acourbot@nvidia.com>
|
||||
|
||||
description: |
|
||||
Currently supports 2 modes of operation:
|
||||
|
||||
Voltage Table:
|
||||
When in this mode, a voltage table (See below) of predefined voltage <=>
|
||||
duty-cycle values must be provided via DT. Limitations are that the
|
||||
regulator can only operate at the voltages supplied in the table.
|
||||
Intermediary duty-cycle values which would normally allow finer grained
|
||||
voltage selection are ignored and rendered useless. Although more control
|
||||
is given to the user if the assumptions made in continuous-voltage mode do
|
||||
not reign true.
|
||||
|
||||
Continuous Voltage:
|
||||
This mode uses the regulator's maximum and minimum supplied voltages
|
||||
specified in the regulator-{min,max}-microvolt properties to calculate
|
||||
appropriate duty-cycle values. This allows for a much more fine grained
|
||||
solution when compared with voltage-table mode above. This solution does
|
||||
make an assumption that a %50 duty-cycle value will cause the regulator
|
||||
voltage to run at half way between the supplied max_uV and min_uV values.
|
||||
|
||||
If voltage-table is provided, then the device will be used in Voltage Table
|
||||
Mode. If no voltage-table is provided, then the device will be used in
|
||||
Continuous Voltage Mode.
|
||||
|
||||
allOf:
|
||||
- $ref: regulator.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: pwm-regulator
|
||||
|
||||
pwms:
|
||||
maxItems: 1
|
||||
|
||||
voltage-table:
|
||||
description: Voltage and Duty-Cycle table.
|
||||
$ref: /schemas/types.yaml#/definitions/uint32-matrix
|
||||
items:
|
||||
items:
|
||||
- description: voltage in microvolts (uV)
|
||||
- description: duty-cycle in percent (%)
|
||||
|
||||
enable-gpios:
|
||||
description: Regulator enable GPIO
|
||||
maxItems: 1
|
||||
|
||||
# Optional properties for Continuous mode:
|
||||
pwm-dutycycle-unit:
|
||||
description:
|
||||
Integer value encoding the duty cycle unit. If not
|
||||
defined, <100> is assumed, meaning that
|
||||
pwm-dutycycle-range contains values expressed in
|
||||
percent.
|
||||
default: 100
|
||||
|
||||
pwm-dutycycle-range:
|
||||
description:
|
||||
Should contain 2 entries. The first entry is encoding
|
||||
the dutycycle for regulator-min-microvolt and the
|
||||
second one the dutycycle for regulator-max-microvolt.
|
||||
Duty cycle values are expressed in pwm-dutycycle-unit.
|
||||
If not defined, <0 100> is assumed.
|
||||
$ref: /schemas/types.yaml#/definitions/uint32-array
|
||||
items:
|
||||
- description: the dutycycle for regulator-min-microvolt
|
||||
- description: the dutycycle for regulator-max-microvolt
|
||||
default: [ 0 100 ]
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- pwms
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
|
||||
// Continuous Voltage With Enable GPIO Example:
|
||||
regulator {
|
||||
compatible = "pwm-regulator";
|
||||
pwms = <&pwm1 0 8448 0>;
|
||||
enable-gpios = <&gpio0 23 GPIO_ACTIVE_HIGH>;
|
||||
regulator-min-microvolt = <1016000>;
|
||||
regulator-max-microvolt = <1114000>;
|
||||
regulator-name = "vdd_logic";
|
||||
/* unit == per-mille */
|
||||
pwm-dutycycle-unit = <1000>;
|
||||
/*
|
||||
* Inverted PWM logic, and the duty cycle range is limited
|
||||
* to 30%-70%.
|
||||
*/
|
||||
pwm-dutycycle-range = <700 300>; /* */
|
||||
};
|
||||
|
||||
- |
|
||||
// Voltage Table Example:
|
||||
regulator {
|
||||
compatible = "pwm-regulator";
|
||||
pwms = <&pwm1 0 8448 0>;
|
||||
regulator-min-microvolt = <1016000>;
|
||||
regulator-max-microvolt = <1114000>;
|
||||
regulator-name = "vdd_logic";
|
||||
|
||||
/* Voltage Duty-Cycle */
|
||||
voltage-table = <1114000 0>,
|
||||
<1095000 10>,
|
||||
<1076000 20>,
|
||||
<1056000 30>,
|
||||
<1036000 40>,
|
||||
<1016000 50>;
|
||||
};
|
||||
...
|
440
bindings/regulator/qcom,rpmh-regulator.yaml
Normal file
440
bindings/regulator/qcom,rpmh-regulator.yaml
Normal file
@@ -0,0 +1,440 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/regulator/qcom,rpmh-regulator.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Qualcomm Technologies, Inc. RPMh Regulators
|
||||
|
||||
maintainers:
|
||||
- Bjorn Andersson <bjorn.andersson@linaro.org>
|
||||
- Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
|
||||
|
||||
description: |
|
||||
rpmh-regulator devices support PMIC regulator management via the Voltage
|
||||
Regulator Manager (VRM) and Oscillator Buffer (XOB) RPMh accelerators.
|
||||
The APPS processor communicates with these hardware blocks via a
|
||||
Resource State Coordinator (RSC) using command packets. The VRM allows
|
||||
changing three parameters for a given regulator, enable state, output
|
||||
voltage, and operating mode. The XOB allows changing only a single
|
||||
parameter for a given regulator, its enable state. Despite its name,
|
||||
the XOB is capable of controlling the enable state of any PMIC peripheral.
|
||||
It is used for clock buffers, low-voltage switches, and LDO/SMPS regulators
|
||||
which have a fixed voltage and mode.
|
||||
|
||||
=======================
|
||||
Required Node Structure
|
||||
=======================
|
||||
|
||||
RPMh regulators must be described in two levels of device nodes. The first
|
||||
level describes the PMIC containing the regulators and must reside within an
|
||||
RPMh device node. The second level describes each regulator within the PMIC
|
||||
which is to be used on the board. Each of these regulators maps to a single
|
||||
RPMh resource.
|
||||
|
||||
The names used for regulator nodes must match those supported by a given
|
||||
PMIC. Supported regulator node names are
|
||||
For PM6150, smps1 - smps5, ldo1 - ldo19
|
||||
For PM6150L, smps1 - smps8, ldo1 - ldo11, bob
|
||||
For PM6350, smps1 - smps5, ldo1 - ldo22
|
||||
For PM660, smps1 - smps6, ldo1 - ldo3, ldo5 - ldo19
|
||||
For PM660L, smps1 - smps3, smps5, ldo1 - ldo8, bob
|
||||
For PM7325, smps1 - smps8, ldo1 - ldo19
|
||||
For PM8005, smps1 - smps4
|
||||
For PM8009, smps1 - smps2, ldo1 - ldo7
|
||||
For PM8150, smps1 - smps10, ldo1 - ldo18
|
||||
For PM8150L, smps1 - smps8, ldo1 - ldo11, bob, flash, rgb
|
||||
For PM8350, smps1 - smps12, ldo1 - ldo10
|
||||
For PM8350C, smps1 - smps10, ldo1 - ldo13, bob
|
||||
For PM8450, smps1 - smps6, ldo1 - ldo4
|
||||
For PM8998, smps1 - smps13, ldo1 - ldo28, lvs1 - lvs2
|
||||
For PMI8998, bob
|
||||
For PMR735A, smps1 - smps3, ldo1 - ldo7
|
||||
For PMX55, smps1 - smps7, ldo1 - ldo16
|
||||
For PMX65, smps1 - smps8, ldo1 - ldo21
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- qcom,pm6150-rpmh-regulators
|
||||
- qcom,pm6150l-rpmh-regulators
|
||||
- qcom,pm6350-rpmh-regulators
|
||||
- qcom,pm660-rpmh-regulators
|
||||
- qcom,pm660l-rpmh-regulators
|
||||
- qcom,pm7325-rpmh-regulators
|
||||
- qcom,pm8005-rpmh-regulators
|
||||
- qcom,pm8009-rpmh-regulators
|
||||
- qcom,pm8009-1-rpmh-regulators
|
||||
- qcom,pm8150-rpmh-regulators
|
||||
- qcom,pm8150l-rpmh-regulators
|
||||
- qcom,pm8350-rpmh-regulators
|
||||
- qcom,pm8350c-rpmh-regulators
|
||||
- qcom,pm8450-rpmh-regulators
|
||||
- qcom,pm8998-rpmh-regulators
|
||||
- qcom,pmg1110-rpmh-regulators
|
||||
- qcom,pmi8998-rpmh-regulators
|
||||
- qcom,pmm8155au-rpmh-regulators
|
||||
- qcom,pmr735a-rpmh-regulators
|
||||
- qcom,pmx55-rpmh-regulators
|
||||
- qcom,pmx65-rpmh-regulators
|
||||
|
||||
qcom,pmic-id:
|
||||
description: |
|
||||
RPMh resource name suffix used for the regulators found
|
||||
on this PMIC.
|
||||
$ref: /schemas/types.yaml#/definitions/string
|
||||
enum: [a, b, c, d, e, f, h, k]
|
||||
|
||||
qcom,always-wait-for-ack:
|
||||
description: |
|
||||
Boolean flag which indicates that the application processor
|
||||
must wait for an ACK or a NACK from RPMh for every request
|
||||
sent for this regulator including those which are for a
|
||||
strictly lower power state.
|
||||
$ref: /schemas/types.yaml#/definitions/flag
|
||||
|
||||
vdd-flash-supply:
|
||||
description: Input supply phandle of flash.
|
||||
|
||||
vdd-rgb-supply:
|
||||
description: Input supply phandle of rgb.
|
||||
|
||||
bob:
|
||||
type: object
|
||||
$ref: "regulator.yaml#"
|
||||
description: BOB regulator node.
|
||||
dependencies:
|
||||
regulator-allow-set-load: ["regulator-allowed-modes"]
|
||||
|
||||
patternProperties:
|
||||
"^(smps|ldo|lvs)[0-9]+$":
|
||||
type: object
|
||||
$ref: "regulator.yaml#"
|
||||
description: smps/ldo regulator nodes(s).
|
||||
dependencies:
|
||||
regulator-allow-set-load: ["regulator-allowed-modes"]
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- qcom,pmic-id
|
||||
|
||||
allOf:
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- qcom,pm6150-rpmh-regulators
|
||||
then:
|
||||
properties:
|
||||
vdd-l2-l3-supply: true
|
||||
vdd-l4-l7-l8-supply: true
|
||||
vdd-l5-l16-l17-l18-l19-supply: true
|
||||
vdd-l10-l14-l15-supply: true
|
||||
vdd-l11-l12-l13-supply: true
|
||||
patternProperties:
|
||||
"^vdd-l[169]-supply$": true
|
||||
"^vdd-s[1-5]-supply$": true
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- qcom,pm6150l-rpmh-regulators
|
||||
then:
|
||||
properties:
|
||||
vdd-bob-supply:
|
||||
description: BOB regulator parent supply phandle.
|
||||
vdd-l1-l8-supply: true
|
||||
vdd-l2-l3-supply: true
|
||||
vdd-l4-l5-l6-supply: true
|
||||
vdd-l7-l11-supply: true
|
||||
vdd-l9-l10-supply: true
|
||||
patternProperties:
|
||||
"^vdd-s[1-8]-supply$": true
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- qcom,pm660-rpmh-regulators
|
||||
then:
|
||||
properties:
|
||||
vdd-l1-l6-l7-supply: true
|
||||
vdd-l2-l3-supply: true
|
||||
vdd-l5-supply: true
|
||||
vdd-l8-l9-l10-l11-l12-l13-l14-supply: true
|
||||
vdd-l15-l16-l17-l18-l19-supply: true
|
||||
patternProperties:
|
||||
"^vdd-s[1-6]-supply$": true
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- qcom,pm660l-rpmh-regulators
|
||||
then:
|
||||
properties:
|
||||
vdd-bob-supply:
|
||||
description: BOB regulator parent supply phandle.
|
||||
vdd-l1-l9-l10-supply: true
|
||||
vdd-l2-supply: true
|
||||
vdd-l3-l5-l7-l8-supply: true
|
||||
vdd-l4-l6-supply: true
|
||||
vdd-s3-s4-supply: true
|
||||
patternProperties:
|
||||
"^vdd-s[125]-supply$": true
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- qcom,pm7325-rpmh-regulators
|
||||
then:
|
||||
properties:
|
||||
vdd-l1-l4-l12-l15-supply: true
|
||||
vdd-l2-l7-supply: true
|
||||
vdd-l6-l9-l10-supply: true
|
||||
vdd-l11-l17-l18-l19-supply: true
|
||||
vdd-l13-supply: true
|
||||
vdd-l14-l16-supply: true
|
||||
patternProperties:
|
||||
"^vdd-l[358]-supply$": true
|
||||
"^vdd-s[1-8]-supply$": true
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- qcom,pm8005-rpmh-regulators
|
||||
then:
|
||||
patternProperties:
|
||||
"^vdd-s[1-4]-supply$": true
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- qcom,pm8009-rpmh-regulators
|
||||
- qcom,pm8009-1-rpmh-regulators
|
||||
then:
|
||||
properties:
|
||||
vdd-l5-l6-supply: true
|
||||
patternProperties:
|
||||
"^vdd-l[1-47]-supply$": true
|
||||
"^vdd-s[1-2]-supply$": true
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- qcom,pm8150-rpmh-regulators
|
||||
- qcom,pmm8155au-rpmh-regulators
|
||||
then:
|
||||
properties:
|
||||
vdd-l1-l8-l11-supply: true
|
||||
vdd-l2-l10-supply: true
|
||||
vdd-l3-l4-l5-l18-supply: true
|
||||
vdd-l6-l9-supply: true
|
||||
vdd-l7-l12-l14-l15-supply: true
|
||||
vdd-l13-l16-l17-supply: true
|
||||
patternProperties:
|
||||
"^vdd-s([1-9]|10)-supply$": true
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- qcom,pm8150l-rpmh-regulators
|
||||
then:
|
||||
properties:
|
||||
vdd-bob-supply:
|
||||
description: BOB regulator parent supply phandle.
|
||||
vdd-l1-l8-supply: true
|
||||
vdd-l2-l3-supply: true
|
||||
vdd-l4-l5-l6-supply: true
|
||||
vdd-l7-l11-supply: true
|
||||
vdd-l9-l10-supply: true
|
||||
patternProperties:
|
||||
"^vdd-s[1-8]-supply$": true
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- qcom,pm8350-rpmh-regulators
|
||||
then:
|
||||
properties:
|
||||
vdd-l1-l4-supply: true
|
||||
vdd-l2-l7-supply: true
|
||||
vdd-l3-l5-supply: true
|
||||
vdd-l6-l9-l10-supply: true
|
||||
vdd-l8-supply: true
|
||||
patternProperties:
|
||||
"^vdd-s([1-9]|1[0-2])-supply$": true
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- qcom,pm8350c-rpmh-regulators
|
||||
then:
|
||||
properties:
|
||||
vdd-bob-supply:
|
||||
description: BOB regulator parent supply phandle.
|
||||
vdd-l1-l12-supply: true
|
||||
vdd-l2-l8-supply: true
|
||||
vdd-l3-l4-l5-l7-l13-supply: true
|
||||
vdd-l6-l9-l11-supply: true
|
||||
vdd-l10-supply: true
|
||||
patternProperties:
|
||||
"^vdd-s([1-9]|10)-supply$": true
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- qcom,pm8450-rpmh-regulators
|
||||
then:
|
||||
patternProperties:
|
||||
"^vdd-l[1-4]-supply$": true
|
||||
"^vdd-s[1-6]-supply$": true
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- qcom,pm8998-rpmh-regulators
|
||||
then:
|
||||
properties:
|
||||
vdd-l1-l27-supply: true
|
||||
vdd-l2-l8-l17-supply: true
|
||||
vdd-l3-l11-supply: true
|
||||
vdd-l4-l5-supply: true
|
||||
vdd-l6-supply: true
|
||||
vdd-l7-l12-l14-l15-supply: true
|
||||
vdd-l9-supply: true
|
||||
vdd-l10-l23-l25-supply: true
|
||||
vdd-l13-l19-l21-supply: true
|
||||
vdd-l16-l28-supply: true
|
||||
vdd-l18-l22-supply: true
|
||||
vdd-l20-l24-supply: true
|
||||
vdd-l26-supply: true
|
||||
vin-lvs-1-2-supply: true
|
||||
patternProperties:
|
||||
"^vdd-s([1-9]|1[0-3])-supply$": true
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- qcom,pmg1110-rpmh-regulators
|
||||
then:
|
||||
properties:
|
||||
vdd-s1-supply: true
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- qcom,pmi8998-rpmh-regulators
|
||||
then:
|
||||
properties:
|
||||
vdd-bob-supply:
|
||||
description: BOB regulator parent supply phandle.
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- qcom,pmr735a-rpmh-regulators
|
||||
then:
|
||||
properties:
|
||||
vdd-l1-l2-supply: true
|
||||
vdd-l3-supply: true
|
||||
vdd-l4-supply: true
|
||||
vdd-l5-l6-supply: true
|
||||
vdd-l7-bob-supply: true
|
||||
patternProperties:
|
||||
"^vdd-s[1-3]-supply$": true
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- qcom,pmx55-rpmh-regulators
|
||||
then:
|
||||
properties:
|
||||
vdd-l1-l2-supply: true
|
||||
vdd-l3-l9-supply: true
|
||||
vdd-l4-l12-supply: true
|
||||
vdd-l5-l6-supply: true
|
||||
vdd-l7-l8-supply: true
|
||||
vdd-l10-l11-l13-supply: true
|
||||
patternProperties:
|
||||
"^vdd-l1[4-6]-supply$": true
|
||||
"^vdd-s[1-7]-supply$": true
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- qcom,pmx65-rpmh-regulators
|
||||
then:
|
||||
properties:
|
||||
vdd-l2-l18-supply: true
|
||||
vdd-l5-l6-l16-supply: true
|
||||
vdd-l8-l9-supply: true
|
||||
vdd-l11-l13-supply: true
|
||||
patternProperties:
|
||||
"^vdd-l[1347]-supply$": true
|
||||
"^vdd-l1[0245789]-supply$": true
|
||||
"^vdd-l2[01]-supply$": true
|
||||
"^vdd-s[1-8]-supply$": true
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
|
||||
|
||||
pm8998-rpmh-regulators {
|
||||
compatible = "qcom,pm8998-rpmh-regulators";
|
||||
qcom,pmic-id = "a";
|
||||
|
||||
vdd-l7-l12-l14-l15-supply = <&pm8998_s5>;
|
||||
|
||||
smps2 {
|
||||
regulator-min-microvolt = <1100000>;
|
||||
regulator-max-microvolt = <1100000>;
|
||||
};
|
||||
|
||||
ldo7 {
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
regulator-allowed-modes =
|
||||
<RPMH_REGULATOR_MODE_LPM
|
||||
RPMH_REGULATOR_MODE_HPM>;
|
||||
regulator-allow-set-load;
|
||||
};
|
||||
|
||||
lvs1 {
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
};
|
||||
};
|
||||
|
||||
pmi8998-rpmh-regulators {
|
||||
compatible = "qcom,pmi8998-rpmh-regulators";
|
||||
qcom,pmic-id = "b";
|
||||
|
||||
bob {
|
||||
regulator-min-microvolt = <3312000>;
|
||||
regulator-max-microvolt = <3600000>;
|
||||
regulator-allowed-modes =
|
||||
<RPMH_REGULATOR_MODE_AUTO
|
||||
RPMH_REGULATOR_MODE_HPM>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
|
||||
};
|
||||
};
|
||||
...
|
137
bindings/regulator/qcom,smd-rpm-regulator.yaml
Normal file
137
bindings/regulator/qcom,smd-rpm-regulator.yaml
Normal file
@@ -0,0 +1,137 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/regulator/qcom,smd-rpm-regulator.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: QCOM SMD RPM REGULATOR
|
||||
|
||||
description:
|
||||
The Qualcomm RPM over SMD regulator is modelled as a subdevice of the RPM.
|
||||
Because SMD is used as the communication transport mechanism, the RPM
|
||||
resides as a subnode of the SMD. As such, the SMD-RPM regulator requires
|
||||
that the SMD and RPM nodes be present.
|
||||
|
||||
Please refer to Documentation/devicetree/bindings/soc/qcom/qcom,smd.yaml for
|
||||
information pertaining to the SMD node.
|
||||
|
||||
Please refer to Documentation/devicetree/bindings/soc/qcom/qcom,smd-rpm.yaml
|
||||
for information regarding the RPM node.
|
||||
|
||||
The regulator node houses sub-nodes for each regulator within the device.
|
||||
Each sub-node is identified using the node's name, with valid values listed
|
||||
for each of the pmics below.
|
||||
|
||||
For mp5496, s2
|
||||
|
||||
For pm2250, s1, s2, s3, s4, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11,
|
||||
l12, l13, l14, l15, l16, l17, l18, l19, l20, l21, l22
|
||||
|
||||
For pm6125 s1, s2, s3, s4, s5, s6, s7, s8, l1, l2, l3, l5, l6, l7, l8, l9,
|
||||
l10, l22, l12, l13, l14, l15, l16, l17, l18, l19, l20, l21, l22, l23, l24
|
||||
|
||||
For pm660, s1, s2, s3, s4, s5, s6, l1, l2, l3, l5, l6, l7, l8, l9, l10, l22,
|
||||
l12, l13, l14, l15, l16, l17, l18, l19
|
||||
|
||||
For pm660l s1, s2, s3, s5, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, bob
|
||||
|
||||
For pm8226, s1, s2, s3, s4, s5, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10,
|
||||
l11, l12, l13, l14, l15, l16, l17, l18, l19, l20, l21, l22, l23, l24, l25,
|
||||
l26, l27, l28, lvs1
|
||||
|
||||
For pm8841, s1, s2, s3, s4, s5, s6, s7, s8
|
||||
|
||||
For pm8909, s1, s2, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11, l12, l13,
|
||||
l14, l15, l17, l18
|
||||
|
||||
For pm8916, s1, s2, s3, s4, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11,
|
||||
l12, l13, l14, l15, l16, l17, l18
|
||||
|
||||
For pm8941, s1, s2, s3, s4, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11,
|
||||
l12, l13, l14, l15, l16, l17, l18, l19, l20, l21, l22, l23, l24, lvs1, lvs2,
|
||||
lvs3, 5vs1, 5vs2
|
||||
|
||||
For pm8950 and pm8953, s1, s2, s3, s4, s5, s6, s7, l1, l2, l3, l4, l5, l6,
|
||||
l7, l8, l9, l10, l11, l12, l13, l14, l15, l16, l17, l18, l19, l20, l21, l22,
|
||||
l23
|
||||
|
||||
For pm8994, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, l1, l2, l3,
|
||||
l4, l5, l6, l7, l8, l9, l10, l11, l12, l13, l14, l15, l16, l17, l18, l19,
|
||||
l20, l21, l22, l23, l24, l25, l26, l27, l28, l29, l30, l31, l32, lvs1, lvs2
|
||||
|
||||
For pm8998, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, l1, l2,
|
||||
l3, l4, l5, l6, l7, l8, l9, l10, l11, l12, l13, l14, l15, l16, l17, l18, l19,
|
||||
l20, l21, l22, l23, l24, l25, l26, l27, l28, lvs1, lvs2
|
||||
|
||||
For pma8084, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, l1, l2, l3,
|
||||
l4, l5, l6, l7, l8, l9, l10, l11, l12, l13, l14, l15, l16, l17, l18, l19,
|
||||
l20, l21, l22, l23, l24, l25, l26, l27, lvs1, lvs2, lvs3, lvs4, 5vs1
|
||||
|
||||
For pmi8994, s1, s2, s3, boost-bypass
|
||||
|
||||
For pmi8998, bob
|
||||
|
||||
For pms405, s1, s2, s3, s4, s5, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11,
|
||||
l12, l13
|
||||
|
||||
maintainers:
|
||||
- Andy Gross <agross@kernel.org>
|
||||
- Bjorn Andersson <bjorn.andersson@linaro.org>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- qcom,rpm-mp5496-regulators
|
||||
- qcom,rpm-pm2250-regulators
|
||||
- qcom,rpm-pm6125-regulators
|
||||
- qcom,rpm-pm660-regulators
|
||||
- qcom,rpm-pm660l-regulators
|
||||
- qcom,rpm-pm8226-regulators
|
||||
- qcom,rpm-pm8841-regulators
|
||||
- qcom,rpm-pm8909-regulators
|
||||
- qcom,rpm-pm8916-regulators
|
||||
- qcom,rpm-pm8941-regulators
|
||||
- qcom,rpm-pm8950-regulators
|
||||
- qcom,rpm-pm8953-regulators
|
||||
- qcom,rpm-pm8994-regulators
|
||||
- qcom,rpm-pm8998-regulators
|
||||
- qcom,rpm-pma8084-regulators
|
||||
- qcom,rpm-pmi8994-regulators
|
||||
- qcom,rpm-pmi8998-regulators
|
||||
- qcom,rpm-pms405-regulators
|
||||
|
||||
patternProperties:
|
||||
".*-supply$":
|
||||
description: Input supply phandle(s) for this node
|
||||
|
||||
"^((s|l|lvs|5vs)[0-9]*)|(boost-bypass)|(bob)$":
|
||||
description: List of regulators and its properties
|
||||
$ref: regulator.yaml#
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
- compatible
|
||||
|
||||
examples:
|
||||
- |
|
||||
pm8941-regulators {
|
||||
compatible = "qcom,rpm-pm8941-regulators";
|
||||
vdd_l13_l20_l23_l24-supply = <&pm8941_boost>;
|
||||
|
||||
pm8941_s3: s3 {
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
};
|
||||
|
||||
pm8941_boost: s4 {
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
};
|
||||
|
||||
pm8941_l20: l20 {
|
||||
regulator-min-microvolt = <2950000>;
|
||||
regulator-max-microvolt = <2950000>;
|
||||
};
|
||||
};
|
||||
...
|
354
bindings/regulator/qcom,spmi-regulator.yaml
Normal file
354
bindings/regulator/qcom,spmi-regulator.yaml
Normal file
@@ -0,0 +1,354 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/regulator/qcom,spmi-regulator.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Qualcomm SPMI Regulators
|
||||
|
||||
maintainers:
|
||||
- Robert Marko <robimarko@gmail.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- qcom,pm6125-regulators
|
||||
- qcom,pm660-regulators
|
||||
- qcom,pm660l-regulators
|
||||
- qcom,pm8004-regulators
|
||||
- qcom,pm8005-regulators
|
||||
- qcom,pm8226-regulators
|
||||
- qcom,pm8841-regulators
|
||||
- qcom,pm8916-regulators
|
||||
- qcom,pm8941-regulators
|
||||
- qcom,pm8950-regulators
|
||||
- qcom,pm8994-regulators
|
||||
- qcom,pmi8994-regulators
|
||||
- qcom,pmp8074-regulators
|
||||
- qcom,pms405-regulators
|
||||
|
||||
qcom,saw-reg:
|
||||
description: Reference to syscon node defining the SAW registers
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
|
||||
patternProperties:
|
||||
"^(5vs[1-2]|(l|s)[1-9][0-9]?|lvs[1-3])$":
|
||||
description: List of regulators and its properties
|
||||
type: object
|
||||
$ref: regulator.yaml#
|
||||
unevaluatedProperties: false
|
||||
|
||||
properties:
|
||||
qcom,ocp-max-retries:
|
||||
description:
|
||||
Maximum number of times to try toggling a voltage switch off and
|
||||
back on as a result of consecutive over current events
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
|
||||
qcom,ocp-retry-delay:
|
||||
description:
|
||||
Time to delay in milliseconds between each voltage switch toggle
|
||||
after an over current event takes place
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
|
||||
qcom,pin-ctrl-enable:
|
||||
description:
|
||||
Bit mask specifying which hardware pins should be used to enable the
|
||||
regulator, if any.
|
||||
Supported bits are
|
||||
0 = ignore all hardware enable signals
|
||||
BIT(0) = follow HW0_EN signal
|
||||
BIT(1) = follow HW1_EN signal
|
||||
BIT(2) = follow HW2_EN signal
|
||||
BIT(3) = follow HW3_EN signal
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
minimum: 0
|
||||
maximum: 15
|
||||
|
||||
qcom,pin-ctrl-hpm:
|
||||
description:
|
||||
Bit mask specifying which hardware pins should be used to force the
|
||||
regulator into high power mode, if any.
|
||||
Supported bits are
|
||||
0 = ignore all hardware enable signals
|
||||
BIT(0) = follow HW0_EN signal
|
||||
BIT(1) = follow HW1_EN signal
|
||||
BIT(2) = follow HW2_EN signal
|
||||
BIT(3) = follow HW3_EN signal
|
||||
BIT(4) = follow PMIC awake state
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
minimum: 0
|
||||
maximum: 31
|
||||
|
||||
qcom,vs-soft-start-strength:
|
||||
description:
|
||||
This property sets the soft start strength for voltage switch type
|
||||
regulators.
|
||||
Supported values are
|
||||
0 = 0.05 uA
|
||||
1 = 0.25 uA
|
||||
2 = 0.55 uA
|
||||
3 = 0.75 uA
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
minimum: 0
|
||||
maximum: 3
|
||||
|
||||
qcom,saw-slave:
|
||||
description: SAW controlled gang slave. Will not be configured.
|
||||
type: boolean
|
||||
|
||||
qcom,saw-leader:
|
||||
description:
|
||||
SAW controlled gang leader. Will be configured as SAW regulator.
|
||||
type: boolean
|
||||
|
||||
required:
|
||||
- compatible
|
||||
|
||||
allOf:
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- qcom,pm6125-regulators
|
||||
then:
|
||||
properties:
|
||||
vdd_l1_l7_l17_l18-supply: true
|
||||
vdd_l2_l3_l4-supply: true
|
||||
vdd_l5_l15_l19_l20_l21_l22-supply: true
|
||||
vdd_l6_l8-supply: true
|
||||
vdd_l9_l11-supply: true
|
||||
vdd_l10_l13_l14-supply: true
|
||||
vdd_l12_l16-supply: true
|
||||
vdd_l23_l24-supply: true
|
||||
patternProperties:
|
||||
"^vdd_s[1-8]-supply$": true
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- qcom,pm660-regulators
|
||||
then:
|
||||
properties:
|
||||
vdd_l15_l16_l17_l18_l19-supply: true
|
||||
vdd_l1_l6_l7-supply: true
|
||||
vdd_l2_l3-supply: true
|
||||
vdd_l5-supply: true
|
||||
vdd_l8_l9_l10_l11_l12_l13_l14-supply: true
|
||||
patternProperties:
|
||||
"^vdd_s[1-6]-supply$": true
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- qcom,pm660l-regulators
|
||||
then:
|
||||
properties:
|
||||
vdd_l1_l9_l10-supply: true
|
||||
vdd_l2-supply: true
|
||||
vdd_l3_l5_l7_l8-supply: true
|
||||
vdd_l4_l6-supply: true
|
||||
patternProperties:
|
||||
"^vdd_s[1-5]-supply$": true
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- qcom,pm8004-regulators
|
||||
then:
|
||||
patternProperties:
|
||||
"^vdd_s[25]-supply$": true
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- qcom,pm8005-regulators
|
||||
then:
|
||||
patternProperties:
|
||||
"^vdd_s[1-4]-supply$": true
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- qcom,pm8226-regulators
|
||||
then:
|
||||
properties:
|
||||
vdd_l10_l11_l13-supply: true
|
||||
vdd_l12_l14-supply: true
|
||||
vdd_l15_l16_l17_l18-supply: true
|
||||
vdd_l19_l20_l21_l22_l23_l28-supply: true
|
||||
vdd_l1_l2_l4_l5-supply: true
|
||||
vdd_l25-supply: true
|
||||
vdd_l3_l24_l26-supply: true
|
||||
vdd_l6_l7_l8_l9_l27-supply: true
|
||||
vdd_lvs1-supply: true
|
||||
patternProperties:
|
||||
"^vdd_s[1-5]-supply$": true
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- qcom,pm8841-regulators
|
||||
then:
|
||||
patternProperties:
|
||||
"^vdd_s[1-8]-supply$": true
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- qcom,pm8916-regulators
|
||||
then:
|
||||
properties:
|
||||
vdd_l1_l3-supply: true
|
||||
vdd_l4_l5_l6-supply: true
|
||||
vdd_l8_l11_l14_l15_l16-supply: true
|
||||
vdd_l9_l10_l12_l13_l17_l18-supply: true
|
||||
patternProperties:
|
||||
"^vdd_l[27]-supply$": true
|
||||
"^vdd_s[1-4]-supply$": true
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- qcom,pm8941-regulators
|
||||
then:
|
||||
properties:
|
||||
interrupts:
|
||||
items:
|
||||
- description: Over-current protection interrupt for 5V S1
|
||||
- description: Over-current protection interrupt for 5V S2
|
||||
interrupt-names:
|
||||
items:
|
||||
- const: ocp-5vs1
|
||||
- const: ocp-5vs2
|
||||
vdd_l13_l20_l23_l24-supply: true
|
||||
vdd_l1_l3-supply: true
|
||||
vdd_l21-supply: true
|
||||
vdd_l2_lvs_1_2_3-supply: true
|
||||
vdd_l4_l11-supply: true
|
||||
vdd_l5_l7-supply: true
|
||||
vdd_l6_l12_l14_l15-supply: true
|
||||
vdd_l8_l16_l18_19-supply: true
|
||||
vdd_l9_l10_l17_l22-supply: true
|
||||
vin_5vs-supply: true
|
||||
patternProperties:
|
||||
"^vdd_s[1-3]-supply$": true
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- qcom,pm8950-regulators
|
||||
then:
|
||||
properties:
|
||||
vdd_l1_l19-supply: true
|
||||
vdd_l20-supply: true
|
||||
vdd_l21-supply: true
|
||||
vdd_l2_l23-supply: true
|
||||
vdd_l3-supply: true
|
||||
vdd_l4_l5_l6_l7_l16-supply: true
|
||||
vdd_l8_l11_l12_l17_l22-supply: true
|
||||
vdd_l9_l10_l13_l14_l15_l18-supply: true
|
||||
patternProperties:
|
||||
"^vdd_s[1-6]-supply$": true
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- qcom,pm8994-regulators
|
||||
then:
|
||||
properties:
|
||||
vdd_l1-supply: true
|
||||
vdd_l13_l19_l23_l24-supply: true
|
||||
vdd_l14_l15-supply: true
|
||||
vdd_l17_l29-supply: true
|
||||
vdd_l20_l21-supply: true
|
||||
vdd_l25-supply: true
|
||||
vdd_l2_l26_l28-supply: true
|
||||
vdd_l3_l11-supply: true
|
||||
vdd_l4_l27_l31-supply: true
|
||||
vdd_l5_l7-supply: true
|
||||
vdd_l6_l12_l32-supply: true
|
||||
vdd_l8_l16_l30-supply: true
|
||||
vdd_l9_l10_l18_l22-supply: true
|
||||
vdd_lvs_1_2-supply: true
|
||||
patternProperties:
|
||||
"^vdd_s[1-9][0-2]?-supply$": true
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- qcom,pmi8994-regulators
|
||||
then:
|
||||
properties:
|
||||
vdd_l1-supply: true
|
||||
patternProperties:
|
||||
"^vdd_s[1-3]-supply$": true
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- qcom,pmp8074-regulators
|
||||
then:
|
||||
properties:
|
||||
vdd_l10_l11_l12_l13-supply: true
|
||||
vdd_l1_l2-supply: true
|
||||
vdd_l3_l8-supply: true
|
||||
vdd_l5_l6_l15-supply: true
|
||||
patternProperties:
|
||||
"^vdd_l[479]-supply$": true
|
||||
"^vdd_s[1-5]-supply$": true
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- qcom,pms405-regulators
|
||||
then:
|
||||
properties:
|
||||
vdd_s3-supply: true
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
regulators {
|
||||
compatible = "qcom,pm8941-regulators";
|
||||
vdd_l1_l3-supply = <&s1>;
|
||||
|
||||
s1: s1 {
|
||||
regulator-min-microvolt = <1300000>;
|
||||
regulator-max-microvolt = <1400000>;
|
||||
};
|
||||
|
||||
l1: l1 {
|
||||
regulator-min-microvolt = <1225000>;
|
||||
regulator-max-microvolt = <1300000>;
|
||||
};
|
||||
};
|
||||
...
|
41
bindings/regulator/qcom,usb-vbus-regulator.yaml
Normal file
41
bindings/regulator/qcom,usb-vbus-regulator.yaml
Normal file
@@ -0,0 +1,41 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/regulator/qcom,usb-vbus-regulator.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: The Qualcomm PMIC VBUS output regulator driver
|
||||
|
||||
maintainers:
|
||||
- Wesley Cheng <quic_wcheng@quicinc.com>
|
||||
|
||||
description: |
|
||||
This regulator driver controls the VBUS output by the Qualcomm PMIC. This
|
||||
regulator will be enabled in situations where the device is required to
|
||||
provide power to the connected peripheral.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- qcom,pm8150b-vbus-reg
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
description: VBUS output base address
|
||||
|
||||
required:
|
||||
- compatible
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
pm8150b {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
pm8150b_vbus: dcdc@1100 {
|
||||
compatible = "qcom,pm8150b-vbus-reg";
|
||||
reg = <0x1100>;
|
||||
};
|
||||
};
|
||||
...
|
99
bindings/regulator/qcom-labibb-regulator.yaml
Normal file
99
bindings/regulator/qcom-labibb-regulator.yaml
Normal file
@@ -0,0 +1,99 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/regulator/qcom-labibb-regulator.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Qualcomm's LAB(LCD AMOLED Boost)/IBB(Inverting Buck Boost) Regulator
|
||||
|
||||
maintainers:
|
||||
- Sumit Semwal <sumit.semwal@linaro.org>
|
||||
|
||||
description:
|
||||
LAB can be used as a positive boost power supply and IBB can be used as a
|
||||
negative boost power supply for display panels. Currently implemented for
|
||||
pmi8998.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: qcom,pmi8998-lab-ibb
|
||||
|
||||
lab:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
|
||||
properties:
|
||||
qcom,soft-start-us:
|
||||
description: Regulator soft start time in microseconds.
|
||||
enum: [200, 400, 600, 800]
|
||||
default: 200
|
||||
|
||||
interrupts:
|
||||
minItems: 1
|
||||
maxItems: 2
|
||||
description:
|
||||
Short-circuit and over-current interrupts for lab.
|
||||
|
||||
interrupt-names:
|
||||
minItems: 1
|
||||
items:
|
||||
- const: sc-err
|
||||
- const: ocp
|
||||
|
||||
required:
|
||||
- interrupts
|
||||
- interrupt-names
|
||||
|
||||
ibb:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
|
||||
properties:
|
||||
qcom,discharge-resistor-kohms:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description: Discharge resistor value in KiloOhms.
|
||||
enum: [300, 64, 32, 16]
|
||||
default: 300
|
||||
|
||||
interrupts:
|
||||
minItems: 1
|
||||
maxItems: 2
|
||||
description:
|
||||
Short-circuit and over-current interrupts for ibb.
|
||||
|
||||
interrupt-names:
|
||||
minItems: 1
|
||||
items:
|
||||
- const: sc-err
|
||||
- const: ocp
|
||||
|
||||
required:
|
||||
- interrupts
|
||||
- interrupt-names
|
||||
|
||||
required:
|
||||
- compatible
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
|
||||
labibb {
|
||||
compatible = "qcom,pmi8998-lab-ibb";
|
||||
|
||||
lab {
|
||||
interrupts = <0x3 0xde 0x1 IRQ_TYPE_EDGE_RISING>,
|
||||
<0x3 0xde 0x0 IRQ_TYPE_LEVEL_LOW>;
|
||||
interrupt-names = "sc-err", "ocp";
|
||||
};
|
||||
|
||||
ibb {
|
||||
interrupts = <0x3 0xdc 0x2 IRQ_TYPE_EDGE_RISING>,
|
||||
<0x3 0xdc 0x0 IRQ_TYPE_LEVEL_LOW>;
|
||||
interrupt-names = "sc-err", "ocp";
|
||||
};
|
||||
};
|
||||
|
||||
...
|
@@ -0,0 +1,44 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/regulator/raspberrypi,7inch-touchscreen-panel-regulator.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: RaspberryPi 7" display ATTINY88-based regulator/backlight controller
|
||||
|
||||
maintainers:
|
||||
- Marek Vasut <marex@denx.de>
|
||||
|
||||
description: |
|
||||
The RaspberryPi 7" display has an ATTINY88-based regulator/backlight
|
||||
controller on the PCB, which is used to turn the display unit on/off
|
||||
and control the backlight.
|
||||
|
||||
allOf:
|
||||
- $ref: "regulator.yaml#"
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: raspberrypi,7inch-touchscreen-panel-regulator
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
examples:
|
||||
- |
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
regulator@45 {
|
||||
compatible = "raspberrypi,7inch-touchscreen-panel-regulator";
|
||||
reg = <0x45>;
|
||||
};
|
||||
};
|
||||
|
||||
...
|
222
bindings/regulator/regulator-max77620.txt
Normal file
222
bindings/regulator/regulator-max77620.txt
Normal file
@@ -0,0 +1,222 @@
|
||||
Regulator DT binding for MAX77620 Power management IC from Maxim Semiconductor.
|
||||
|
||||
Device has multiple DCDC(sd[0-3] and LDOs(ldo[0-8]). The input supply
|
||||
of these regulators are defined under parent device node.
|
||||
Details of regulator properties are defined as child node under
|
||||
sub-node "regulators" which is child node of device node.
|
||||
|
||||
Please refer file <Documentation/devicetree/bindings/regulator/regulator.txt>
|
||||
for common regulator bindings used by client.
|
||||
|
||||
Following are properties of parent node related to regulators.
|
||||
|
||||
Optional properties:
|
||||
-------------------
|
||||
The input supply of regulators are the optional properties on the
|
||||
parent device node. The input supply of these regulators are provided
|
||||
through following properties:
|
||||
in-sd0-supply: Input supply for SD0, INA-SD0 or INB-SD0 pins.
|
||||
in-sd1-supply: Input supply for SD1.
|
||||
in-sd2-supply: Input supply for SD2.
|
||||
in-sd3-supply: Input supply for SD3.
|
||||
in-ldo0-1-supply: Input supply for LDO0 and LDO1.
|
||||
in-ldo2-supply: Input supply for LDO2.
|
||||
in-ldo3-5-supply: Input supply for LDO3 and LDO5
|
||||
in-ldo4-6-supply: Input supply for LDO4 and LDO6.
|
||||
in-ldo7-8-supply: Input supply for LDO7 and LDO8.
|
||||
|
||||
Optional sub nodes for regulators under "regulators" subnode:
|
||||
------------------------------------------------------------
|
||||
The subnodes name is the name of regulator and it must be one of:
|
||||
sd[0-3], ldo[0-8]
|
||||
|
||||
Each sub-node should contain the constraints and initialization
|
||||
information for that regulator. The definition for each of these
|
||||
nodes is defined using the standard binding for regulators found at
|
||||
<Documentation/devicetree/bindings/regulator/regulator.txt>.
|
||||
|
||||
Theres are also additional properties for SD/LDOs. These additional properties
|
||||
are required to configure FPS configuration parameters for SDs and LDOs.
|
||||
Please refer <devicetree/bindings/mfd/max77620.txt> for more detail of Flexible
|
||||
Power Sequence (FPS).
|
||||
Following are additional properties:
|
||||
|
||||
- maxim,active-fps-source: FPS source for the regulators to get
|
||||
enabled/disabled when system is in
|
||||
active state. Valid values are:
|
||||
- MAX77620_FPS_SRC_0,
|
||||
FPS source is FPS0.
|
||||
- MAX77620_FPS_SRC_1,
|
||||
FPS source is FPS1
|
||||
- MAX77620_FPS_SRC_2 and
|
||||
FPS source is FPS2
|
||||
- MAX77620_FPS_SRC_NONE.
|
||||
Regulator is not controlled
|
||||
by FPS events and it gets
|
||||
enabled/disabled by register
|
||||
access.
|
||||
Absence of this property will leave
|
||||
the FPS configuration register for that
|
||||
regulator to default configuration.
|
||||
|
||||
- maxim,active-fps-power-up-slot: Sequencing event slot number on which
|
||||
the regulator get enabled when
|
||||
master FPS input event set to HIGH.
|
||||
Valid values are 0 to 7.
|
||||
This is applicable if FPS source is
|
||||
selected as FPS0, FPS1 or FPS2.
|
||||
|
||||
- maxim,active-fps-power-down-slot: Sequencing event slot number on which
|
||||
the regulator get disabled when master
|
||||
FPS input event set to LOW.
|
||||
Valid values are 0 to 7.
|
||||
This is applicable if FPS source is
|
||||
selected as FPS0, FPS1 or FPS2.
|
||||
|
||||
- maxim,suspend-fps-source: This is same as property
|
||||
"maxim,active-fps-source" but value
|
||||
get configured when system enters in
|
||||
to suspend state.
|
||||
|
||||
- maxim,suspend-fps-power-up-slot: This is same as property
|
||||
"maxim,active-fps-power-up-slot" but
|
||||
this value get configured into FPS
|
||||
configuration register when system
|
||||
enters into suspend.
|
||||
This is applicable if suspend state
|
||||
FPS source is selected as FPS0, FPS1 or
|
||||
|
||||
- maxim,suspend-fps-power-down-slot: This is same as property
|
||||
"maxim,active-fps-power-down-slot" but
|
||||
this value get configured into FPS
|
||||
configuration register when system
|
||||
enters into suspend.
|
||||
This is applicable if suspend state
|
||||
FPS source is selected as FPS0, FPS1 or
|
||||
FPS2.
|
||||
- maxim,ramp-rate-setting: integer, ramp rate(uV/us) setting to be
|
||||
configured to the device.
|
||||
The platform may have different ramp
|
||||
rate than advertised ramp rate if it has
|
||||
design variation from Maxim's
|
||||
recommended. On this case, platform
|
||||
specific ramp rate is used for ramp time
|
||||
calculation and this property is used
|
||||
for device register configurations.
|
||||
The measured ramp rate of platform is
|
||||
provided by the regulator-ramp-delay
|
||||
as described in <devicetree/bindings/
|
||||
regulator/regulator.txt>.
|
||||
Maxim Max77620 supports following ramp
|
||||
delay:
|
||||
SD: 13.75mV/us, 27.5mV/us, 55mV/us
|
||||
LDOs: 5mV/us, 100mV/us
|
||||
|
||||
Note: If the measured ramp delay is same as advertised ramp delay then it is not
|
||||
required to provide the ramp delay with property "maxim,ramp-rate-setting". The
|
||||
ramp rate can be provided by the regulator-ramp-delay which will be used for
|
||||
ramp time calculation for voltage change as well as for device configuration.
|
||||
|
||||
Example:
|
||||
--------
|
||||
#include <dt-bindings/mfd/max77620.h>
|
||||
...
|
||||
max77620@3c {
|
||||
in-ldo0-1-supply = <&max77620_sd2>;
|
||||
in-ldo7-8-supply = <&max77620_sd2>;
|
||||
regulators {
|
||||
sd0 {
|
||||
regulator-name = "vdd-core";
|
||||
regulator-min-microvolt = <600000>;
|
||||
regulator-max-microvolt = <1400000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
maxim,active-fps-source = <MAX77620_FPS_SRC_1>;
|
||||
};
|
||||
|
||||
sd1 {
|
||||
regulator-name = "vddio-ddr";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <1200000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
maxim,active-fps-source = <MAX77620_FPS_SRC_0>;
|
||||
};
|
||||
|
||||
sd2 {
|
||||
regulator-name = "vdd-pre-reg";
|
||||
regulator-min-microvolt = <1350000>;
|
||||
regulator-max-microvolt = <1350000>;
|
||||
};
|
||||
|
||||
sd3 {
|
||||
regulator-name = "vdd-1v8";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
ldo0 {
|
||||
regulator-name = "avdd-sys";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <1200000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
ldo1 {
|
||||
regulator-name = "vdd-pex";
|
||||
regulator-min-microvolt = <1050000>;
|
||||
regulator-max-microvolt = <1050000>;
|
||||
};
|
||||
|
||||
ldo2 {
|
||||
regulator-name = "vddio-sdmmc3";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
|
||||
ldo3 {
|
||||
regulator-name = "vdd-cam-hv";
|
||||
regulator-min-microvolt = <2800000>;
|
||||
regulator-max-microvolt = <2800000>;
|
||||
};
|
||||
|
||||
ldo4 {
|
||||
regulator-name = "vdd-rtc";
|
||||
regulator-min-microvolt = <1250000>;
|
||||
regulator-max-microvolt = <1250000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
ldo5 {
|
||||
regulator-name = "avdd-ts-hv";
|
||||
regulator-min-microvolt = <3000000>;
|
||||
regulator-max-microvolt = <3000000>;
|
||||
};
|
||||
|
||||
ldo6 {
|
||||
regulator-name = "vdd-ts";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
ldo7 {
|
||||
regulator-name = "vdd-gen-pll-edp";
|
||||
regulator-min-microvolt = <1050000>;
|
||||
regulator-max-microvolt = <1050000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
ldo8 {
|
||||
regulator-name = "vdd-hdmi-dp";
|
||||
regulator-min-microvolt = <1050000>;
|
||||
regulator-max-microvolt = <1050000>;
|
||||
};
|
||||
};
|
||||
};
|
1
bindings/regulator/regulator.txt
Normal file
1
bindings/regulator/regulator.txt
Normal file
@@ -0,0 +1 @@
|
||||
This file has moved to regulator.yaml.
|
291
bindings/regulator/regulator.yaml
Normal file
291
bindings/regulator/regulator.yaml
Normal file
@@ -0,0 +1,291 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/regulator/regulator.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Voltage/Current Regulators
|
||||
|
||||
maintainers:
|
||||
- Liam Girdwood <lgirdwood@gmail.com>
|
||||
- Mark Brown <broonie@kernel.org>
|
||||
|
||||
properties:
|
||||
regulator-name:
|
||||
description: A string used as a descriptive name for regulator outputs
|
||||
$ref: "/schemas/types.yaml#/definitions/string"
|
||||
|
||||
regulator-min-microvolt:
|
||||
description: smallest voltage consumers may set
|
||||
|
||||
regulator-max-microvolt:
|
||||
description: largest voltage consumers may set
|
||||
|
||||
regulator-microvolt-offset:
|
||||
description: Offset applied to voltages to compensate for voltage drops
|
||||
$ref: "/schemas/types.yaml#/definitions/uint32"
|
||||
|
||||
regulator-min-microamp:
|
||||
description: smallest current consumers may set
|
||||
|
||||
regulator-max-microamp:
|
||||
description: largest current consumers may set
|
||||
|
||||
regulator-input-current-limit-microamp:
|
||||
description: maximum input current regulator allows
|
||||
|
||||
regulator-always-on:
|
||||
description: boolean, regulator should never be disabled
|
||||
type: boolean
|
||||
|
||||
regulator-boot-on:
|
||||
description: bootloader/firmware enabled regulator.
|
||||
It's expected that this regulator was left on by the bootloader.
|
||||
If the bootloader didn't leave it on then OS should turn it on
|
||||
at boot but shouldn't prevent it from being turned off later.
|
||||
This property is intended to only be used for regulators where
|
||||
software cannot read the state of the regulator.
|
||||
type: boolean
|
||||
|
||||
regulator-allow-bypass:
|
||||
description: allow the regulator to go into bypass mode
|
||||
type: boolean
|
||||
|
||||
regulator-allow-set-load:
|
||||
description: allow the regulator performance level to be configured
|
||||
type: boolean
|
||||
|
||||
regulator-ramp-delay:
|
||||
description: ramp delay for regulator(in uV/us) For hardware which supports
|
||||
disabling ramp rate, it should be explicitly initialised to zero (regulator-ramp-delay
|
||||
= <0>) for disabling ramp delay.
|
||||
$ref: "/schemas/types.yaml#/definitions/uint32"
|
||||
|
||||
regulator-enable-ramp-delay:
|
||||
description: The time taken, in microseconds, for the supply rail to
|
||||
reach the target voltage, plus/minus whatever tolerance the board
|
||||
design requires. This property describes the total system ramp time
|
||||
required due to the combination of internal ramping of the regulator
|
||||
itself, and board design issues such as trace capacitance and load
|
||||
on the supply.
|
||||
$ref: "/schemas/types.yaml#/definitions/uint32"
|
||||
|
||||
regulator-settling-time-us:
|
||||
description: Settling time, in microseconds, for voltage change if regulator
|
||||
have the constant time for any level voltage change. This is useful
|
||||
when regulator have exponential voltage change.
|
||||
|
||||
regulator-settling-time-up-us:
|
||||
description: Settling time, in microseconds, for voltage increase if
|
||||
the regulator needs a constant time to settle after voltage increases
|
||||
of any level. This is useful for regulators with exponential voltage
|
||||
changes.
|
||||
|
||||
regulator-settling-time-down-us:
|
||||
description: Settling time, in microseconds, for voltage decrease if
|
||||
the regulator needs a constant time to settle after voltage decreases
|
||||
of any level. This is useful for regulators with exponential voltage
|
||||
changes.
|
||||
|
||||
regulator-soft-start:
|
||||
description: Enable soft start so that voltage ramps slowly
|
||||
type: boolean
|
||||
|
||||
regulator-initial-mode:
|
||||
description: initial operating mode. The set of possible operating modes
|
||||
depends on the capabilities of every hardware so each device binding
|
||||
documentation explains which values the regulator supports.
|
||||
$ref: "/schemas/types.yaml#/definitions/uint32"
|
||||
|
||||
regulator-allowed-modes:
|
||||
description: list of operating modes that software is allowed to configure
|
||||
for the regulator at run-time. Elements may be specified in any order.
|
||||
The set of possible operating modes depends on the capabilities of
|
||||
every hardware so each device binding document explains which values
|
||||
the regulator supports.
|
||||
$ref: "/schemas/types.yaml#/definitions/uint32-array"
|
||||
|
||||
regulator-system-load:
|
||||
description: Load in uA present on regulator that is not captured by
|
||||
any consumer request.
|
||||
$ref: "/schemas/types.yaml#/definitions/uint32"
|
||||
|
||||
regulator-pull-down:
|
||||
description: Enable pull down resistor when the regulator is disabled.
|
||||
type: boolean
|
||||
|
||||
regulator-over-current-protection:
|
||||
description: Enable over current protection.
|
||||
type: boolean
|
||||
|
||||
regulator-oc-protection-microamp:
|
||||
description: Set over current protection limit. This is a limit where
|
||||
hardware performs emergency shutdown. Zero can be passed to disable
|
||||
protection and value '1' indicates that protection should be enabled but
|
||||
limit setting can be omitted.
|
||||
|
||||
regulator-oc-error-microamp:
|
||||
description: Set over current error limit. This is a limit where part of
|
||||
the hardware propably is malfunctional and damage prevention is requested.
|
||||
Zero can be passed to disable error detection and value '1' indicates
|
||||
that detection should be enabled but limit setting can be omitted.
|
||||
|
||||
regulator-oc-warn-microamp:
|
||||
description: Set over current warning limit. This is a limit where hardware
|
||||
is assumed still to be functional but approaching limit where it gets
|
||||
damaged. Recovery actions should be initiated. Zero can be passed to
|
||||
disable detection and value '1' indicates that detection should
|
||||
be enabled but limit setting can be omitted.
|
||||
|
||||
regulator-ov-protection-microvolt:
|
||||
description: Set over voltage protection limit. This is a limit where
|
||||
hardware performs emergency shutdown. Zero can be passed to disable
|
||||
protection and value '1' indicates that protection should be enabled but
|
||||
limit setting can be omitted. Limit is given as microvolt offset from
|
||||
voltage set to regulator.
|
||||
|
||||
regulator-ov-error-microvolt:
|
||||
description: Set over voltage error limit. This is a limit where part of
|
||||
the hardware propably is malfunctional and damage prevention is requested
|
||||
Zero can be passed to disable error detection and value '1' indicates
|
||||
that detection should be enabled but limit setting can be omitted. Limit
|
||||
is given as microvolt offset from voltage set to regulator.
|
||||
|
||||
regulator-ov-warn-microvolt:
|
||||
description: Set over voltage warning limit. This is a limit where hardware
|
||||
is assumed still to be functional but approaching limit where it gets
|
||||
damaged. Recovery actions should be initiated. Zero can be passed to
|
||||
disable detection and value '1' indicates that detection should
|
||||
be enabled but limit setting can be omitted. Limit is given as microvolt
|
||||
offset from voltage set to regulator.
|
||||
|
||||
regulator-uv-protection-microvolt:
|
||||
description: Set over under voltage protection limit. This is a limit where
|
||||
hardware performs emergency shutdown. Zero can be passed to disable
|
||||
protection and value '1' indicates that protection should be enabled but
|
||||
limit setting can be omitted. Limit is given as microvolt offset from
|
||||
voltage set to regulator.
|
||||
|
||||
regulator-uv-error-microvolt:
|
||||
description: Set under voltage error limit. This is a limit where part of
|
||||
the hardware propably is malfunctional and damage prevention is requested
|
||||
Zero can be passed to disable error detection and value '1' indicates
|
||||
that detection should be enabled but limit setting can be omitted. Limit
|
||||
is given as microvolt offset from voltage set to regulator.
|
||||
|
||||
regulator-uv-warn-microvolt:
|
||||
description: Set over under voltage warning limit. This is a limit where
|
||||
hardware is assumed still to be functional but approaching limit where
|
||||
it gets damaged. Recovery actions should be initiated. Zero can be passed
|
||||
to disable detection and value '1' indicates that detection should
|
||||
be enabled but limit setting can be omitted. Limit is given as microvolt
|
||||
offset from voltage set to regulator.
|
||||
|
||||
regulator-temp-protection-kelvin:
|
||||
description: Set over temperature protection limit. This is a limit where
|
||||
hardware performs emergency shutdown. Zero can be passed to disable
|
||||
protection and value '1' indicates that protection should be enabled but
|
||||
limit setting can be omitted.
|
||||
|
||||
regulator-temp-error-kelvin:
|
||||
description: Set over temperature error limit. This is a limit where part of
|
||||
the hardware propably is malfunctional and damage prevention is requested
|
||||
Zero can be passed to disable error detection and value '1' indicates
|
||||
that detection should be enabled but limit setting can be omitted.
|
||||
|
||||
regulator-temp-warn-kelvin:
|
||||
description: Set over temperature warning limit. This is a limit where
|
||||
hardware is assumed still to be functional but approaching limit where it
|
||||
gets damaged. Recovery actions should be initiated. Zero can be passed to
|
||||
disable detection and value '1' indicates that detection should
|
||||
be enabled but limit setting can be omitted.
|
||||
|
||||
regulator-active-discharge:
|
||||
description: |
|
||||
tristate, enable/disable active discharge of regulators. The values are:
|
||||
0: Disable active discharge.
|
||||
1: Enable active discharge.
|
||||
Absence of this property will leave configuration to default.
|
||||
$ref: "/schemas/types.yaml#/definitions/uint32"
|
||||
enum: [0, 1]
|
||||
|
||||
regulator-coupled-with:
|
||||
description: Regulators with which the regulator is coupled. The linkage
|
||||
is 2-way - all coupled regulators should be linked with each other.
|
||||
A regulator should not be coupled with its supplier.
|
||||
$ref: "/schemas/types.yaml#/definitions/phandle-array"
|
||||
items:
|
||||
maxItems: 1
|
||||
|
||||
regulator-coupled-max-spread:
|
||||
description: Array of maximum spread between voltages of coupled regulators
|
||||
in microvolts, each value in the array relates to the corresponding
|
||||
couple specified by the regulator-coupled-with property.
|
||||
$ref: "/schemas/types.yaml#/definitions/uint32-array"
|
||||
|
||||
regulator-max-step-microvolt:
|
||||
description: Maximum difference between current and target voltages
|
||||
that can be changed safely in a single step.
|
||||
|
||||
patternProperties:
|
||||
".*-supply$":
|
||||
description: Input supply phandle(s) for this node
|
||||
|
||||
regulator-state-(standby|mem|disk):
|
||||
type: object
|
||||
description:
|
||||
sub-nodes for regulator state in Standby, Suspend-to-RAM, and
|
||||
Suspend-to-DISK modes. Equivalent with standby, mem, and disk Linux
|
||||
sleep states.
|
||||
|
||||
properties:
|
||||
regulator-on-in-suspend:
|
||||
description: regulator should be on in suspend state.
|
||||
type: boolean
|
||||
|
||||
regulator-off-in-suspend:
|
||||
description: regulator should be off in suspend state.
|
||||
type: boolean
|
||||
|
||||
regulator-suspend-min-microvolt:
|
||||
description: minimum voltage may be set in suspend state.
|
||||
|
||||
regulator-suspend-max-microvolt:
|
||||
description: maximum voltage may be set in suspend state.
|
||||
|
||||
regulator-suspend-microvolt:
|
||||
description: the default voltage which regulator would be set in
|
||||
suspend. This property is now deprecated, instead setting voltage
|
||||
for suspend mode via the API which regulator driver provides is
|
||||
recommended.
|
||||
|
||||
regulator-changeable-in-suspend:
|
||||
description: whether the default voltage and the regulator on/off
|
||||
in suspend can be changed in runtime.
|
||||
type: boolean
|
||||
|
||||
regulator-mode:
|
||||
description: operating mode in the given suspend state. The set
|
||||
of possible operating modes depends on the capabilities of every
|
||||
hardware so the valid modes are documented on each regulator device
|
||||
tree binding document.
|
||||
$ref: "/schemas/types.yaml#/definitions/uint32"
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
additionalProperties: true
|
||||
|
||||
examples:
|
||||
- |
|
||||
xyzreg: regulator {
|
||||
regulator-min-microvolt = <1000000>;
|
||||
regulator-max-microvolt = <2500000>;
|
||||
regulator-always-on;
|
||||
vin-supply = <&vin>;
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-on-in-suspend;
|
||||
};
|
||||
};
|
||||
|
||||
...
|
89
bindings/regulator/richtek,rt4801-regulator.yaml
Normal file
89
bindings/regulator/richtek,rt4801-regulator.yaml
Normal file
@@ -0,0 +1,89 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/regulator/richtek,rt4801-regulator.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Richtek RT4801 Display Bias regulators
|
||||
|
||||
maintainers:
|
||||
- ChiYuan Huang <cy_huang@richtek.com>
|
||||
|
||||
description: |
|
||||
Regulator nodes should be named to DSVP and DSVN. The
|
||||
definition for each of these nodes is defined using the standard
|
||||
binding for regulators at
|
||||
Documentation/devicetree/bindings/regulator/regulator.txt.
|
||||
Datasheet is available at
|
||||
https://www.richtek.com/assets/product_file/RT4801H/DS4801H-00.pdf
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- richtek,rt4801
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
enable-gpios:
|
||||
description: GPIOs to use to enable DSVP/DSVN regulator.
|
||||
The first one is ENP to enable DSVP, and second one is ENM to enable DSVN.
|
||||
Number of GPIO in the array list could be 1 or 2.
|
||||
If only one gpio is specified, only one gpio used to control ENP/ENM.
|
||||
Else if both are specified, DSVP/DSVN could be controlled individually.
|
||||
If this property not specified, treat both as always-on regulators.
|
||||
|
||||
Property is deprecated. Use enable-gpios in each regulator.
|
||||
minItems: 1
|
||||
maxItems: 2
|
||||
deprecated: true
|
||||
|
||||
patternProperties:
|
||||
"^DSV(P|N)$":
|
||||
type: object
|
||||
$ref: regulator.yaml#
|
||||
unevaluatedProperties: false
|
||||
description:
|
||||
Properties for single display bias regulator.
|
||||
|
||||
properties:
|
||||
enable-gpios:
|
||||
description:
|
||||
GPIO to use to enable DSVP/DSVN regulator. One GPIO can be configured
|
||||
for controlling both regulators. If this property not specified for
|
||||
any regulator, treat both as always-on regulators.
|
||||
maxItems: 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
rt4801@73 {
|
||||
compatible = "richtek,rt4801";
|
||||
reg = <0x73>;
|
||||
|
||||
dsvp: DSVP {
|
||||
regulator-name = "rt4801,dsvp";
|
||||
regulator-min-microvolt = <4000000>;
|
||||
regulator-max-microvolt = <6000000>;
|
||||
regulator-boot-on;
|
||||
enable-gpios = <&gpio26 2 0>;
|
||||
};
|
||||
dsvn: DSVN {
|
||||
regulator-name = "rt4801,dsvn";
|
||||
regulator-min-microvolt = <4000000>;
|
||||
regulator-max-microvolt = <6000000>;
|
||||
regulator-boot-on;
|
||||
enable-gpios = <&gpio26 3 0>;
|
||||
};
|
||||
|
||||
};
|
||||
};
|
35
bindings/regulator/richtek,rt4831-regulator.yaml
Normal file
35
bindings/regulator/richtek,rt4831-regulator.yaml
Normal file
@@ -0,0 +1,35 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/regulator/richtek,rt4831-regulator.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Richtek RT4831 Display Bias Voltage Regulator
|
||||
|
||||
maintainers:
|
||||
- ChiYuan Huang <cy_huang@richtek.com>
|
||||
|
||||
description: |
|
||||
RT4831 is a multifunctional device that can provide power to the LCD display
|
||||
and LCD backlight.
|
||||
|
||||
For Display Bias Voltage DSVP and DSVN, the output range is about 4V to 6.5V.
|
||||
It is sufficient to meet the current LCD power requirement.
|
||||
|
||||
DSVLCM is a boost regulator in IC internal as DSVP and DSVN input power.
|
||||
Its voltage should be configured above 0.15V to 0.2V gap larger than the
|
||||
voltage needed for DSVP and DSVN. Too much voltage gap could improve the
|
||||
voltage drop from the heavy loading scenario. But it also make the power
|
||||
efficiency worse. It's a trade-off.
|
||||
|
||||
Datasheet is available at
|
||||
https://www.richtek.com/assets/product_file/RT4831A/DS4831A-05.pdf
|
||||
|
||||
patternProperties:
|
||||
"^DSV(LCM|P|N)$":
|
||||
type: object
|
||||
$ref: regulator.yaml#
|
||||
description:
|
||||
Properties for single Display Bias Voltage regulator.
|
||||
|
||||
additionalProperties: false
|
141
bindings/regulator/richtek,rt5190a-regulator.yaml
Normal file
141
bindings/regulator/richtek,rt5190a-regulator.yaml
Normal file
@@ -0,0 +1,141 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/regulator/richtek,rt5190a-regulator.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Richtek RT5190A PMIC Regulator
|
||||
|
||||
maintainers:
|
||||
- ChiYuan Huang <cy_huang@richtek.com>
|
||||
|
||||
description: |
|
||||
The RT5190A integrates 1 channel buck controller, 3 channels high efficiency
|
||||
synchronous buck converters, 1 LDO, I2C control interface and peripherial
|
||||
logical control.
|
||||
|
||||
It also supports mute AC OFF depop sound and quick setting storage while
|
||||
input power is removed.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- richtek,rt5190a
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
vin2-supply:
|
||||
description: phandle to buck2 input voltage.
|
||||
|
||||
vin3-supply:
|
||||
description: phandle to buck3 input voltage.
|
||||
|
||||
vin4-supply:
|
||||
description: phandle to buck4 input voltage.
|
||||
|
||||
vinldo-supply:
|
||||
description: phandle to ldo input voltage
|
||||
|
||||
richtek,mute-enable:
|
||||
description: |
|
||||
The mute function uses 'mutein', 'muteout', and 'vdet' pins as the control
|
||||
signal. When enabled, The normal behavior is to bypass the 'mutein' signal
|
||||
'muteout'. But if the power source removal is detected from 'vdet',
|
||||
whatever the 'mutein' signal is, it will pull down the 'muteout' to force
|
||||
speakers mute. this function is commonly used to prevent the speaker pop
|
||||
noise during AC power turned off in the modern TV system design.
|
||||
type: boolean
|
||||
|
||||
regulators:
|
||||
type: object
|
||||
|
||||
patternProperties:
|
||||
"^buck[1-4]$|^ldo$":
|
||||
type: object
|
||||
$ref: regulator.yaml#
|
||||
description: |
|
||||
regulator description for buck1 to buck4, and ldo.
|
||||
|
||||
properties:
|
||||
regulator-allowed-modes:
|
||||
description: |
|
||||
buck operating mode, only buck1/4 support mode operating.
|
||||
0: auto mode
|
||||
1: force pwm mode
|
||||
items:
|
||||
enum: [0, 1]
|
||||
|
||||
richtek,latchup-enable:
|
||||
type: boolean
|
||||
description: |
|
||||
If specified, undervolt protection mode changes from the default
|
||||
hiccup to latchup.
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- regulators
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
#include <dt-bindings/regulator/richtek,rt5190a-regulator.h>
|
||||
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
pmic@64 {
|
||||
compatible = "richtek,rt5190a";
|
||||
reg = <0x64>;
|
||||
interrupts-extended = <&gpio26 0 IRQ_TYPE_LEVEL_LOW>;
|
||||
vin2-supply = <&rt5190_buck1>;
|
||||
vin3-supply = <&rt5190_buck1>;
|
||||
vin4-supply = <&rt5190_buck1>;
|
||||
|
||||
regulators {
|
||||
rt5190_buck1: buck1 {
|
||||
regulator-name = "rt5190a-buck1";
|
||||
regulator-min-microvolt = <5090000>;
|
||||
regulator-max-microvolt = <5090000>;
|
||||
regulator-allowed-modes = <RT5190A_OPMODE_AUTO RT5190A_OPMODE_FPWM>;
|
||||
regulator-boot-on;
|
||||
};
|
||||
buck2 {
|
||||
regulator-name = "rt5190a-buck2";
|
||||
regulator-min-microvolt = <600000>;
|
||||
regulator-max-microvolt = <1400000>;
|
||||
regulator-boot-on;
|
||||
};
|
||||
buck3 {
|
||||
regulator-name = "rt5190a-buck3";
|
||||
regulator-min-microvolt = <600000>;
|
||||
regulator-max-microvolt = <1400000>;
|
||||
regulator-boot-on;
|
||||
};
|
||||
buck4 {
|
||||
regulator-name = "rt5190a-buck4";
|
||||
regulator-min-microvolt = <850000>;
|
||||
regulator-max-microvolt = <850000>;
|
||||
regulator-allowed-modes = <RT5190A_OPMODE_AUTO RT5190A_OPMODE_FPWM>;
|
||||
regulator-boot-on;
|
||||
};
|
||||
ldo {
|
||||
regulator-name = "rt5190a-ldo";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <1200000>;
|
||||
regulator-boot-on;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
90
bindings/regulator/richtek,rt5759-regulator.yaml
Normal file
90
bindings/regulator/richtek,rt5759-regulator.yaml
Normal file
@@ -0,0 +1,90 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/regulator/richtek,rt5759-regulator.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Richtek RT5759 High Performance DCDC Converter
|
||||
|
||||
maintainers:
|
||||
- ChiYuan Huang <cy_huang@richtek.com>
|
||||
|
||||
description: |
|
||||
The RT5759 is a high-performance, synchronous step-down DC-DC converter that
|
||||
can deliver up to 9A output current from 3V to 6.5V input supply, The output
|
||||
voltage can be programmable with I2C controlled 7-Bit VID.
|
||||
|
||||
Datasheet is available at
|
||||
https://www.richtek.com/assets/product_file/RT5759/DS5759-00.pdf
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- richtek,rt5759
|
||||
- richtek,rt5759a
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
regulator-allowed-modes:
|
||||
description: |
|
||||
buck allowed operating mode
|
||||
0: auto mode (PSKIP: pulse skipping)
|
||||
1: force pwm mode
|
||||
items:
|
||||
enum: [0, 1]
|
||||
|
||||
richtek,watchdog-enable:
|
||||
description: enable the external watchdog reset pin listening
|
||||
type: boolean
|
||||
|
||||
allOf:
|
||||
- $ref: regulator.yaml#
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
const: richtek,rt5759
|
||||
then:
|
||||
properties:
|
||||
richtek,watchdog-enable: false
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
# example 1 for RT5759
|
||||
- |
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
regulator@62 {
|
||||
compatible = "richtek,rt5759";
|
||||
reg = <0x62>;
|
||||
regulator-name = "rt5759-buck";
|
||||
regulator-min-microvolt = <600000>;
|
||||
regulator-max-microvolt = <1500000>;
|
||||
regulator-boot-on;
|
||||
};
|
||||
};
|
||||
# example 2 for RT5759A
|
||||
- |
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
regulator@62 {
|
||||
compatible = "richtek,rt5759a";
|
||||
reg = <0x62>;
|
||||
regulator-name = "rt5759a-buck";
|
||||
regulator-min-microvolt = <600000>;
|
||||
regulator-max-microvolt = <1725000>;
|
||||
regulator-boot-on;
|
||||
richtek,watchdog-enable;
|
||||
};
|
||||
};
|
61
bindings/regulator/richtek,rt6160-regulator.yaml
Normal file
61
bindings/regulator/richtek,rt6160-regulator.yaml
Normal file
@@ -0,0 +1,61 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/regulator/richtek,rt6160-regulator.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Richtek RT6160 BuckBoost converter
|
||||
|
||||
maintainers:
|
||||
- ChiYuan Huang <cy_huang@richtek.com>
|
||||
|
||||
description: |
|
||||
The RT6160 is a high-efficiency buck-boost converter that can provide
|
||||
up to 3A output current from 2025mV to 5200mV. And it support the wide
|
||||
input voltage range from 2200mV to 5500mV.
|
||||
|
||||
Datasheet is available at
|
||||
https://www.richtek.com/assets/product_file/RT6160A/DS6160A-00.pdf
|
||||
|
||||
allOf:
|
||||
- $ref: regulator.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- richtek,rt6160
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
enable-gpios:
|
||||
description: A connection of the 'enable' gpio line.
|
||||
maxItems: 1
|
||||
|
||||
richtek,vsel-active-low:
|
||||
description: |
|
||||
Used to indicate the 'vsel' pin active level. if not specified, use
|
||||
high active level as the default.
|
||||
type: boolean
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
rt6160@75 {
|
||||
compatible = "richtek,rt6160";
|
||||
reg = <0x75>;
|
||||
enable-gpios = <&gpio26 2 0>;
|
||||
regulator-name = "rt6160-buckboost";
|
||||
regulator-min-microvolt = <2025000>;
|
||||
regulator-max-microvolt = <5200000>;
|
||||
};
|
||||
};
|
88
bindings/regulator/richtek,rt6245-regulator.yaml
Normal file
88
bindings/regulator/richtek,rt6245-regulator.yaml
Normal file
@@ -0,0 +1,88 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/regulator/richtek,rt6245-regulator.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Richtek RT6245 High Current Voltage Regulator
|
||||
|
||||
maintainers:
|
||||
- ChiYuan Huang <cy_huang@richtek.com>
|
||||
|
||||
description: |
|
||||
The RT6245 is a high-performance, synchronous step-down converter
|
||||
that can deliver up to 14A output current with an input supply
|
||||
voltage range of 4.5V to 17V.
|
||||
|
||||
allOf:
|
||||
- $ref: regulator.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- richtek,rt6245
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
enable-gpios:
|
||||
description: |
|
||||
A connection of the chip 'enable' gpio line. If not provided,
|
||||
it will be treat as a default-on power.
|
||||
maxItems: 1
|
||||
|
||||
richtek,oc-level-select:
|
||||
$ref: "/schemas/types.yaml#/definitions/uint8"
|
||||
enum: [0, 1, 2, 3]
|
||||
description: |
|
||||
Over current level selection. Each respective value means the current
|
||||
limit 8A, 14A, 12A, 10A. If this property is missing then keep in
|
||||
in chip default.
|
||||
|
||||
richtek,ot-level-select:
|
||||
$ref: "/schemas/types.yaml#/definitions/uint8"
|
||||
enum: [0, 1, 2]
|
||||
description: |
|
||||
Over temperature level selection. Each respective value means the degree
|
||||
150'c, 130'c, 170'c. If this property is missing then keep in chip
|
||||
default.
|
||||
|
||||
richtek,pgdly-time-select:
|
||||
$ref: "/schemas/types.yaml#/definitions/uint8"
|
||||
enum: [0, 1, 2, 3]
|
||||
description: |
|
||||
Power good signal delay time selection. Each respective value means the
|
||||
delay time 0us, 10us, 20us, 40us. If this property is missing then keep
|
||||
in chip default.
|
||||
|
||||
|
||||
richtek,switch-freq-select:
|
||||
$ref: "/schemas/types.yaml#/definitions/uint8"
|
||||
enum: [0, 1, 2]
|
||||
description: |
|
||||
Buck switch frequency selection. Each respective value means 400KHz,
|
||||
800KHz, 1200KHz. If this property is missing then keep in chip default.
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
rt6245@34 {
|
||||
compatible = "richtek,rt6245";
|
||||
reg = <0x34>;
|
||||
enable-gpios = <&gpio26 2 0>;
|
||||
|
||||
regulator-name = "rt6245-regulator";
|
||||
regulator-min-microvolt = <437500>;
|
||||
regulator-max-microvolt = <1387500>;
|
||||
regulator-boot-on;
|
||||
};
|
||||
};
|
159
bindings/regulator/richtek,rtmv20-regulator.yaml
Normal file
159
bindings/regulator/richtek,rtmv20-regulator.yaml
Normal file
@@ -0,0 +1,159 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/regulator/richtek,rtmv20-regulator.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Richtek RTMV20 laser diode regulator
|
||||
|
||||
maintainers:
|
||||
- ChiYuan Huang <cy_huang@richtek.com>
|
||||
|
||||
description: |
|
||||
Richtek RTMV20 is a load switch current regulator that can supply up to 6A.
|
||||
It is used to drive laser diode. There're two signals for chip controls
|
||||
(Enable/Fail), Enable pin to turn chip on, and Fail pin as fault indication.
|
||||
There're still four pins for camera control, two inputs (strobe and vsync),
|
||||
the others for outputs (fsin1 and fsin2). Strobe input to start the current
|
||||
supply, vsync input from IR camera, and fsin1/fsin2 output for the optional.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: richtek,rtmv20
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
wakeup-source: true
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
enable-gpios:
|
||||
description: A connection of the 'enable' gpio line.
|
||||
maxItems: 1
|
||||
|
||||
richtek,ld-pulse-delay-us:
|
||||
description: |
|
||||
load current pulse delay in microsecond after strobe pin pulse high.
|
||||
minimum: 0
|
||||
maximum: 100000
|
||||
default: 0
|
||||
|
||||
richtek,ld-pulse-width-us:
|
||||
description: |
|
||||
Load current pulse width in microsecond after strobe pin pulse high.
|
||||
minimum: 0
|
||||
maximum: 10000
|
||||
default: 1200
|
||||
|
||||
richtek,fsin1-delay-us:
|
||||
description: |
|
||||
Fsin1 pulse high delay in microsecond after vsync signal pulse high.
|
||||
minimum: 0
|
||||
maximum: 100000
|
||||
default: 23000
|
||||
|
||||
richtek,fsin1-width-us:
|
||||
description: |
|
||||
Fsin1 pulse high width in microsecond after vsync signal pulse high.
|
||||
minimum: 40
|
||||
maximum: 10000
|
||||
default: 160
|
||||
|
||||
richtek,fsin2-delay-us:
|
||||
description: |
|
||||
Fsin2 pulse high delay in microsecond after vsync signal pulse high.
|
||||
minimum: 0
|
||||
maximum: 100000
|
||||
default: 23000
|
||||
|
||||
richtek,fsin2-width-us:
|
||||
description: |
|
||||
Fsin2 pulse high width in microsecond after vsync signal pulse high.
|
||||
minimum: 40
|
||||
maximum: 10000
|
||||
default: 160
|
||||
|
||||
richtek,es-pulse-width-us:
|
||||
description: Eye safety function pulse width limit in microsecond.
|
||||
minimum: 0
|
||||
maximum: 10000
|
||||
default: 1200
|
||||
|
||||
richtek,es-ld-current-microamp:
|
||||
description: Eye safety function load current limit in microamp.
|
||||
minimum: 0
|
||||
maximum: 6000000
|
||||
default: 3000000
|
||||
|
||||
richtek,lbp-level-microvolt:
|
||||
description: Low battery protection level in microvolt.
|
||||
minimum: 2400000
|
||||
maximum: 3700000
|
||||
default: 2700000
|
||||
|
||||
richtek,lbp-enable:
|
||||
description: Low battery protection function enable control.
|
||||
type: boolean
|
||||
|
||||
richtek,strobe-polarity-high:
|
||||
description: Strobe pin active polarity control.
|
||||
type: boolean
|
||||
|
||||
richtek,vsync-polarity-high:
|
||||
description: Vsync pin active polarity control.
|
||||
type: boolean
|
||||
|
||||
richtek,fsin-enable:
|
||||
description: Fsin function enable control.
|
||||
type: boolean
|
||||
|
||||
richtek,fsin-output:
|
||||
description: Fsin function output control.
|
||||
type: boolean
|
||||
|
||||
richtek,es-enable:
|
||||
description: Eye safety function enable control.
|
||||
type: boolean
|
||||
|
||||
lsw:
|
||||
description: load switch current regulator description.
|
||||
type: object
|
||||
$ref: "regulator.yaml#"
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- wakeup-source
|
||||
- interrupts
|
||||
- enable-gpios
|
||||
- lsw
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
rtmv20@34 {
|
||||
compatible = "richtek,rtmv20";
|
||||
reg = <0x34>;
|
||||
wakeup-source;
|
||||
interrupts-extended = <&gpio26 2 IRQ_TYPE_LEVEL_LOW>;
|
||||
enable-gpios = <&gpio26 3 0>;
|
||||
|
||||
richtek,strobe-polarity-high;
|
||||
richtek,vsync-polarity-high;
|
||||
|
||||
lsw {
|
||||
regulator-name = "rtmv20,lsw";
|
||||
regulator-min-microamp = <0>;
|
||||
regulator-max-microamp = <6000000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
...
|
106
bindings/regulator/richtek,rtq2134-regulator.yaml
Normal file
106
bindings/regulator/richtek,rtq2134-regulator.yaml
Normal file
@@ -0,0 +1,106 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/regulator/richtek,rtq2134-regulator.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Richtek RTQ2134 SubPMIC Regulator
|
||||
|
||||
maintainers:
|
||||
- ChiYuan Huang <cy_huang@richtek.com>
|
||||
|
||||
description: |
|
||||
The RTQ2134 is a multi-phase, programmable power management IC that
|
||||
integrates with four high efficient, synchronous step-down converter cores.
|
||||
|
||||
Datasheet is available at
|
||||
https://www.richtek.com/assets/product_file/RTQ2134-QA/DSQ2134-QA-01.pdf
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- richtek,rtq2134
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
regulators:
|
||||
type: object
|
||||
|
||||
patternProperties:
|
||||
"^buck[1-3]$":
|
||||
type: object
|
||||
$ref: regulator.yaml#
|
||||
description: |
|
||||
regulator description for buck[1-3].
|
||||
|
||||
properties:
|
||||
richtek,use-vsel-dvs:
|
||||
type: boolean
|
||||
description: |
|
||||
If specified, buck will listen to 'vsel' pin for dvs config.
|
||||
Else, use dvs0 voltage by default.
|
||||
|
||||
richtek,uv-shutdown:
|
||||
type: boolean
|
||||
description: |
|
||||
If specified, use shutdown as UV action. Else, hiccup by default.
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- regulators
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
rtq2134@18 {
|
||||
compatible = "richtek,rtq2134";
|
||||
reg = <0x18>;
|
||||
|
||||
regulators {
|
||||
buck1 {
|
||||
regulator-name = "rtq2134-buck1";
|
||||
regulator-min-microvolt = <300000>;
|
||||
regulator-max-microvolt = <1850000>;
|
||||
regulator-always-on;
|
||||
richtek,use-vsel-dvs;
|
||||
regulator-state-mem {
|
||||
regulator-suspend-min-microvolt = <550000>;
|
||||
regulator-suspend-max-microvolt = <550000>;
|
||||
};
|
||||
};
|
||||
buck2 {
|
||||
regulator-name = "rtq2134-buck2";
|
||||
regulator-min-microvolt = <1120000>;
|
||||
regulator-max-microvolt = <1120000>;
|
||||
regulator-always-on;
|
||||
richtek,use-vsel-dvs;
|
||||
regulator-state-mem {
|
||||
regulator-suspend-min-microvolt = <1120000>;
|
||||
regulator-suspend-max-microvolt = <1120000>;
|
||||
};
|
||||
};
|
||||
buck3 {
|
||||
regulator-name = "rtq2134-buck3";
|
||||
regulator-min-microvolt = <600000>;
|
||||
regulator-max-microvolt = <600000>;
|
||||
regulator-always-on;
|
||||
richtek,use-vsel-dvs;
|
||||
regulator-state-mem {
|
||||
regulator-suspend-min-microvolt = <600000>;
|
||||
regulator-suspend-max-microvolt = <600000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
76
bindings/regulator/richtek,rtq6752-regulator.yaml
Normal file
76
bindings/regulator/richtek,rtq6752-regulator.yaml
Normal file
@@ -0,0 +1,76 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/regulator/richtek,rtq6752-regulator.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Richtek RTQ6752 TFT LCD Voltage Regulator
|
||||
|
||||
maintainers:
|
||||
- ChiYuan Huang <cy_huang@richtek.com>
|
||||
|
||||
description: |
|
||||
The RTQ6752 is an I2C interface pgorammable power management IC. It includes
|
||||
two synchronous boost converter for PAVDD, and one synchronous NAVDD
|
||||
buck-boost. The device is suitable for automotive TFT-LCD panel.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- richtek,rtq6752
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
enable-gpios:
|
||||
description: |
|
||||
A connection of the chip 'enable' gpio line. If not provided, treat it as
|
||||
external pull up.
|
||||
maxItems: 1
|
||||
|
||||
regulators:
|
||||
type: object
|
||||
|
||||
patternProperties:
|
||||
"^(p|n)avdd$":
|
||||
type: object
|
||||
$ref: regulator.yaml#
|
||||
description: |
|
||||
regulator description for pavdd and navdd.
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- regulators
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
rtq6752@6b {
|
||||
compatible = "richtek,rtq6752";
|
||||
reg = <0x6b>;
|
||||
enable-gpios = <&gpio26 2 0>;
|
||||
|
||||
regulators {
|
||||
pavdd {
|
||||
regulator-name = "rtq6752-pavdd";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <7300000>;
|
||||
regulator-boot-on;
|
||||
};
|
||||
navdd {
|
||||
regulator-name = "rtq6752-navdd";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <7300000>;
|
||||
regulator-boot-on;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
117
bindings/regulator/rohm,bd71815-regulator.yaml
Normal file
117
bindings/regulator/rohm,bd71815-regulator.yaml
Normal file
@@ -0,0 +1,117 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/regulator/rohm,bd71815-regulator.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: ROHM BD71815 Power Management Integrated Circuit regulators
|
||||
|
||||
maintainers:
|
||||
- Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
|
||||
|
||||
description: |
|
||||
This module is part of the ROHM BD718215 MFD device. For more details
|
||||
see Documentation/devicetree/bindings/mfd/rohm,bd71815-pmic.yaml.
|
||||
|
||||
The regulator controller is represented as a sub-node of the PMIC node
|
||||
on the device tree.
|
||||
|
||||
The valid names for BD71815 regulator nodes are
|
||||
buck1, buck2, buck3, buck4, buck5,
|
||||
ldo1, ldo2, ldo3, ldo4, ldo5,
|
||||
ldodvref, ldolpsr, wled
|
||||
|
||||
properties:
|
||||
wled:
|
||||
type: object
|
||||
description:
|
||||
properties for wled regulator
|
||||
$ref: regulator.yaml#
|
||||
unevaluatedProperties: false
|
||||
|
||||
properties:
|
||||
regulator-name:
|
||||
const: wled
|
||||
|
||||
patternProperties:
|
||||
"^((ldo|buck)[1-5]|ldolpsr|ldodvref)$":
|
||||
type: object
|
||||
description:
|
||||
Properties for single LDO/BUCK regulator.
|
||||
$ref: regulator.yaml#
|
||||
|
||||
properties:
|
||||
regulator-name:
|
||||
pattern: "^((ldo|buck)[1-5]|ldolpsr|ldodvref)$"
|
||||
description:
|
||||
should be "ldo1", ..., "ldo5", "buck1", ..., "buck5" and "ldolpsr"
|
||||
for ldolpsr regulator, "ldodvref" for ldodvref reglator.
|
||||
|
||||
rohm,vsel-gpios:
|
||||
description:
|
||||
GPIO used to control ldo4 state (when ldo4 is controlled by GPIO).
|
||||
|
||||
rohm,dvs-run-voltage:
|
||||
description:
|
||||
PMIC "RUN" state voltage in uV when PMIC HW states are used. See
|
||||
comments below for bucks/LDOs which support this. 0 means
|
||||
regulator should be disabled at RUN state.
|
||||
$ref: "/schemas/types.yaml#/definitions/uint32"
|
||||
minimum: 0
|
||||
maximum: 3300000
|
||||
|
||||
rohm,dvs-snvs-voltage:
|
||||
description:
|
||||
Whether to keep regulator enabled at "SNVS" state or not.
|
||||
0 means regulator should be disabled at SNVS state, non zero voltage
|
||||
keeps regulator enabled. BD71815 does not change voltage level
|
||||
when PMIC transitions to SNVS.SNVS voltage depends on the previous
|
||||
state (from which the PMIC transitioned to SNVS).
|
||||
$ref: "/schemas/types.yaml#/definitions/uint32"
|
||||
minimum: 0
|
||||
maximum: 3300000
|
||||
|
||||
rohm,dvs-suspend-voltage:
|
||||
description:
|
||||
PMIC "SUSPEND" state voltage in uV when PMIC HW states are used. See
|
||||
comments below for bucks/LDOs which support this. 0 means
|
||||
regulator should be disabled at SUSPEND state.
|
||||
$ref: "/schemas/types.yaml#/definitions/uint32"
|
||||
minimum: 0
|
||||
maximum: 3300000
|
||||
|
||||
rohm,dvs-lpsr-voltage:
|
||||
description:
|
||||
PMIC "LPSR" state voltage in uV when PMIC HW states are used. See
|
||||
comments below for bucks/LDOs which support this. 0 means
|
||||
regulator should be disabled at LPSR state.
|
||||
$ref: "/schemas/types.yaml#/definitions/uint32"
|
||||
minimum: 0
|
||||
maximum: 3300000
|
||||
|
||||
# Bucks 1 and 2 support giving separate voltages for operational states
|
||||
# (RUN /CLEAN according to data-sheet) and non operational states
|
||||
# (LPSR/SUSPEND). The voltage is automatically changed when HW
|
||||
# state changes. Omitting these properties from bucks 1 and 2 leave
|
||||
# buck voltages to not be toggled by HW state. Enable status may still
|
||||
# be toggled by state changes depending on HW default settings.
|
||||
#
|
||||
# Bucks 3-5 and ldos 1-5 support setting the RUN state voltage here.
|
||||
# Given RUN voltage is used at all states if regulator is enabled at
|
||||
# given state.
|
||||
# Values given for other states are regarded as enable/disable at
|
||||
# given state (see below).
|
||||
#
|
||||
# All regulators except WLED support specifying enable/disable status
|
||||
# for each of the HW states (RUN/SNVS/SUSPEND/LPSR). HW defaults can
|
||||
# be overridden by setting voltage to 0 (regulator disabled at given
|
||||
# state) or non-zero (regulator enabled at given state). Please note
|
||||
# that setting non zero voltages for bucks 1/2 will also enable voltage
|
||||
# changes according to state change.
|
||||
|
||||
required:
|
||||
- regulator-name
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
additionalProperties: false
|
105
bindings/regulator/rohm,bd71828-regulator.yaml
Normal file
105
bindings/regulator/rohm,bd71828-regulator.yaml
Normal file
@@ -0,0 +1,105 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/regulator/rohm,bd71828-regulator.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: ROHM BD71828 Power Management Integrated Circuit regulators
|
||||
|
||||
maintainers:
|
||||
- Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
|
||||
|
||||
description: |
|
||||
This module is part of the ROHM BD71828 MFD device. For more details
|
||||
see Documentation/devicetree/bindings/mfd/rohm,bd71828-pmic.yaml.
|
||||
|
||||
The regulator controller is represented as a sub-node of the PMIC node
|
||||
on the device tree.
|
||||
|
||||
Regulator nodes should be named to BUCK_<number> and LDO_<number>.
|
||||
The valid names for BD71828 regulator nodes are
|
||||
BUCK1, BUCK2, BUCK3, BUCK4, BUCK5, BUCK6, BUCK7
|
||||
LDO1, LDO2, LDO3, LDO4, LDO5, LDO6, LDO7
|
||||
|
||||
patternProperties:
|
||||
"^LDO[1-7]$":
|
||||
type: object
|
||||
description:
|
||||
Properties for single LDO regulator.
|
||||
$ref: regulator.yaml#
|
||||
|
||||
properties:
|
||||
regulator-name:
|
||||
pattern: "^ldo[1-7]$"
|
||||
description:
|
||||
should be "ldo1", ..., "ldo7"
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
"^BUCK[1-7]$":
|
||||
type: object
|
||||
description:
|
||||
Properties for single BUCK regulator.
|
||||
$ref: regulator.yaml#
|
||||
|
||||
properties:
|
||||
regulator-name:
|
||||
pattern: "^buck[1-7]$"
|
||||
description:
|
||||
should be "buck1", ..., "buck7"
|
||||
|
||||
rohm,dvs-run-voltage:
|
||||
description:
|
||||
PMIC default "RUN" state voltage in uV. See below table for
|
||||
bucks which support this. 0 means disabled.
|
||||
$ref: "/schemas/types.yaml#/definitions/uint32"
|
||||
minimum: 0
|
||||
maximum: 3300000
|
||||
|
||||
rohm,dvs-idle-voltage:
|
||||
description:
|
||||
PMIC default "IDLE" state voltage in uV. See below table for
|
||||
bucks which support this. 0 means disabled.
|
||||
$ref: "/schemas/types.yaml#/definitions/uint32"
|
||||
minimum: 0
|
||||
maximum: 3300000
|
||||
|
||||
rohm,dvs-suspend-voltage:
|
||||
description:
|
||||
PMIC default "SUSPEND" state voltage in uV. See below table for
|
||||
bucks which support this. 0 means disabled.
|
||||
$ref: "/schemas/types.yaml#/definitions/uint32"
|
||||
minimum: 0
|
||||
maximum: 3300000
|
||||
|
||||
rohm,dvs-lpsr-voltage:
|
||||
description:
|
||||
PMIC default "LPSR" state voltage in uV. See below table for
|
||||
bucks which support this. 0 means disabled.
|
||||
$ref: "/schemas/types.yaml#/definitions/uint32"
|
||||
minimum: 0
|
||||
maximum: 3300000
|
||||
|
||||
# Supported default DVS states:
|
||||
# buck | run | idle | suspend | lpsr
|
||||
#--------------------------------------------------------------
|
||||
# 1, 2, 6, and 7 | supported | supported | supported (*)
|
||||
#--------------------------------------------------------------
|
||||
# 3, 4, and 5 | supported (**)
|
||||
#--------------------------------------------------------------
|
||||
#
|
||||
#(*) LPSR and SUSPEND states use same voltage but both states have own
|
||||
# enable /
|
||||
# disable settings. Voltage 0 can be specified for a state to make
|
||||
# regulator disabled on that state.
|
||||
#
|
||||
#(**) All states use same voltage but have own enable / disable
|
||||
# settings. Voltage 0 can be specified for a state to make
|
||||
# regulator disabled on that state.
|
||||
|
||||
required:
|
||||
- regulator-name
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
additionalProperties: false
|
161
bindings/regulator/rohm,bd71837-regulator.yaml
Normal file
161
bindings/regulator/rohm,bd71837-regulator.yaml
Normal file
@@ -0,0 +1,161 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/regulator/rohm,bd71837-regulator.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: ROHM BD71837 Power Management Integrated Circuit regulators
|
||||
|
||||
maintainers:
|
||||
- Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
|
||||
|
||||
description: |
|
||||
List of regulators provided by this controller. BD71837 regulators node
|
||||
should be sub node of the BD71837 MFD node. See BD71837 MFD bindings at
|
||||
Documentation/devicetree/bindings/mfd/rohm,bd71837-pmic.yaml
|
||||
Regulator nodes should be named to BUCK_<number> and LDO_<number>. The
|
||||
definition for each of these nodes is defined using the standard
|
||||
binding for regulators at
|
||||
Documentation/devicetree/bindings/regulator/regulator.txt.
|
||||
Note that if BD71837 starts at RUN state you probably want to use
|
||||
regulator-boot-on at least for BUCK6 and BUCK7 so that those are not
|
||||
disabled by driver at startup. LDO5 and LDO6 are supplied by those and
|
||||
if they are disabled at startup the voltage monitoring for LDO5/LDO6 will
|
||||
cause PMIC to reset.
|
||||
|
||||
#The valid names for BD71837 regulator nodes are:
|
||||
#BUCK1, BUCK2, BUCK3, BUCK4, BUCK5, BUCK6, BUCK7, BUCK8
|
||||
#LDO1, LDO2, LDO3, LDO4, LDO5, LDO6, LDO7
|
||||
|
||||
patternProperties:
|
||||
"^LDO[1-7]$":
|
||||
type: object
|
||||
$ref: regulator.yaml#
|
||||
description:
|
||||
Properties for single LDO regulator.
|
||||
|
||||
properties:
|
||||
regulator-name:
|
||||
pattern: "^ldo[1-7]$"
|
||||
description:
|
||||
should be "ldo1", ..., "ldo7"
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
"^BUCK[1-8]$":
|
||||
type: object
|
||||
$ref: regulator.yaml#
|
||||
description:
|
||||
Properties for single BUCK regulator.
|
||||
|
||||
properties:
|
||||
regulator-name:
|
||||
pattern: "^buck[1-8]$"
|
||||
description:
|
||||
should be "buck1", ..., "buck8"
|
||||
|
||||
rohm,dvs-run-voltage:
|
||||
$ref: "/schemas/types.yaml#/definitions/uint32"
|
||||
minimum: 0
|
||||
maximum: 1300000
|
||||
description:
|
||||
PMIC default "RUN" state voltage in uV. See below table for
|
||||
bucks which support this. 0 means disabled.
|
||||
|
||||
rohm,dvs-idle-voltage:
|
||||
$ref: "/schemas/types.yaml#/definitions/uint32"
|
||||
minimum: 0
|
||||
maximum: 1300000
|
||||
description:
|
||||
PMIC default "IDLE" state voltage in uV. See below table for
|
||||
bucks which support this. 0 means disabled.
|
||||
|
||||
rohm,dvs-suspend-voltage:
|
||||
$ref: "/schemas/types.yaml#/definitions/uint32"
|
||||
minimum: 0
|
||||
maximum: 1300000
|
||||
description:
|
||||
PMIC default "SUSPEND" state voltage in uV. See below table for
|
||||
bucks which support this. 0 means disabled.
|
||||
|
||||
# Supported default DVS states:
|
||||
#
|
||||
# BD71837:
|
||||
# buck | dvs-run-voltage | dvs-idle-voltage | dvs-suspend-voltage
|
||||
# ----------------------------------------------------------------
|
||||
# 1 | supported | supported | supported
|
||||
# ----------------------------------------------------------------
|
||||
# 2 | supported | supported | not supported
|
||||
# ----------------------------------------------------------------
|
||||
# 3 | supported | not supported | not supported
|
||||
# ----------------------------------------------------------------
|
||||
# 4 | supported | not supported | not supported
|
||||
# ----------------------------------------------------------------
|
||||
# rest | not supported | not supported | not supported
|
||||
|
||||
# BD71837 power outputs can either be controlled by the PMIC internal
|
||||
# hardware state machine or by software. If you need regulators to be
|
||||
# turned ON/OFF for example based on PMIC_STBY_REQ line (which toggles
|
||||
# PMIC HW state machine) - then you should set this property.
|
||||
# Tradeoff is that then SW can't control the ON/OFF state for this
|
||||
# regulator (other than invoking a PMIC state change).
|
||||
rohm,no-regulator-enable-control:
|
||||
description: |
|
||||
Enable/Disable control of this regulator must be left to the
|
||||
PMIC hardware state machine.
|
||||
type: boolean
|
||||
|
||||
# Setups where regulator (especially the buck8) output voltage is scaled
|
||||
# by adding external connection where some other regulator output is
|
||||
# connected to feedback-pin (over suitable resistors) is getting popular
|
||||
# amongst users of BD71837. (This allows for example scaling down the
|
||||
# buck8 voltages to suit lover GPU voltages for projects where buck8 is
|
||||
# (ab)used to supply power for GPU.
|
||||
#
|
||||
# So we allow describing this external connection from DT and scale the
|
||||
# voltages accordingly. This is what the connection should look like:
|
||||
#
|
||||
# |---------------|
|
||||
# | buck 8 |-------+----->Vout
|
||||
# | | |
|
||||
# |---------------| |
|
||||
# | |
|
||||
# | |
|
||||
# +-------+--R2----+
|
||||
# |
|
||||
# R1
|
||||
# |
|
||||
# V FB-pull-up
|
||||
#
|
||||
# Here the buck output is sifted according to formula:
|
||||
#
|
||||
# Vout_o = Vo - (Vpu - Vo)*R2/R1
|
||||
# Linear_step = step_orig*(R1+R2)/R1
|
||||
#
|
||||
# where:
|
||||
# Vout_o is adjusted voltage output at vsel reg value 0
|
||||
# Vo is original voltage output at vsel reg value 0
|
||||
# Vpu is the pull-up voltage V FB-pull-up in the picture
|
||||
# R1 and R2 are resistor values.
|
||||
|
||||
rohm,fb-pull-up-microvolt:
|
||||
description:
|
||||
Feedback-pin has pull-up connection to adjust voltage range. This is
|
||||
the used pull-up voltage before R1.
|
||||
|
||||
rohm,feedback-pull-up-r1-ohms:
|
||||
description:
|
||||
Feedback-pin has pull-up connection to adjust voltage range. This is
|
||||
the used R1 resistor.
|
||||
|
||||
rohm,feedback-pull-up-r2-ohms:
|
||||
description:
|
||||
Feedback-pin has pull-up connection to adjust voltage range. This is
|
||||
the used R2 resistor.
|
||||
|
||||
required:
|
||||
- regulator-name
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
additionalProperties: false
|
156
bindings/regulator/rohm,bd71847-regulator.yaml
Normal file
156
bindings/regulator/rohm,bd71847-regulator.yaml
Normal file
@@ -0,0 +1,156 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/regulator/rohm,bd71847-regulator.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: ROHM BD71847 and BD71850 Power Management Integrated Circuit regulators
|
||||
|
||||
maintainers:
|
||||
- Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
|
||||
|
||||
description: |
|
||||
List of regulators provided by this controller. BD71847 regulators node
|
||||
should be sub node of the BD71847 MFD node. See BD71847 MFD bindings at
|
||||
Documentation/devicetree/bindings/mfd/rohm,bd71847-pmic.yaml
|
||||
Regulator nodes should be named to BUCK_<number> and LDO_<number>. The
|
||||
definition for each of these nodes is defined using the standard
|
||||
binding for regulators at
|
||||
Documentation/devicetree/bindings/regulator/regulator.txt.
|
||||
Note that if BD71847 starts at RUN state you probably want to use
|
||||
regulator-boot-on at least for BUCK5. LDO6 is supplied by it and it must
|
||||
not be disabled by driver at startup. If BUCK5 is disabled at startup the
|
||||
voltage monitoring for LDO5/LDO6 can cause PMIC to reset.
|
||||
|
||||
#The valid names for BD71847 regulator nodes are:
|
||||
#BUCK1, BUCK2, BUCK3, BUCK4, BUCK5, BUCK6
|
||||
#LDO1, LDO2, LDO3, LDO4, LDO5, LDO6
|
||||
|
||||
patternProperties:
|
||||
"^LDO[1-6]$":
|
||||
type: object
|
||||
$ref: regulator.yaml#
|
||||
description:
|
||||
Properties for single LDO regulator.
|
||||
|
||||
properties:
|
||||
regulator-name:
|
||||
pattern: "^ldo[1-6]$"
|
||||
description:
|
||||
should be "ldo1", ..., "ldo6"
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
"^BUCK[1-6]$":
|
||||
type: object
|
||||
$ref: regulator.yaml#
|
||||
description:
|
||||
Properties for single BUCK regulator.
|
||||
|
||||
properties:
|
||||
regulator-name:
|
||||
pattern: "^buck[1-6]$"
|
||||
description:
|
||||
should be "buck1", ..., "buck6"
|
||||
|
||||
rohm,dvs-run-voltage:
|
||||
$ref: "/schemas/types.yaml#/definitions/uint32"
|
||||
minimum: 0
|
||||
maximum: 1300000
|
||||
description:
|
||||
PMIC default "RUN" state voltage in uV. See below table for
|
||||
bucks which support this. 0 means disabled.
|
||||
|
||||
rohm,dvs-idle-voltage:
|
||||
$ref: "/schemas/types.yaml#/definitions/uint32"
|
||||
minimum: 0
|
||||
maximum: 1300000
|
||||
description:
|
||||
PMIC default "IDLE" state voltage in uV. See below table for
|
||||
bucks which support this. 0 means disabled.
|
||||
|
||||
rohm,dvs-suspend-voltage:
|
||||
$ref: "/schemas/types.yaml#/definitions/uint32"
|
||||
minimum: 0
|
||||
maximum: 1300000
|
||||
description:
|
||||
PMIC default "SUSPEND" state voltage in uV. See below table for
|
||||
bucks which support this. 0 means disabled.
|
||||
|
||||
# Supported default DVS states:
|
||||
#
|
||||
# BD71847:
|
||||
# buck | dvs-run-voltage | dvs-idle-voltage | dvs-suspend-voltage
|
||||
# ----------------------------------------------------------------
|
||||
# 1 | supported | supported | supported
|
||||
# ----------------------------------------------------------------
|
||||
# 2 | supported | supported | not supported
|
||||
# ----------------------------------------------------------------
|
||||
# rest | not supported | not supported | not supported
|
||||
|
||||
# BD718(47/50) power outputs can either be controlled by the PMIC internal
|
||||
# hardware state machine or by software. If you need regulators to be
|
||||
# turned ON/OFF for example based on PMIC_STBY_REQ line (which toggles
|
||||
# PMIC HW state machine) - then you should set this property.
|
||||
# Tradeoff is that then SW can't control the ON/OFF state for this
|
||||
# regulator (other than invoking a PMIC state change).
|
||||
rohm,no-regulator-enable-control:
|
||||
description: |
|
||||
Enable/Disable control of this regulator must be left to the
|
||||
PMIC hardware state machine.
|
||||
type: boolean
|
||||
|
||||
# Setups where regulator (especially the buck8) output voltage is scaled
|
||||
# by adding external connection where some other regulator output is
|
||||
# connected to feedback-pin (over suitable resistors) is getting popular
|
||||
# amongst users of BD71837. (This allows for example scaling down the
|
||||
# buck8 voltages to suit lover GPU voltages for projects where buck8 is
|
||||
# (ab)used to supply power for GPU.
|
||||
#
|
||||
# So we allow describing this external connection from DT and scale the
|
||||
# voltages accordingly. This is what the connection should look like:
|
||||
#
|
||||
# |---------------|
|
||||
# | buck 8 |-------+----->Vout
|
||||
# | | |
|
||||
# |---------------| |
|
||||
# | |
|
||||
# | |
|
||||
# +-------+--R2----+
|
||||
# |
|
||||
# R1
|
||||
# |
|
||||
# V FB-pull-up
|
||||
#
|
||||
# Here the buck output is sifted according to formula:
|
||||
#
|
||||
# Vout_o = Vo - (Vpu - Vo)*R2/R1
|
||||
# Linear_step = step_orig*(R1+R2)/R1
|
||||
#
|
||||
# where:
|
||||
# Vout_o is adjusted voltage output at vsel reg value 0
|
||||
# Vo is original voltage output at vsel reg value 0
|
||||
# Vpu is the pull-up voltage V FB-pull-up in the picture
|
||||
# R1 and R2 are resistor values.
|
||||
|
||||
rohm,fb-pull-up-microvolt:
|
||||
description:
|
||||
Feedback-pin has pull-up connection to adjust voltage range. This is
|
||||
the used pull-up voltage before R1.
|
||||
|
||||
rohm,feedback-pull-up-r1-ohms:
|
||||
description:
|
||||
Feedback-pin has pull-up connection to adjust voltage range. This is
|
||||
the used R1 resistor.
|
||||
|
||||
rohm,feedback-pull-up-r2-ohms:
|
||||
description:
|
||||
Feedback-pin has pull-up connection to adjust voltage range. This is
|
||||
the used R2 resistor.
|
||||
|
||||
required:
|
||||
- regulator-name
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
additionalProperties: false
|
40
bindings/regulator/rohm,bd9576-regulator.yaml
Normal file
40
bindings/regulator/rohm,bd9576-regulator.yaml
Normal file
@@ -0,0 +1,40 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/regulator/rohm,bd9576-regulator.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: ROHM BD9576 and BD9573 Power Management Integrated Circuit regulators
|
||||
|
||||
maintainers:
|
||||
- Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
|
||||
|
||||
description: |
|
||||
This module is part of the ROHM BD9576 MFD device. For more details
|
||||
see Documentation/devicetree/bindings/mfd/rohm,bd9576-pmic.yaml.
|
||||
|
||||
The regulator controller is represented as a sub-node of the PMIC node
|
||||
on the device tree.
|
||||
|
||||
The valid names for BD9576 regulator nodes are
|
||||
regulator-vd50, regulator-vd18, regulator-vdddr, regulator-vd10,
|
||||
regulator-voutl1, regulator-vouts1
|
||||
|
||||
patternProperties:
|
||||
"regulator-.+":
|
||||
type: object
|
||||
description:
|
||||
Properties for single regulator.
|
||||
$ref: "regulator.yaml#"
|
||||
|
||||
properties:
|
||||
rohm,ocw-fet-ron-micro-ohms:
|
||||
description: |
|
||||
External FET's ON-resistance. Required if VoutS1 OCP/OCW is
|
||||
to be set.
|
||||
|
||||
required:
|
||||
- regulator-name
|
||||
|
||||
unevaluatedProperties: false
|
||||
additionalProperties: false
|
62
bindings/regulator/samsung,s2mpa01.yaml
Normal file
62
bindings/regulator/samsung,s2mpa01.yaml
Normal file
@@ -0,0 +1,62 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/regulator/samsung,s2mpa01.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Samsung S2MPA01 Power Management IC regulators
|
||||
|
||||
maintainers:
|
||||
- Krzysztof Kozlowski <krzk@kernel.org>
|
||||
|
||||
description: |
|
||||
This is a part of device tree bindings for S2M and S5M family of Power
|
||||
Management IC (PMIC).
|
||||
|
||||
The S2MPA01 provides buck and LDO regulators.
|
||||
|
||||
See also Documentation/devicetree/bindings/mfd/samsung,s2mpa01.yaml for
|
||||
additional information and example.
|
||||
|
||||
patternProperties:
|
||||
# 26 LDOs
|
||||
"^LDO([1-9]|1[0-9]|2[0-6])$":
|
||||
type: object
|
||||
$ref: regulator.yaml#
|
||||
unevaluatedProperties: false
|
||||
description:
|
||||
Properties for single LDO regulator.
|
||||
|
||||
required:
|
||||
- regulator-name
|
||||
|
||||
# 10 bucks
|
||||
"^BUCK([1-9]|10)$":
|
||||
type: object
|
||||
$ref: regulator.yaml#
|
||||
unevaluatedProperties: false
|
||||
description:
|
||||
Properties for single BUCK regulator.
|
||||
|
||||
properties:
|
||||
regulator-ramp-delay:
|
||||
enum: [0, 6250, 12500, 25000, 50000]
|
||||
default: 12500
|
||||
description: |
|
||||
May be 0 for disabling the ramp delay on BUCK{1,2,3,4}.
|
||||
|
||||
In the absence of the regulator-ramp-delay property, the default ramp
|
||||
delay will be used.
|
||||
|
||||
Note: Some bucks share the ramp rate setting i.e. same ramp value
|
||||
will be set for a particular group of bucks so provide the same
|
||||
regulator-ramp-delay value for them.
|
||||
Groups sharing ramp rate:
|
||||
* buck{1,6},
|
||||
* buck{2,4},
|
||||
* buck{8,9,10}.
|
||||
|
||||
required:
|
||||
- regulator-name
|
||||
|
||||
additionalProperties: false
|
44
bindings/regulator/samsung,s2mps11.yaml
Normal file
44
bindings/regulator/samsung,s2mps11.yaml
Normal file
@@ -0,0 +1,44 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/regulator/samsung,s2mps11.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Samsung S2MPS11 Power Management IC regulators
|
||||
|
||||
maintainers:
|
||||
- Krzysztof Kozlowski <krzk@kernel.org>
|
||||
|
||||
description: |
|
||||
This is a part of device tree bindings for S2M and S5M family of Power
|
||||
Management IC (PMIC).
|
||||
|
||||
The S2MPS11 provides buck and LDO regulators.
|
||||
|
||||
See also Documentation/devicetree/bindings/mfd/samsung,s2mps11.yaml for
|
||||
additional information and example.
|
||||
|
||||
patternProperties:
|
||||
# 38 LDOs
|
||||
"^LDO([1-9]|[1-2][0-9]|3[0-8])$":
|
||||
type: object
|
||||
$ref: regulator.yaml#
|
||||
unevaluatedProperties: false
|
||||
description:
|
||||
Properties for single LDO regulator.
|
||||
|
||||
required:
|
||||
- regulator-name
|
||||
|
||||
# 10 bucks
|
||||
"^BUCK([1-9]|10)$":
|
||||
type: object
|
||||
$ref: regulator.yaml#
|
||||
unevaluatedProperties: false
|
||||
description:
|
||||
Properties for single BUCK regulator.
|
||||
|
||||
required:
|
||||
- regulator-name
|
||||
|
||||
additionalProperties: false
|
44
bindings/regulator/samsung,s2mps13.yaml
Normal file
44
bindings/regulator/samsung,s2mps13.yaml
Normal file
@@ -0,0 +1,44 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/regulator/samsung,s2mps13.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Samsung S2MPS13 Power Management IC regulators
|
||||
|
||||
maintainers:
|
||||
- Krzysztof Kozlowski <krzk@kernel.org>
|
||||
|
||||
description: |
|
||||
This is a part of device tree bindings for S2M and S5M family of Power
|
||||
Management IC (PMIC).
|
||||
|
||||
The S2MPS13 provides buck and LDO regulators.
|
||||
|
||||
See also Documentation/devicetree/bindings/mfd/samsung,s2mps11.yaml for
|
||||
additional information and example.
|
||||
|
||||
patternProperties:
|
||||
# 40 LDOs
|
||||
"^LDO([1-9]|[1-3][0-9]|40)$":
|
||||
type: object
|
||||
$ref: regulator.yaml#
|
||||
unevaluatedProperties: false
|
||||
description:
|
||||
Properties for single LDO regulator.
|
||||
|
||||
required:
|
||||
- regulator-name
|
||||
|
||||
# 10 bucks
|
||||
"^BUCK([1-9]|10)$":
|
||||
type: object
|
||||
$ref: regulator.yaml#
|
||||
unevaluatedProperties: false
|
||||
description:
|
||||
Properties for single BUCK regulator.
|
||||
|
||||
required:
|
||||
- regulator-name
|
||||
|
||||
additionalProperties: false
|
44
bindings/regulator/samsung,s2mps14.yaml
Normal file
44
bindings/regulator/samsung,s2mps14.yaml
Normal file
@@ -0,0 +1,44 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/regulator/samsung,s2mps14.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Samsung S2MPS14 Power Management IC regulators
|
||||
|
||||
maintainers:
|
||||
- Krzysztof Kozlowski <krzk@kernel.org>
|
||||
|
||||
description: |
|
||||
This is a part of device tree bindings for S2M and S5M family of Power
|
||||
Management IC (PMIC).
|
||||
|
||||
The S2MPS14 provides buck and LDO regulators.
|
||||
|
||||
See also Documentation/devicetree/bindings/mfd/samsung,s2mps11.yaml for
|
||||
additional information and example.
|
||||
|
||||
patternProperties:
|
||||
# 25 LDOs
|
||||
"^LDO([1-9]|[1][0-9]|2[0-5])$":
|
||||
type: object
|
||||
$ref: regulator.yaml#
|
||||
unevaluatedProperties: false
|
||||
description:
|
||||
Properties for single LDO regulator.
|
||||
|
||||
required:
|
||||
- regulator-name
|
||||
|
||||
# 5 bucks
|
||||
"^BUCK[1-5]$":
|
||||
type: object
|
||||
$ref: regulator.yaml#
|
||||
unevaluatedProperties: false
|
||||
description:
|
||||
Properties for single BUCK regulator.
|
||||
|
||||
required:
|
||||
- regulator-name
|
||||
|
||||
additionalProperties: false
|
44
bindings/regulator/samsung,s2mps15.yaml
Normal file
44
bindings/regulator/samsung,s2mps15.yaml
Normal file
@@ -0,0 +1,44 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/regulator/samsung,s2mps15.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Samsung S2MPS15 Power Management IC regulators
|
||||
|
||||
maintainers:
|
||||
- Krzysztof Kozlowski <krzk@kernel.org>
|
||||
|
||||
description: |
|
||||
This is a part of device tree bindings for S2M and S5M family of Power
|
||||
Management IC (PMIC).
|
||||
|
||||
The S2MPS15 provides buck and LDO regulators.
|
||||
|
||||
See also Documentation/devicetree/bindings/mfd/samsung,s2mps11.yaml for
|
||||
additional information and example.
|
||||
|
||||
patternProperties:
|
||||
# 27 LDOs
|
||||
"^LDO([1-9]|[1][0-9]|2[0-7])$":
|
||||
type: object
|
||||
$ref: regulator.yaml#
|
||||
unevaluatedProperties: false
|
||||
description:
|
||||
Properties for single LDO regulator.
|
||||
|
||||
required:
|
||||
- regulator-name
|
||||
|
||||
# 10 bucks
|
||||
"^BUCK([1-9]|10)$":
|
||||
type: object
|
||||
$ref: regulator.yaml#
|
||||
unevaluatedProperties: false
|
||||
description:
|
||||
Properties for single BUCK regulator.
|
||||
|
||||
required:
|
||||
- regulator-name
|
||||
|
||||
additionalProperties: false
|
44
bindings/regulator/samsung,s2mpu02.yaml
Normal file
44
bindings/regulator/samsung,s2mpu02.yaml
Normal file
@@ -0,0 +1,44 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/regulator/samsung,s2mpu02.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Samsung S2MPU02 Power Management IC regulators
|
||||
|
||||
maintainers:
|
||||
- Krzysztof Kozlowski <krzk@kernel.org>
|
||||
|
||||
description: |
|
||||
This is a part of device tree bindings for S2M and S5M family of Power
|
||||
Management IC (PMIC).
|
||||
|
||||
The S2MPU02 provides buck and LDO regulators.
|
||||
|
||||
See also Documentation/devicetree/bindings/mfd/samsung,s2mps11.yaml for
|
||||
additional information and example.
|
||||
|
||||
patternProperties:
|
||||
# 28 LDOs
|
||||
"^LDO([1-9]|1[0-9]|2[0-8])$":
|
||||
type: object
|
||||
$ref: regulator.yaml#
|
||||
unevaluatedProperties: false
|
||||
description:
|
||||
Properties for single LDO regulator.
|
||||
|
||||
required:
|
||||
- regulator-name
|
||||
|
||||
# 7 bucks
|
||||
"^BUCK[1-7]$":
|
||||
type: object
|
||||
$ref: regulator.yaml#
|
||||
unevaluatedProperties: false
|
||||
description:
|
||||
Properties for single BUCK regulator.
|
||||
|
||||
required:
|
||||
- regulator-name
|
||||
|
||||
additionalProperties: false
|
100
bindings/regulator/samsung,s5m8767.yaml
Normal file
100
bindings/regulator/samsung,s5m8767.yaml
Normal file
@@ -0,0 +1,100 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/regulator/samsung,s5m8767.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Samsung S5M8767 Power Management IC regulators
|
||||
|
||||
maintainers:
|
||||
- Krzysztof Kozlowski <krzk@kernel.org>
|
||||
|
||||
description: |
|
||||
This is a part of device tree bindings for S2M and S5M family of Power
|
||||
Management IC (PMIC).
|
||||
|
||||
The S5M8767 provides buck and LDO regulators.
|
||||
|
||||
See also Documentation/devicetree/bindings/mfd/samsung,s5m8767.yaml for
|
||||
additional information and example.
|
||||
|
||||
patternProperties:
|
||||
# 28 LDOs
|
||||
"^LDO([1-9]|1[0-9]|2[0-8])$":
|
||||
type: object
|
||||
$ref: regulator.yaml#
|
||||
unevaluatedProperties: false
|
||||
description:
|
||||
Properties for single LDO regulator.
|
||||
|
||||
properties:
|
||||
op_mode:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
enum: [0, 1, 2, 3]
|
||||
default: 1
|
||||
description: |
|
||||
Describes the different operating modes of the LDO's with power mode
|
||||
change in SOC. The different possible values are:
|
||||
0 - always off mode
|
||||
1 - on in normal mode
|
||||
2 - low power mode
|
||||
3 - suspend mode
|
||||
|
||||
required:
|
||||
- regulator-name
|
||||
|
||||
# 8 bucks
|
||||
"^BUCK[1-8]$":
|
||||
type: object
|
||||
$ref: regulator.yaml#
|
||||
unevaluatedProperties: false
|
||||
description:
|
||||
Properties for single BUCK regulator.
|
||||
|
||||
properties:
|
||||
op_mode:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
enum: [0, 1, 2, 3]
|
||||
default: 1
|
||||
description: |
|
||||
Describes the different operating modes of the regulator with power
|
||||
mode change in SOC. The different possible values are:
|
||||
0 - always off mode
|
||||
1 - on in normal mode
|
||||
2 - low power mode
|
||||
3 - suspend mode
|
||||
|
||||
required:
|
||||
- regulator-name
|
||||
|
||||
properties:
|
||||
# 9 buck
|
||||
BUCK9:
|
||||
type: object
|
||||
$ref: regulator.yaml#
|
||||
unevaluatedProperties: false
|
||||
description:
|
||||
Properties for single BUCK regulator.
|
||||
|
||||
properties:
|
||||
op_mode:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
enum: [0, 1, 2, 3]
|
||||
default: 1
|
||||
description: |
|
||||
Describes the different operating modes of the regulator with power
|
||||
mode change in SOC. The different possible values are:
|
||||
0 - always off mode
|
||||
1 - on in normal mode
|
||||
2 - low power mode
|
||||
3 - suspend mode
|
||||
|
||||
s5m8767,pmic-ext-control-gpios:
|
||||
maxItems: 1
|
||||
description: |
|
||||
GPIO specifier for one GPIO controlling this regulator on/off.
|
||||
|
||||
required:
|
||||
- regulator-name
|
||||
|
||||
additionalProperties: false
|
52
bindings/regulator/silergy,sy8106a.yaml
Normal file
52
bindings/regulator/silergy,sy8106a.yaml
Normal file
@@ -0,0 +1,52 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/regulator/silergy,sy8106a.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Silergy SY8106A Voltage Regulator
|
||||
|
||||
maintainers:
|
||||
- Ondrej Jirman <megous@megous.com>
|
||||
|
||||
allOf:
|
||||
- $ref: regulator.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: silergy,sy8106a
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
silergy,fixed-microvolt:
|
||||
description: >
|
||||
The voltage when I2C regulating is disabled (set by external resistor
|
||||
like a fixed voltage)
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- silergy,fixed-microvolt
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
regulator@65 {
|
||||
compatible = "silergy,sy8106a";
|
||||
reg = <0x65>;
|
||||
regulator-name = "sy8106a-vdd";
|
||||
silergy,fixed-microvolt = <1200000>;
|
||||
regulator-min-microvolt = <1000000>;
|
||||
regulator-max-microvolt = <1400000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
};
|
||||
|
||||
...
|
45
bindings/regulator/silergy,sy8824x.yaml
Normal file
45
bindings/regulator/silergy,sy8824x.yaml
Normal file
@@ -0,0 +1,45 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/regulator/silergy,sy8824x.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: silergy sy8824c,sy8824e,sy20276 and sy20278 PMIC
|
||||
|
||||
maintainers:
|
||||
- Jisheng Zhang <jszhang@kernel.org>
|
||||
|
||||
allOf:
|
||||
- $ref: regulator.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- silergy,sy8824c
|
||||
- silergy,sy8824e
|
||||
- silergy,sy20276
|
||||
- silergy,sy20278
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
regulator@60 {
|
||||
compatible = "silergy,sy8824c";
|
||||
regulator-min-microvolt = <800000>;
|
||||
regulator-max-microvolt = <1150000>;
|
||||
reg = <0x60>;
|
||||
};
|
||||
};
|
||||
|
||||
...
|
47
bindings/regulator/silergy,sy8827n.yaml
Normal file
47
bindings/regulator/silergy,sy8827n.yaml
Normal file
@@ -0,0 +1,47 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/regulator/silergy,sy8827n.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: silergy sy8827n PMIC
|
||||
|
||||
maintainers:
|
||||
- Jisheng Zhang <jszhang@kernel.org>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- silergy,sy8827n
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
enable-gpios:
|
||||
description: GPIO to enable/disable the regulator.
|
||||
maxItems: 1
|
||||
|
||||
silergy,vsel-state-high:
|
||||
type: boolean
|
||||
description:
|
||||
Indicates if the VSEL pin is set to high.
|
||||
If this property is missing, assume the VSEL pin is set to low.
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
regulator@60 {
|
||||
compatible = "silergy,sy8827n";
|
||||
reg = <0x60>;
|
||||
};
|
||||
};
|
||||
|
||||
...
|
49
bindings/regulator/siliconmitus,sm5703-regulator.yaml
Normal file
49
bindings/regulator/siliconmitus,sm5703-regulator.yaml
Normal file
@@ -0,0 +1,49 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/regulator/siliconmitus,sm5703-regulator.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Silicon Mitus SM5703 multi function device regulators
|
||||
|
||||
maintainers:
|
||||
- Markuss Broks <markuss.broks@gmail.com>
|
||||
|
||||
description: |
|
||||
SM5703 regulators node should be a sub node of the SM5703 MFD node. See SM5703 MFD
|
||||
bindings at Documentation/devicetree/bindings/mfd/siliconmitus,sm5703.yaml
|
||||
Regulator nodes should be named as USBLDO_<number>, BUCK, VBUS, LDO_<number>.
|
||||
The definition for each of these nodes is defined using the standard
|
||||
binding for regulators at Documentation/devicetree/bindings/regulator/regulator.txt.
|
||||
|
||||
properties:
|
||||
buck:
|
||||
type: object
|
||||
$ref: regulator.yaml#
|
||||
unevaluatedProperties: false
|
||||
description:
|
||||
Properties for the BUCK regulator.
|
||||
|
||||
vbus:
|
||||
type: object
|
||||
$ref: regulator.yaml#
|
||||
unevaluatedProperties: false
|
||||
description:
|
||||
Properties for the VBUS regulator.
|
||||
|
||||
patternProperties:
|
||||
"^ldo[1-3]$":
|
||||
type: object
|
||||
$ref: regulator.yaml#
|
||||
unevaluatedProperties: false
|
||||
description:
|
||||
Properties for single LDO regulator.
|
||||
|
||||
"^usbldo[1-2]$":
|
||||
type: object
|
||||
$ref: regulator.yaml#
|
||||
unevaluatedProperties: false
|
||||
description:
|
||||
Properties for a single USBLDO regulator.
|
||||
|
||||
additionalProperties: false
|
18
bindings/regulator/sky81452-regulator.txt
Normal file
18
bindings/regulator/sky81452-regulator.txt
Normal file
@@ -0,0 +1,18 @@
|
||||
SKY81452 voltage regulator
|
||||
|
||||
Required properties:
|
||||
- regulator node named lout.
|
||||
- any required generic properties defined in regulator.txt
|
||||
|
||||
Optional properties:
|
||||
- any available generic properties defined in regulator.txt
|
||||
|
||||
Example:
|
||||
|
||||
regulator {
|
||||
lout {
|
||||
regulator-name = "sky81452-lout";
|
||||
regulator-min-microvolt = <4500000>;
|
||||
regulator-max-microvolt = <8000000>;
|
||||
};
|
||||
};
|
88
bindings/regulator/slg51000.txt
Normal file
88
bindings/regulator/slg51000.txt
Normal file
@@ -0,0 +1,88 @@
|
||||
* Dialog Semiconductor SLG51000 Voltage Regulator
|
||||
|
||||
Required properties:
|
||||
- compatible : Should be "dlg,slg51000" for SLG51000
|
||||
- reg : Specifies the I2C slave address.
|
||||
- xxx-supply: Input voltage supply regulator for ldo3 to ldo7.
|
||||
These entries are required if regulators are enabled for a device.
|
||||
An absence of these properties can cause the regulator registration to fail.
|
||||
If some of input supply is powered through battery or always-on supply then
|
||||
also it is required to have these parameters with proper node handle of always
|
||||
on power supply.
|
||||
vin3-supply: Input supply for ldo3
|
||||
vin4-supply: Input supply for ldo4
|
||||
vin5-supply: Input supply for ldo5
|
||||
vin6-supply: Input supply for ldo6
|
||||
vin7-supply: Input supply for ldo7
|
||||
|
||||
Optional properties:
|
||||
- interrupt-parent : Specifies the reference to the interrupt controller.
|
||||
- interrupts : IRQ line information.
|
||||
- dlg,cs-gpios : Specify a valid GPIO for chip select
|
||||
|
||||
Sub-nodes:
|
||||
- regulators : This node defines the settings for the regulators.
|
||||
The content of the sub-node is defined by the standard binding
|
||||
for regulators; see regulator.txt.
|
||||
|
||||
The SLG51000 regulators are bound using their names listed below:
|
||||
ldo1
|
||||
ldo2
|
||||
ldo3
|
||||
ldo4
|
||||
ldo5
|
||||
ldo6
|
||||
ldo7
|
||||
|
||||
Optional properties for regulators:
|
||||
- enable-gpios : Specify a valid GPIO for platform control of the regulator.
|
||||
|
||||
Example:
|
||||
pmic: slg51000@75 {
|
||||
compatible = "dlg,slg51000";
|
||||
reg = <0x75>;
|
||||
|
||||
regulators {
|
||||
ldo1 {
|
||||
regulator-name = "ldo1";
|
||||
regulator-min-microvolt = <2400000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
|
||||
ldo2 {
|
||||
regulator-name = "ldo2";
|
||||
regulator-min-microvolt = <2400000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
|
||||
ldo3 {
|
||||
regulator-name = "ldo3";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <3750000>;
|
||||
};
|
||||
|
||||
ldo4 {
|
||||
regulator-name = "ldo4";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <3750000>;
|
||||
};
|
||||
|
||||
ldo5 {
|
||||
regulator-name = "ldo5";
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <1200000>;
|
||||
};
|
||||
|
||||
ldo6 {
|
||||
regulator-name = "ldo6";
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <1200000>;
|
||||
};
|
||||
|
||||
ldo7 {
|
||||
regulator-name = "ldo7";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <3750000>;
|
||||
};
|
||||
};
|
||||
};
|
106
bindings/regulator/socionext,uniphier-regulator.yaml
Normal file
106
bindings/regulator/socionext,uniphier-regulator.yaml
Normal file
@@ -0,0 +1,106 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/regulator/socionext,uniphier-regulator.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Socionext UniPhier regulator controller
|
||||
|
||||
description: |
|
||||
This regulator controls VBUS and belongs to USB3 glue layer. Before using
|
||||
the regulator, it is necessary to control the clocks and resets to enable
|
||||
this layer. These clocks and resets should be described in each property.
|
||||
|
||||
maintainers:
|
||||
- Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
|
||||
|
||||
# USB3 Controller
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- socionext,uniphier-pro4-usb3-regulator
|
||||
- socionext,uniphier-pro5-usb3-regulator
|
||||
- socionext,uniphier-pxs2-usb3-regulator
|
||||
- socionext,uniphier-ld20-usb3-regulator
|
||||
- socionext,uniphier-pxs3-usb3-regulator
|
||||
- socionext,uniphier-nx1-usb3-regulator
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
clocks:
|
||||
minItems: 1
|
||||
maxItems: 2
|
||||
|
||||
clock-names: true
|
||||
|
||||
resets:
|
||||
minItems: 1
|
||||
maxItems: 2
|
||||
|
||||
reset-names: true
|
||||
|
||||
allOf:
|
||||
- $ref: "regulator.yaml#"
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- socionext,uniphier-pro4-usb3-regulator
|
||||
- socionext,uniphier-pro5-usb3-regulator
|
||||
then:
|
||||
properties:
|
||||
clocks:
|
||||
minItems: 2
|
||||
maxItems: 2
|
||||
clock-names:
|
||||
items:
|
||||
- const: gio
|
||||
- const: link
|
||||
resets:
|
||||
minItems: 2
|
||||
maxItems: 2
|
||||
reset-names:
|
||||
items:
|
||||
- const: gio
|
||||
- const: link
|
||||
else:
|
||||
properties:
|
||||
clocks:
|
||||
maxItems: 1
|
||||
clock-names:
|
||||
const: link
|
||||
resets:
|
||||
maxItems: 1
|
||||
reset-names:
|
||||
const: link
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- clocks
|
||||
- clock-names
|
||||
- resets
|
||||
- reset-names
|
||||
|
||||
examples:
|
||||
- |
|
||||
usb-glue@65b00000 {
|
||||
compatible = "simple-mfd";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges = <0 0x65b00000 0x400>;
|
||||
|
||||
usb_vbus0: regulators@100 {
|
||||
compatible = "socionext,uniphier-ld20-usb3-regulator";
|
||||
reg = <0x100 0x10>;
|
||||
clock-names = "link";
|
||||
clocks = <&sys_clk 14>;
|
||||
reset-names = "link";
|
||||
resets = <&sys_rst 14>;
|
||||
};
|
||||
};
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user