[RFC] ARM: dts: mt8173: Add psci-0.2 cpuidle support

Mark Rutland mark.rutland at arm.com
Wed Mar 18 05:16:05 PDT 2015


Hi,

On Wed, Mar 18, 2015 at 06:00:32AM +0000, Howard Chen wrote:
> add device tree for psci-0.2 on mt8173 platform

Are all the other mandatory PSCI 0.2 components implemented and working?

e.g. is MIGRATE_INFO_TYPE present, do SYSTEM_{OFF,RESET} work?

If they're not present and working, we can't describe this as having
PSCI 0.2.

Also, what FW does this require the system to have?

Mark.

> add device tree for cupidle-arm64 on mt8173 platform
> 
> Signed-off-by: Howard Chen <howard.chen at linaro.org>
> ---
>  arch/arm64/boot/dts/mediatek/mt8173.dtsi | 30 ++++++++++++++++++++++++++----
>  1 file changed, 26 insertions(+), 4 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/mediatek/mt8173.dtsi b/arch/arm64/boot/dts/mediatek/mt8173.dtsi
> index 8554ec3..96dff1e 100644
> --- a/arch/arm64/boot/dts/mediatek/mt8173.dtsi
> +++ b/arch/arm64/boot/dts/mediatek/mt8173.dtsi
> @@ -48,6 +48,8 @@
>  			device_type = "cpu";
>  			compatible = "arm,cortex-a53";
>  			reg = <0x000>;
> +			enable-method = "psci";
> +			cpu-idle-states = <&CPU_SLEEP_0_0 &CLUSTER_SLEEP_0>;
>  		};
>  
>  		cpu1: cpu at 1 {
> @@ -55,6 +57,7 @@
>  			compatible = "arm,cortex-a53";
>  			reg = <0x001>;
>  			enable-method = "psci";
> +			cpu-idle-states = <&CPU_SLEEP_0_0 &CLUSTER_SLEEP_0>;
>  		};
>  
>  		cpu2: cpu at 100 {
> @@ -62,6 +65,7 @@
>  			compatible = "arm,cortex-a57";
>  			reg = <0x100>;
>  			enable-method = "psci";
> +			cpu-idle-states = <&CPU_SLEEP_0_0 &CLUSTER_SLEEP_0>;
>  		};
>  
>  		cpu3: cpu at 101 {
> @@ -69,15 +73,33 @@
>  			compatible = "arm,cortex-a57";
>  			reg = <0x101>;
>  			enable-method = "psci";
> +			cpu-idle-states = <&CPU_SLEEP_0_0 &CLUSTER_SLEEP_0>;
>  		};
> +
> +		idle-states {
> +			entry-method = "arm,psci-0.2";
> +
> +			CPU_SLEEP_0_0: cpu-sleep-0-0 {
> +				compatible = "arm,idle-state";
> +				arm,psci-suspend-param = <0x0010000>;
> +				entry-latency-us = <600>;
> +				exit-latency-us = <600>;
> +				min-residency-us = <1200>;
> +			};
> +
> +			CLUSTER_SLEEP_0: cluster-sleep-0 {
> +				compatible = "arm,idle-state";
> +				arm,psci-suspend-param = <0x1010000>;
> +				entry-latency-us = <800>;
> +				exit-latency-us = <1000>;
> +				min-residency-us = <2000>;
> +				wakeup-latency-us = <1000>;
> +			};
>  	};
>  
>  	psci {
> -		compatible = "arm,psci";
> +		compatible = "arm,psci-0.2";
>  		method = "smc";
> -		cpu_suspend   = <0x84000001>;
> -		cpu_off	      = <0x84000002>;
> -		cpu_on	      = <0x84000003>;
>  	};
>  
>  	uart_clk: dummy26m {
> -- 
> 1.9.1
> 
> 



More information about the linux-arm-kernel mailing list