From patchwork Wed Jun 14 08:23:31 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Guodong Xu X-Patchwork-Id: 9785793 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 2D4D8602D9 for ; Wed, 14 Jun 2017 08:41:34 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 10D5326E39 for ; Wed, 14 Jun 2017 08:41:34 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 056A628575; Wed, 14 Jun 2017 08:41:34 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID autolearn=unavailable version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [65.50.211.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 787E226E39 for ; Wed, 14 Jun 2017 08:41:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:MIME-Version:Cc:List-Subscribe: List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:References: In-Reply-To:Message-Id:Date:Subject:To:From:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Owner; bh=jrUDIBMXvh1WY1Aa1/MaitvkbnJzLtuEJy9lvmtqVDo=; b=kWQ9rKZFxoXgwW/sw6ntM2EBHt p86wKuzC5gDVa2n8T/CDJveM3WtZBAUDcLLcBCL2SEBiMDdEbSwvNr9r2QYjMHEEU7KjDHVeqKGz9 4FxOD5cFyvgg03HZWaknISaljom7SJTEJiWdZLubz0xmDsYMAv5tNxqySKIQr5M2eO/G9qe+pkC87 brn/Ld1kKZkdkDsCkB1C3VfPwZIO+QYCj8pIl+gXobSB9g/ehT3MBrmohJJiM0lgFGuDalN2vCv7a wfexVY8ICKytuXFnjuvDdHKE+vRwEoEknBW9Kh0MQ2ekoyMewYhdODVapZp0SkEwhbNHg7zhrf8PT TpPQKb6Q==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux)) id 1dL3rn-0005zp-NW; Wed, 14 Jun 2017 08:41:31 +0000 Received: from casper.infradead.org ([2001:8b0:10b:1236::1]) by bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux)) id 1dL3rQ-0005Aj-MU for linux-arm-kernel@bombadil.infradead.org; Wed, 14 Jun 2017 08:41:08 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=References:In-Reply-To:Message-Id:Date: Subject:Cc:To:From:Sender:Reply-To:MIME-Version:Content-Type: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=sdoeWHTBchA4wklXVPyN5pFwXvOs7OFDKJVs/X76X9w=; b=QFe5DdxPgy9QGk7Pubjz/atkm /GfXGjWCbB9AbP6YylBKFQH+FOSgNoum3dfBXmK+cI/pZgDlfu7stgg/Q+FZDuuMFJWdtxkKDfFwd avb5/3WDBkAUJxEeKDqXaoqKphF/0+bpC9Gw3p9cijoz4twZnvQwtRKTBWtMlKg/RroBzjivaMCDi Sv2b2nSL9LB4UISXmpRgJvCHenGo1TAZIKHzm85btBab68Kg59FUwUlSftrr3dYVbLXu9f1sLeZdf To2yez6u2AVIJZ3P0DqdeWpQ/xRYT8SK1/LWa8D1UfXs+HPe0wEsbCjhsG0kwDSkh93bITERbPQjb AVoG8PtKg==; Received: from mail-pf0-x22b.google.com ([2607:f8b0:400e:c00::22b]) by casper.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux)) id 1dL3cT-0002CP-Kt for linux-arm-kernel@lists.infradead.org; Wed, 14 Jun 2017 08:25:43 +0000 Received: by mail-pf0-x22b.google.com with SMTP id l89so80809463pfi.2 for ; Wed, 14 Jun 2017 01:25:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=sdoeWHTBchA4wklXVPyN5pFwXvOs7OFDKJVs/X76X9w=; b=OgvUmsIswtbXmg06koqg2rgMjNz3++6NksU7gGHioL1Hz5TM22aHDqsVbkI8cK0LRD Ny90M/5Gdb2lDYYuhe8xdWyu+HzO/2juiNaiJBdQHdZP2KBjaxzWwF5nvn/OTaTJl+m9 G9xQDD4weAYaG0RGg4jzGwbb0vrbG6YwxxAts= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=sdoeWHTBchA4wklXVPyN5pFwXvOs7OFDKJVs/X76X9w=; b=F4sE6p7w1StTDgeNOL3rUeoo7qWyf8WJ7NaS7mbg78sj3Mrta09aW9NqTPyJNg8LBu y/tbOHUnxWU0HoMW2AsefRAXe/+2giugdxJwwwk+rIaneg8FGorJE6A11SJIr9D2mc3u +x3NBuAbVNQszrgQQgRceGY3b6/1XQKPtVaoZ3kpQaW5Baxha2sl8cze787UoeRRbbsu yHh9E/nly02Sbx2at5PkDHNbSbwPSjTRWCh1SJG3Rr6wjmwtsQz9bHJmYVtvMzFuOdfb sL7UT2fDAzW8PtYzCHBLYnSfrVNWNgkSMJFBuP2eGzRSAvGQPXPITBhK0HbW9WLTUdzX vtIA== X-Gm-Message-State: AKS2vOzWxUc9lN6gBxRepnJoj7wd+OP+rOMUQdT5xpEK38gT72P94IyR JX/KeedwcmANIE0v X-Received: by 10.84.232.8 with SMTP id h8mr3754294plk.278.1497428720003; Wed, 14 Jun 2017 01:25:20 -0700 (PDT) Received: from docularxu-ThinkPad-T440p.219.146.1.66 ([45.56.159.99]) by smtp.gmail.com with ESMTPSA id h14sm766802pfh.71.2017.06.14.01.25.13 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 14 Jun 2017 01:25:19 -0700 (PDT) From: Guodong Xu To: robh+dt@kernel.org, mark.rutland@arm.com, xuwei5@hisilicon.com, catalin.marinas@arm.com, will.deacon@arm.com, wangkefeng.wang@huawei.com, xuejiancheng@hisilicon.com, peter.griffin@linaro.org, puck.chen@hisilicon.com, lee.jones@linaro.org, ulf.hansson@linaro.org, bhelgaas@google.com, arnd@arndb.de Subject: [PATCH v3 14/21] arm64: dts: hi3660: enable idle states Date: Wed, 14 Jun 2017 16:23:31 +0800 Message-Id: <20170614082338.15673-15-guodong.xu@linaro.org> X-Mailer: git-send-email 2.10.2 In-Reply-To: <20170614082338.15673-1-guodong.xu@linaro.org> References: <20170614082338.15673-1-guodong.xu@linaro.org> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20170614_092541_828848_078D8099 X-CRM114-Status: GOOD ( 10.41 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, Kevin Wang , linux-pci@vger.kernel.org, Daniel Lezcano , linux-mmc@vger.kernel.org, linux-kernel@vger.kernel.org, Leo Yan , zhangfei.gao@linaro.org, linux-arm-kernel@lists.infradead.org MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP From: Leo Yan On Hi3660 there have two clusters, one is CA53 cluster and another is CA73 cluster. This two clusters have different idle states separately. With Daniel Lezcano's patch (ARM: cpuidle: Support asymmetric idle definition), now ARM idle driver can support different clusters with different idle states. Base on this, this patch is to bind two clusters idle states on Hi3660. Except the "WFI" states are enabled by default for all CPUs, this patch also binds below extra idle states: - CA53 CPUs have two more states: CPU_SLEEP: CPU power off state CLUSTER_SLEEP_0: Cluster power off state - CA73 CPUs have three more states: CPU_NAP: CPU retention state CPU_SLEEP: CPU power off state CLUSTER_SLEEP_1: Cluster power off state Cc: Daniel Lezcano Cc: Kevin Wang Signed-off-by: Leo Yan --- arch/arm64/boot/dts/hisilicon/hi3660.dtsi | 63 +++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) diff --git a/arch/arm64/boot/dts/hisilicon/hi3660.dtsi b/arch/arm64/boot/dts/hisilicon/hi3660.dtsi index e138973..4101bf5 100644 --- a/arch/arm64/boot/dts/hisilicon/hi3660.dtsi +++ b/arch/arm64/boot/dts/hisilicon/hi3660.dtsi @@ -58,6 +58,7 @@ device_type = "cpu"; reg = <0x0 0x0>; enable-method = "psci"; + cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP_0>; }; cpu1: cpu@1 { @@ -65,6 +66,7 @@ device_type = "cpu"; reg = <0x0 0x1>; enable-method = "psci"; + cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP_0>; }; cpu2: cpu@2 { @@ -72,6 +74,7 @@ device_type = "cpu"; reg = <0x0 0x2>; enable-method = "psci"; + cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP_0>; }; cpu3: cpu@3 { @@ -79,6 +82,7 @@ device_type = "cpu"; reg = <0x0 0x3>; enable-method = "psci"; + cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP_0>; }; cpu4: cpu@100 { @@ -86,6 +90,11 @@ device_type = "cpu"; reg = <0x0 0x100>; enable-method = "psci"; + cpu-idle-states = < + &CPU_NAP + &CPU_SLEEP + &CLUSTER_SLEEP_1 + >; }; cpu5: cpu@101 { @@ -93,6 +102,11 @@ device_type = "cpu"; reg = <0x0 0x101>; enable-method = "psci"; + cpu-idle-states = < + &CPU_NAP + &CPU_SLEEP + &CLUSTER_SLEEP_1 + >; }; cpu6: cpu@102 { @@ -100,6 +114,11 @@ device_type = "cpu"; reg = <0x0 0x102>; enable-method = "psci"; + cpu-idle-states = < + &CPU_NAP + &CPU_SLEEP + &CLUSTER_SLEEP_1 + >; }; cpu7: cpu@103 { @@ -107,6 +126,50 @@ device_type = "cpu"; reg = <0x0 0x103>; enable-method = "psci"; + cpu-idle-states = < + &CPU_NAP + &CPU_SLEEP + &CLUSTER_SLEEP_1 + >; + }; + + idle-states { + entry-method = "psci"; + + CPU_NAP: cpu-nap { + compatible = "arm,idle-state"; + arm,psci-suspend-param = <0x0000001>; + entry-latency-us = <7>; + exit-latency-us = <2>; + min-residency-us = <15>; + }; + + CPU_SLEEP: cpu-sleep { + compatible = "arm,idle-state"; + local-timer-stop; + arm,psci-suspend-param = <0x0010000>; + entry-latency-us = <40>; + exit-latency-us = <70>; + min-residency-us = <3000>; + }; + + CLUSTER_SLEEP_0: cluster-sleep-0 { + compatible = "arm,idle-state"; + local-timer-stop; + arm,psci-suspend-param = <0x1010000>; + entry-latency-us = <500>; + exit-latency-us = <5000>; + min-residency-us = <20000>; + }; + + CLUSTER_SLEEP_1: cluster-sleep-1 { + compatible = "arm,idle-state"; + local-timer-stop; + arm,psci-suspend-param = <0x1010000>; + entry-latency-us = <1000>; + exit-latency-us = <5000>; + min-residency-us = <20000>; + }; }; };