mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-01-24 13:59:47 +07:00
2e36e140b8
This Power IC is used in combination with various PMIC combos, generally found on boards with MSM8992, MSM8994, MSM8996, MSM8956, MSM8976 and others, usually at address 0x5 on the SPMI bus, and its usual usage is to provide power to the GPU and/or to the CPU clusters (APC0/APC1). Signed-off-by: Angelo G. Del Regno <kholk11@gmail.com> Link: https://lore.kernel.org/r/20190921095043.62593-6-kholk11@gmail.com Signed-off-by: Mark Brown <broonie@kernel.org>
316 lines
7.6 KiB
Plaintext
316 lines
7.6 KiB
Plaintext
Qualcomm SPMI Regulators
|
|
|
|
- compatible:
|
|
Usage: required
|
|
Value type: <string>
|
|
Definition: must be one of:
|
|
"qcom,pm8004-regulators"
|
|
"qcom,pm8005-regulators"
|
|
"qcom,pm8841-regulators"
|
|
"qcom,pm8916-regulators"
|
|
"qcom,pm8941-regulators"
|
|
"qcom,pm8950-regulators"
|
|
"qcom,pm8994-regulators"
|
|
"qcom,pmi8994-regulators"
|
|
"qcom,pms405-regulators"
|
|
|
|
- interrupts:
|
|
Usage: optional
|
|
Value type: <prop-encoded-array>
|
|
Definition: List of OCP interrupts.
|
|
|
|
- interrupt-names:
|
|
Usage: required if 'interrupts' property present
|
|
Value type: <string-array>
|
|
Definition: List of strings defining the names of the
|
|
interrupts in the 'interrupts' property 1-to-1.
|
|
Supported values are "ocp-<regulator_name>", where
|
|
<regulator_name> corresponds to a voltage switch
|
|
type regulator.
|
|
|
|
- vdd_s1-supply:
|
|
- vdd_s2-supply:
|
|
- vdd_s3-supply:
|
|
- vdd_s4-supply:
|
|
- vdd_s5-supply:
|
|
- vdd_s6-supply:
|
|
- vdd_s7-supply:
|
|
- vdd_s8-supply:
|
|
Usage: optional (pm8841 only)
|
|
Value type: <phandle>
|
|
Definition: Reference to regulator supplying the input pin, as
|
|
described in the data sheet.
|
|
|
|
- vdd_s1-supply:
|
|
- vdd_s2-supply:
|
|
- vdd_s3-supply:
|
|
- vdd_s4-supply:
|
|
- vdd_l1_l3-supply:
|
|
- vdd_l2-supply:
|
|
- vdd_l4_l5_l6-supply:
|
|
- vdd_l7-supply:
|
|
- vdd_l8_l11_l14_l15_l16-supply:
|
|
- vdd_l9_l10_l12_l13_l17_l18-supply:
|
|
Usage: optional (pm8916 only)
|
|
Value type: <phandle>
|
|
Definition: Reference to regulator supplying the input pin, as
|
|
described in the data sheet.
|
|
|
|
- vdd_s1-supply:
|
|
- vdd_s2-supply:
|
|
- vdd_s3-supply:
|
|
- vdd_l1_l3-supply:
|
|
- vdd_l2_lvs_1_2_3-supply:
|
|
- vdd_l4_l11-supply:
|
|
- vdd_l5_l7-supply:
|
|
- vdd_l6_l12_l14_l15-supply:
|
|
- vdd_l8_l16_l18_19-supply:
|
|
- vdd_l9_l10_l17_l22-supply:
|
|
- vdd_l13_l20_l23_l24-supply:
|
|
- vdd_l21-supply:
|
|
- vin_5vs-supply:
|
|
Usage: optional (pm8941 only)
|
|
Value type: <phandle>
|
|
Definition: Reference to regulator supplying the input pin, as
|
|
described in the data sheet.
|
|
|
|
- vdd_s1-supply:
|
|
- vdd_s2-supply:
|
|
- vdd_s3-supply:
|
|
- vdd_s4-supply:
|
|
- vdd_s4-supply:
|
|
- vdd_s5-supply:
|
|
- vdd_s6-supply:
|
|
- vdd_l1_l19-supply:
|
|
- vdd_l2_l23-supply:
|
|
- vdd_l3-supply:
|
|
- vdd_l4_l5_l6_l7_l16-supply:
|
|
- vdd_l8_l11_l12_l17_l22-supply:
|
|
- vdd_l9_l10_l13_l14_l15_l18-supply:
|
|
- vdd_l20-supply:
|
|
- vdd_l21-supply:
|
|
Usage: optional (pm8950 only)
|
|
Value type: <phandle>
|
|
Definition: reference to regulator supplying the input pin, as
|
|
described in the data sheet
|
|
|
|
- vdd_s1-supply:
|
|
- vdd_s2-supply:
|
|
- vdd_s3-supply:
|
|
- vdd_s4-supply:
|
|
- vdd_s5-supply:
|
|
- vdd_s6-supply:
|
|
- vdd_s7-supply:
|
|
- vdd_s8-supply:
|
|
- vdd_s9-supply:
|
|
- vdd_s10-supply:
|
|
- vdd_s11-supply:
|
|
- vdd_s12-supply:
|
|
- vdd_l1-supply:
|
|
- vdd_l2_l26_l28-supply:
|
|
- vdd_l3_l11-supply:
|
|
- vdd_l4_l27_l31-supply:
|
|
- vdd_l5_l7-supply:
|
|
- vdd_l6_l12_l32-supply:
|
|
- vdd_l8_l16_l30-supply:
|
|
- vdd_l9_l10_l18_l22-supply:
|
|
- vdd_l13_l19_l23_l24-supply:
|
|
- vdd_l14_l15-supply:
|
|
- vdd_l17_l29-supply:
|
|
- vdd_l20_l21-supply:
|
|
- vdd_l25-supply:
|
|
- vdd_lvs_1_2-supply:
|
|
Usage: optional (pm8994 only)
|
|
Value type: <phandle>
|
|
Definition: Reference to regulator supplying the input pin, as
|
|
described in the data sheet.
|
|
|
|
- vdd_s1-supply:
|
|
- vdd_s2-supply:
|
|
- vdd_s3-supply:
|
|
- vdd_l1-supply:
|
|
Usage: optional (pmi8994 only)
|
|
Value type: <phandle>
|
|
Definition: Reference to regulator supplying the input pin, as
|
|
described in the data sheet.
|
|
|
|
- vdd_l1_l2-supply:
|
|
- vdd_l3_l8-supply:
|
|
- vdd_l4-supply:
|
|
- vdd_l5_l6-supply:
|
|
- vdd_l10_l11_l12_l13-supply:
|
|
- vdd_l7-supply:
|
|
- vdd_l9-supply:
|
|
- vdd_s1-supply:
|
|
- vdd_s2-supply:
|
|
- vdd_s3-supply:
|
|
- vdd_s4-supply:
|
|
- vdd_s5-supply
|
|
Usage: optional (pms405 only)
|
|
Value type: <phandle>
|
|
Definition: Reference to regulator supplying the input pin, as
|
|
described in the data sheet.
|
|
|
|
- qcom,saw-reg:
|
|
Usage: optional
|
|
Value type: <phandle>
|
|
Description: Reference to syscon node defining the SAW registers.
|
|
|
|
|
|
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.
|
|
|
|
pm8005:
|
|
s2, s5
|
|
|
|
pm8005:
|
|
s1, s2, s3, s4
|
|
|
|
pm8841:
|
|
s1, s2, s3, s4, s5, s6, s7, s8
|
|
|
|
pm8916:
|
|
s1, s2, s3, s4, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11, l12, l13,
|
|
l14, l15, l16, l17, l18
|
|
|
|
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
|
|
|
|
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
|
|
|
|
pmi8994:
|
|
s1, s2, s3, l1
|
|
|
|
The content of each sub-node is defined by the standard binding for regulators -
|
|
see regulator.txt - with additional custom properties described below:
|
|
|
|
- regulator-initial-mode:
|
|
Usage: optional
|
|
Value type: <u32>
|
|
Description: 2 = Set initial mode to auto mode (automatically select
|
|
between HPM and LPM); not available on boost type
|
|
regulators.
|
|
|
|
1 = Set initial mode to high power mode (HPM), also referred
|
|
to as NPM. HPM consumes more ground current than LPM, but
|
|
it can source significantly higher load current. HPM is not
|
|
available on boost type regulators. For voltage switch type
|
|
regulators, HPM implies that over current protection and
|
|
soft start are active all the time.
|
|
|
|
0 = Set initial mode to low power mode (LPM).
|
|
|
|
- qcom,ocp-max-retries:
|
|
Usage: optional
|
|
Value type: <u32>
|
|
Description: Maximum number of times to try toggling a voltage switch
|
|
off and back on as a result of consecutive over current
|
|
events.
|
|
|
|
- qcom,ocp-retry-delay:
|
|
Usage: optional
|
|
Value type: <u32>
|
|
Description: Time to delay in milliseconds between each voltage switch
|
|
toggle after an over current event takes place.
|
|
|
|
- qcom,pin-ctrl-enable:
|
|
Usage: optional
|
|
Value type: <u32>
|
|
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
|
|
|
|
- qcom,pin-ctrl-hpm:
|
|
Usage: optional
|
|
Value type: <u32>
|
|
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
|
|
|
|
- qcom,vs-soft-start-strength:
|
|
Usage: optional
|
|
Value type: <u32>
|
|
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
|
|
|
|
- qcom,saw-slave:
|
|
Usage: optional
|
|
Value type: <boo>
|
|
Description: SAW controlled gang slave. Will not be configured.
|
|
|
|
- qcom,saw-leader:
|
|
Usage: optional
|
|
Value type: <boo>
|
|
Description: SAW controlled gang leader. Will be configured as
|
|
SAW regulator.
|
|
|
|
Example:
|
|
|
|
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>;
|
|
};
|
|
|
|
....
|
|
};
|
|
|
|
Example 2:
|
|
|
|
saw3: syscon@9A10000 {
|
|
compatible = "syscon";
|
|
reg = <0x9A10000 0x1000>;
|
|
};
|
|
|
|
...
|
|
|
|
spm-regulators {
|
|
compatible = "qcom,pm8994-regulators";
|
|
qcom,saw-reg = <&saw3>;
|
|
s8 {
|
|
qcom,saw-slave;
|
|
};
|
|
s9 {
|
|
qcom,saw-slave;
|
|
};
|
|
s10 {
|
|
qcom,saw-slave;
|
|
};
|
|
pm8994_s11_saw: s11 {
|
|
qcom,saw-leader;
|
|
regulator-always-on;
|
|
regulator-min-microvolt = <900000>;
|
|
regulator-max-microvolt = <1140000>;
|
|
};
|
|
};
|