[PATCH v1 2/2] arm64: dts: amlogic: axg: initialize default SoC capacitance

neil.armstrong at linaro.org neil.armstrong at linaro.org
Mon Feb 12 07:02:49 PST 2024


On 09/02/2024 22:28, Dmitry Rokosov wrote:
> The capacitance value is required for the usage of the cpufreq cooling
> device and power_allocator thermal governor in the appropriate energy
> model.
> 
> It helps to compute the power estimated by the SoC at the appropriate
> frequency. If it is the frequency of an existing OPP, or at the
> frequency of the first OPP above the requested value otherwise.
> 
> The power is estimated as P = C * V^2 * f, with C being the SoC's
> capacitance and V and f respectively representing the voltage and
> frequency of the OPP.
> 
> Since AXG SoC doesn't have SCMI protocol support, we need to initialize
> capacitance using the 'dynamic-power-coefficient' DT entry. Its value is
> retrieved from the vendor kernel, and it gives us the following
> freq2power mapping:
>      +-----------+--------+
>      | frequency,| power, |
>      |    MHz    |   uW   |
>      +-----------+--------+
>      |     100   |  10354 |
>      +-----------+--------+
>      |     250   |  27104 |
>      +-----------+--------+
>      |     500   |  55447 |
>      +-----------+--------+
>      |     667   |  77327 |
>      +-----------+--------+
>      |    1000   | 129024 |
>      +-----------+--------+
>      |    1200   | 164656 |
>      +-----------+--------+
>      |    1296   | 192489 |
>      +-----------+--------+
>      |    1416   | 239870 |
>      +-----------+--------+
> 
> Signed-off-by: Dmitry Rokosov <ddrokosov at salutedevices.com>
> ---
>   arch/arm64/boot/dts/amlogic/meson-axg.dtsi | 4 ++++
>   1 file changed, 4 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/amlogic/meson-axg.dtsi b/arch/arm64/boot/dts/amlogic/meson-axg.dtsi
> index ea96fef328e8..6d12b760b90f 100644
> --- a/arch/arm64/boot/dts/amlogic/meson-axg.dtsi
> +++ b/arch/arm64/boot/dts/amlogic/meson-axg.dtsi
> @@ -74,6 +74,7 @@ cpu0: cpu at 0 {
>   			enable-method = "psci";
>   			next-level-cache = <&l2>;
>   			clocks = <&scpi_dvfs 0>;
> +			dynamic-power-coefficient = <140>;
>   			#cooling-cells = <2>;
>   		};
>   
> @@ -84,6 +85,7 @@ cpu1: cpu at 1 {
>   			enable-method = "psci";
>   			next-level-cache = <&l2>;
>   			clocks = <&scpi_dvfs 0>;
> +			dynamic-power-coefficient = <140>;
>   			#cooling-cells = <2>;
>   		};
>   
> @@ -94,6 +96,7 @@ cpu2: cpu at 2 {
>   			enable-method = "psci";
>   			next-level-cache = <&l2>;
>   			clocks = <&scpi_dvfs 0>;
> +			dynamic-power-coefficient = <140>;
>   			#cooling-cells = <2>;
>   		};
>   
> @@ -104,6 +107,7 @@ cpu3: cpu at 3 {
>   			enable-method = "psci";
>   			next-level-cache = <&l2>;
>   			clocks = <&scpi_dvfs 0>;
> +			dynamic-power-coefficient = <140>;
>   			#cooling-cells = <2>;
>   		};
>   

Reviewed-by: Neil Armstrong <neil.armstrong at linaro.org>



More information about the linux-amlogic mailing list