[PATCH v2 2/5] arm64: dts: rockchip: Add powerzones definition for rock960

Rob Herring robh at kernel.org
Tue Dec 7 10:41:00 PST 2021


On Fri, Nov 26, 2021 at 12:15 PM Daniel Lezcano
<daniel.lezcano at linaro.org> wrote:
>
> Add the powerzones description. This first step introduces the big,
> the little and the gpu as a powerzone place.
>
> Cc: Robin Murphy <robin.murphy at arm.com>
> Signed-off-by: Daniel Lezcano <daniel.lezcano at linaro.org>
> ---
>    V1: Initial post
>    V2:
>      - Move description in the SoC dtsi specific file
> ---
>  arch/arm64/boot/dts/rockchip/rk3399.dtsi | 25 ++++++++++++++++++++++++
>  1 file changed, 25 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/rockchip/rk3399.dtsi b/arch/arm64/boot/dts/rockchip/rk3399.dtsi
> index d3cdf6f42a30..3c0dbc0cb2bc 100644
> --- a/arch/arm64/boot/dts/rockchip/rk3399.dtsi
> +++ b/arch/arm64/boot/dts/rockchip/rk3399.dtsi
> @@ -76,6 +76,8 @@ cpu_l0: cpu at 0 {
>                         #cooling-cells = <2>; /* min followed by max */
>                         dynamic-power-coefficient = <100>;
>                         cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
> +                       #powerzone-cells = <0>;
> +                       powerzone = <&PKG_PZ>;
>                 };
>
>                 cpu_l1: cpu at 1 {
> @@ -88,6 +90,8 @@ cpu_l1: cpu at 1 {
>                         #cooling-cells = <2>; /* min followed by max */
>                         dynamic-power-coefficient = <100>;
>                         cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
> +                       #powerzone-cells = <0>;
> +                       powerzone = <&PKG_PZ>;
>                 };
>
>                 cpu_l2: cpu at 2 {
> @@ -100,6 +104,8 @@ cpu_l2: cpu at 2 {
>                         #cooling-cells = <2>; /* min followed by max */
>                         dynamic-power-coefficient = <100>;
>                         cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
> +                       #powerzone-cells = <0>;
> +                       powerzone = <&PKG_PZ>;
>                 };
>
>                 cpu_l3: cpu at 3 {
> @@ -112,6 +118,8 @@ cpu_l3: cpu at 3 {
>                         #cooling-cells = <2>; /* min followed by max */
>                         dynamic-power-coefficient = <100>;
>                         cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
> +                       #powerzone-cells = <0>;
> +                       powerzone = <&PKG_PZ>;
>                 };
>
>                 cpu_b0: cpu at 100 {
> @@ -124,6 +132,8 @@ cpu_b0: cpu at 100 {
>                         #cooling-cells = <2>; /* min followed by max */
>                         dynamic-power-coefficient = <436>;
>                         cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
> +                       #powerzone-cells = <0>;
> +                       powerzone = <&PKG_PZ>;
>
>                         thermal-idle {
>                                 #cooling-cells = <2>;
> @@ -142,6 +152,8 @@ cpu_b1: cpu at 101 {
>                         #cooling-cells = <2>; /* min followed by max */
>                         dynamic-power-coefficient = <436>;
>                         cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP>;
> +                       #powerzone-cells = <0>;
> +                       powerzone = <&PKG_PZ>;
>
>                         thermal-idle {
>                                 #cooling-cells = <2>;
> @@ -791,6 +803,17 @@ spi5: spi at ff200000 {
>                 status = "disabled";
>         };
>
> +       powerzones {
> +
> +               PKG_PZ: pkg {
> +                       #powerzone-cells = <0>;
> +                        powerzone = <&SOC_PZ>;
> +               };
> +
> +               SOC_PZ: soc {
> +               };
> +       };
> +
>         thermal_zones: thermal-zones {
>                 cpu_thermal: cpu-thermal {
>                         polling-delay-passive = <100>;
> @@ -2027,6 +2050,8 @@ gpu: gpu at ff9a0000 {
>                 clocks = <&cru ACLK_GPU>;
>                 #cooling-cells = <2>;
>                 power-domains = <&power RK3399_PD_GPU>;
> +               #powerzone-cells = <0>;
> +               powerzone = <&PKG_PZ>;

Every CPU and the GPU are in the same powerzone. What is the point? Do
you really have to be told that CPUs and GPU are a source of heat and
might need to be limited?

Rob



More information about the Linux-rockchip mailing list