90 lines
3.7 KiB
Plaintext
90 lines
3.7 KiB
Plaintext
Krait Voltage regulators
|
|
|
|
The cpus are powered using a single supply powered by PMIC ganged regulators operating in
|
|
different phases. Individual kraits further can draw power from the single supply via
|
|
a LDO or a head switch (BHS). The first level node represents the PMIC ganged regulator
|
|
and its properties and encompasses second level nodes that represent the individual
|
|
krait LDO/BHS control regulator.
|
|
|
|
[First Level Nodes]
|
|
Required properties:
|
|
- compatible: Must be "qcom,krait-pdn"
|
|
- reg: This property contains a list of physical
|
|
addresses for Krait PDN features. The list
|
|
should contain the address of the APCS GCC
|
|
register base and the address of the phase
|
|
scaling factor eFuse.
|
|
- reg-names: This property contains a list of strings naming
|
|
the registers listed in the reg property.
|
|
"apcs_gcc" is a string to identify the area
|
|
where the APCS GCC registers reside.
|
|
"phase-scaling-efuse" should be used to identify
|
|
the phase scaling factor eFuse address.
|
|
- qcom,pfm-threshold The power coeff threshold in abstract power units below which
|
|
pmic will be made to operate in PFM mode.
|
|
|
|
Optional properties:
|
|
- qcom,use-phase-switching indicates whether the driver should add/shed phases on the PMIC
|
|
ganged regulator as cpus are hotplugged.
|
|
- qcom,use-phase-scaling-factor Boolean which indicates if the value stored in
|
|
the phase scaling eFuse should be used or not.
|
|
If this property is not specified, then worst
|
|
case scaling will be assumed.
|
|
|
|
[Second Level Nodes]
|
|
Required properties:
|
|
- compatible: Must be "qcom,krait-regulator"
|
|
- reg: Specifies the address and size for this regulator device,
|
|
also specifies the address and the size for the MDD area
|
|
to be used along with the regulator
|
|
- reg-names: "acs" -string to identify the area where main power control
|
|
registers reside.
|
|
"mdd" - string to identify the area where mdd registers reside.
|
|
- qcom,headroom-voltage: The minimum required voltage drop between the input
|
|
voltage and the output voltage for the LDO to be
|
|
operational, in microvolts. Acceptable values are from
|
|
50000uV to 250000uV
|
|
- qcom,retention-voltage: The value for retention voltage in microvolts. Acceptable
|
|
values are from 465000uV to 750000uV
|
|
- qcom,ldo-default-voltage: The default value for LDO voltage in microvolts. Acceptable
|
|
values are from 465000uV to 750000uV
|
|
- qcom,ldo-threshold-voltage: The voltage value above which LDO is nonfunctional.
|
|
Acceptable values are from 600000uV to 900000uV
|
|
- qcom,ldo-delta-voltage: The delta used to reduce the requested voltage in order
|
|
to derive the LDO output voltage while switching
|
|
to LDO mode. Acceptable values are from 1000uV to 100000uV
|
|
- qcom,cpu-num: Indicates what cpu this regulator controls
|
|
|
|
Any property defined as part of the core regulator
|
|
binding, defined in regulator.txt, can also be used.
|
|
|
|
Example:
|
|
krait_pdn: krait-pdn@f9011000 {
|
|
reg = <0xf9011000 0x1000>,
|
|
<0xfc4b80b0 8>;
|
|
reg-names = "apcs_gcc", "phase-scaling-efuse";
|
|
compatible = "qcom,krait-pdn";
|
|
qcom,use-phase-switching;
|
|
qcom,use-phase-scaling-factor;
|
|
qcom,pfm-threshold = <376975>;
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
ranges;
|
|
|
|
krait0_vreg: regulator@f9088000 {
|
|
compatible = "qcom,krait-regulator";
|
|
regulator-name = "krait0";
|
|
reg = <0xf9088000 0x1000>, /* APCS_ALIAS0_KPSS_ACS */
|
|
<0xf908a800 0x1000>; /* APCS_ALIAS0_KPSS_MDD */
|
|
reg-names = "acs", "mdd";
|
|
regulator-min-microvolt = <500000>;
|
|
regulator-max-microvolt = <1100000>;
|
|
qcom,headroom-voltage = <150000>;
|
|
qcom,retention-voltage = <675000>;
|
|
qcom,ldo-default-voltage = <750000>;
|
|
qcom,ldo-threshold-voltage = <850000>;
|
|
qcom,ldo-delta-voltage = <50000>;
|
|
qcom,cpu-num = <0>;
|
|
};
|
|
};
|