123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- 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.
- - qcom,phase-scaling-factor-bits-pos indicates bit position of scaling factor data within the efuse
- register.
- - qcom,valid-scaling-factor-versions This is an array holding four boolean values and indicates whether
- the version read from efuses is valid.
- The version is a two bit field and the value read from hardware is
- used as an index in this array to check for validity.
- 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.
- - qcom,force-auto-mode indicates whether auto mode should be used i.e. disable pfm/pwm
- mode switching for the pmic ganged regulator. If this is not specified
- qcom,pfm-threshold must be specified.
- - qcom,pfm-threshold The power coeff threshold in abstract power units below which
- pmic will be made to operate in PFM mode.
- [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
- Optional properties:
- - qcom,ldo-disable: Indicates whether to disable using LDO mode
- 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>;
- qcom,phase-scaling-factor-bits-pos = <18>;
- qcom,valid-scaling-factor-versions = <0 1 1 0>;
- #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>;
- };
- };
|