[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