blob: 6a02e86ff242bc1cd5a7384a0b88d2a1f22f3e45 [file] [log] [blame]
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: Specifies the physical address of the APCS GCC
register base
- reg-names: "apcs_gcc" -string to identify the area where
the APCS GCC registers reside.
- 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.
[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>;
reg-names = "apcs_gcc";
compatible = "qcom,krait-pdn";
qcom,use-phase-switching;
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>;
};
};