Re: [PATCH] arm64: dts: apq8096-db820c: Fix VDD core voltage

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue 31 Dec 01:52 PST 2019, Loic Poulain wrote:

> APQ8096 has its VDD APC (Power for quad Kryo applications
> microprocessors) powered by PM8996 PMIC S9, S10, S11 tri-phase
> regulators (gang). The bootloader may have configured these
> regulators with non sustainable default values, leading to sporadic
> hangs under CPU stress tests (cpufreq-becnh). Ideally we should enable
> voltage scaling along with frequency scaling, but for now just set the
> regulator gang value to a sane voltage, capable of supporting highest
> frequencies (turbo).
> 

I wasn't able to boot my db820c with the previous attempts to do opp
based voltage scaling, but this seems to work (booted twice
successfully).

> Signed-off-by: Loic Poulain <loic.poulain@xxxxxxxxxx>
> ---
>  arch/arm64/boot/dts/qcom/apq8096-db820c.dtsi | 24 ++++++++++++++++++++++++
>  1 file changed, 24 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/qcom/apq8096-db820c.dtsi b/arch/arm64/boot/dts/qcom/apq8096-db820c.dtsi
> index dba3488..8cde693 100644
> --- a/arch/arm64/boot/dts/qcom/apq8096-db820c.dtsi
> +++ b/arch/arm64/boot/dts/qcom/apq8096-db820c.dtsi
> @@ -493,6 +493,11 @@
>  				core-vcc-supply = <&pm8994_s4>;
>  			};
>  		};
> +
> +		saw3: syscon@9A10000 {

This node should live in msm8996.dtsi.

> +			compatible = "syscon";
> +			reg = <0x9A10000 0x1000>;

Please pad address to 8 digits, make 'A' lowercase and sort it among the
other nodes by address.

> +		};
>  	};
>  
>  
> @@ -681,6 +686,25 @@
>  			};
>  		};
>  	};
> +
> +	pmic@1 {
> +		spm-regulators {

This node represents the SPMI regulators, although the ganging relates
to the SPM. Please define an "empty":

pm8994_spmi_regulators: regulators {
	compatible = "qcom,pm8994-regulators";
};

In pm8994.dtsi, then add the rest here by extending
&pm8994_spmi_regulators in db820c.dtsi (sorted by label name)

Regards,
Bjorn

> +			compatible = "qcom,pm8994-regulators";
> +			qcom,saw-reg = <&saw3>;
> +			s9 {
> +				qcom,saw-slave;
> +			};
> +			s10 {
> +				qcom,saw-slave;
> +			};
> +			s11 {
> +				qcom,saw-leader;
> +				regulator-always-on;
> +				regulator-min-microvolt = <1230000>;
> +				regulator-max-microvolt = <1230000>;
> +			};
> +		};
> +	};
>  };
>  
>  &sound {
> -- 
> 2.7.4
> 



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux