From patchwork Sun Jun 3 02:33:45 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anson Huang X-Patchwork-Id: 10445071 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 23EE860234 for ; Sun, 3 Jun 2018 02:38:35 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 15951288A2 for ; Sun, 3 Jun 2018 02:38:35 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 0A35C288C7; Sun, 3 Jun 2018 02:38:35 +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=-2.9 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, DKIM_SIGNED, DKIM_VALID, MAILING_LIST_MULTI autolearn=unavailable version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.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 9B08A288A2 for ; Sun, 3 Jun 2018 02:38:34 +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:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version: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=84U/zr1NjVbBO95MvpJKs3HB6wCu6m/KiKXz8WKx9EE=; b=khijPzJanLogxP cg2YLTB8c/3XbQEGjtTfLq+SlH/9AP89ENjcD9ch4+eSYjJhAY0L7Xf6OaoldqVKhL82K1yYkch5b TaO3dSTz4jgatwLUMgdGyxE1T53OS78j+HXxN70U9cus5WcirFLVwE6DJnf7uy62QsHX9kwAg32/S bslhNXrU8jCeg4oNqZG9WcvvSOHU4sK2tv/ldvRLutijdrU5P8EqnvC2EWaCOHPGkSuXga8d3EVm0 LLaxjvpBSRJCp800LHeRdIq5lOmblEorAGl9raAwVQfBWU5PO3g4grFsuoDXmypL5vEvWDH0XqAJD x0qPvZv8A09BtdJEx+WA==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1fPIuU-0008AN-Jg; Sun, 03 Jun 2018 02:38:22 +0000 Received: from mail-he1eur01on0626.outbound.protection.outlook.com ([2a01:111:f400:fe1e::626] helo=EUR01-HE1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1fPItv-0007oU-0s for linux-arm-kernel@lists.infradead.org; Sun, 03 Jun 2018 02:37:48 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=h5tC28NdYVLp+dDb+KaXonTXGYzcptoI/XQfPxOORr8=; b=q7lwW2wVQoIR0xjm9vj7tmE/PdrhH1q2LXwEPyJOYrJWGz44R8qPmD6/tzB6iyCQAKcnbfL/VlwwW5fSWCBJdrdc0If37XXIgJ1Osebl1VdF3ZJkVefxNSN6687JA3Mymz2sPEI19+g1/mMnWwnYzlgefyIjkabqKzcDrn9UQ7g= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=anson.huang@nxp.com; Received: from anson-OptiPlex-790.ap.freescale.net (119.31.174.66) by HE1PR04MB1323.eurprd04.prod.outlook.com (2a01:111:e400:5889::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.820.14; Sun, 3 Jun 2018 02:37:25 +0000 From: Anson Huang To: shawnguo@kernel.org, kernel@pengutronix.de, fabio.estevam@nxp.com, linux@armlinux.org.uk Subject: [PATCH V2 2/3] ARM: imx: add cpu idle support for i.MX6SLL Date: Sun, 3 Jun 2018 10:33:45 +0800 Message-Id: <1527993226-19587-2-git-send-email-Anson.Huang@nxp.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1527993226-19587-1-git-send-email-Anson.Huang@nxp.com> References: <1527993226-19587-1-git-send-email-Anson.Huang@nxp.com> MIME-Version: 1.0 X-Originating-IP: [119.31.174.66] X-ClientProxiedBy: HK0P153CA0011.APCP153.PROD.OUTLOOK.COM (2603:1096:203:18::23) To HE1PR04MB1323.eurprd04.prod.outlook.com (2a01:111:e400:5889::13) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(48565401081)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020); SRVR:HE1PR04MB1323; X-Microsoft-Exchange-Diagnostics: 1; HE1PR04MB1323; 3:WRcLroVVr6+UTDasadrA7q99pQlQPGCN3n2F+0/BI3H2Iijh8So+bAzB1iIl7gh3jVWHkd+oP46EVo2o4gHN9fLuoXWu72+2+folTzOdPLgl9tffmd6bAOPjL/sw/WgnKmiiMaKddyjyUAYhyn1b0LPkLoKjY3WAmxVbq2Q5iJrT5bCZtZInqwExC2kZfOsS0uS5Jca9s0MFalqiATCLLqyTo9cFy0ekoovVwRgo5+UDsyBC2unjBlqbQ2UR3ysd; 25:mKhJE752AIeJY4gcUpcQBbv3um/dE5jhLkEvpInZUdi73A0qFgCE8fu/vxiFTSwUutUxHPGA0FUMBJpstt+WVtDMlYjiatKUQ3PV7ofO3s09A0ArtDx2V4Ba2/TYb0CIhRmUiSGp7aeg9wAd9W3rO3n7V7saBtfVNbP5LX8mRi4w/z+bFfhTFDsuA8NbiX/k4KO0oysPjGn8q5MgQuyfngtNxsruXGb+gd/0wGs091urNML0bGG/0hMDh/34g3VHcyGCszUmiwAlcRcantp3Vd51h8ySuJqsRTdunyIng/R4Vjq+pcVxLYWF6+tjYVh5Sqs46PNe145aVVZZlpOEDQ==; 31:kGfjbz65BnX0HoOHew1ySV0lQT0Wvpfc0Dj+PyHTZvKTDSx5o4ROTGS9htezAX7u6dYUek7w+VDpqCPzVeNt512gn+FKz7ImcBeLxx3advmsnLLt8sYn35GJs3349cBgN+I58GbK1FkBf5LmMkr1KJtm5hS261d8sPPs+LHQB1+ZE+G/9eXm1ZRDPfuLgHzx7NGu8IokJijlNC3AMSizXOXDJMSATZHh7DWHSiXjtIo= X-MS-TrafficTypeDiagnostic: HE1PR04MB1323: X-Microsoft-Exchange-Diagnostics: 1; HE1PR04MB1323; 20:huhbLMsmLbYJjhpJWbQk1D5OFrmlkKgq21ln6MFAD+jck+cztRS+J5tTkqt0gkmd1m8V2yNdcH8/TFOLp7CtLz8dSJKz6oG2RnRd7FYRzwuPcjQ0tMd1NSh/tDCLEWR4m2c2wAG7RZA9Q4oOkxzPYBq44CTJjuxRVMnITLdO8mz7xDaq6Opkvq32GZa9LExSqUlAMVxsCFp6V84A3Ww4Bt/6K2QBA69oK7M/OlT2ZXq43DNlq4GTJdqZK1PWJi6lP602DppPirPrX9AkQ0RNnnvYtm5oinQ0imZDuOwacDUlpu1wUABtwQkcBtJLoPl5N88nO3H2zlK9Ri/ZXo4OmzKTRjraNJ0YfeW60EuG/hvCnPhXz8uaGbgqCQHzNtDgGHl7+7+tODoBPBRUIa7Ly77zgUqeQVCycxHzElqjvObcGZfefahgYMdTERE4zUnkh5ofSQkqJed44LHqztg3+9lBBamq9xQbmuucoCQGENSP4tXI6Ac+CiErse2hAULr; 4:BZ4zP4SzlDpgAcBLI3w9R7ujJKpriZfVjiZ31uke8PXXS+N7j6Z3Jc8FZH6qeb3MAYvllacY36slMjV2vfitRLQ4psj2NXhwo56wbo80JfImnjgq3TU/ulvUWnZs6y4MaaXllwLD5JEIrXIDRWEbJmUa5W5WEM0jkwY4BM0UZVJhGsbeEGtlA27bB/9I/weV1YtcRjnksZ5w+9aNhlH5oA/ttP3QBa5dMcguxsgvEaAPsksRaY7nedLpWyd/Xbmz/4bkaTj6axBMU7+OAAiPKYDV/IpcgTu4/yB2DdBJlrd6TCa1A0poW2UzTreDE2KP X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(10201501046)(93006095)(93001095)(3002001)(3231254)(944501410)(52105095)(6055026)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123562045)(20161123558120)(20161123564045)(6072148)(201708071742011)(7699016); SRVR:HE1PR04MB1323; BCL:0; PCL:0; RULEID:; SRVR:HE1PR04MB1323; X-Forefront-PRVS: 069255B8B8 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(376002)(39860400002)(346002)(366004)(39380400002)(396003)(199004)(189003)(105586002)(305945005)(97736004)(86362001)(2906002)(106356001)(575784001)(478600001)(66066001)(81156014)(8676002)(7736002)(51416003)(48376002)(8936002)(81166006)(50466002)(486006)(186003)(956004)(47776003)(2616005)(476003)(52116002)(16526019)(11346002)(446003)(16586007)(76176011)(6486002)(36756003)(3846002)(6666003)(6116002)(316002)(386003)(6506007)(25786009)(6512007)(5660300001)(4326008)(50226002)(53936002)(26005)(68736007); DIR:OUT; SFP:1101; SCL:1; SRVR:HE1PR04MB1323; H:anson-OptiPlex-790.ap.freescale.net; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; Received-SPF: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; HE1PR04MB1323; 23:sYcwreG6zcMfkVVrUas7N8o43OB5lvmXKifRcFLtg?= =?us-ascii?Q?f+ojW6k4XBcRqCC+13RW+1Npkbon/gWYyFs4BDgf+XwYdudNaXK+pOXvds7m?= =?us-ascii?Q?pmmSMeti77/VDu5QT+TxYXHjQ29JoWNbMrm+tMlAior/qex6EvC39l3ljepP?= =?us-ascii?Q?+ByDVMkdpLbtCD7T0UphmjdV3vyzkb4lR27j5J5QEXpPHnlX16tC31cdKOVT?= =?us-ascii?Q?TsMnRgzlKRorhbJ5V6vLZdrMjqqG4n6L19iJmXGLFK5Fy2FXQVFDBZZ7eC1z?= =?us-ascii?Q?dBBa9G3Ggzl1JEThW2H8YLCUIcSzDRLKnlhqEDg2cM2Rh1Up4Jx9mzpiaZ+y?= =?us-ascii?Q?pI0EkNtZGjlbTwOeKWEI66Ys0IkmoijKvBkY4vSSF2b9eDRldnLuQiYDIbuh?= =?us-ascii?Q?SHscYROldHIcK/FfCr4VR8q8bUVNWLG3qR2qsyb6EeIY+tZF69mRy0d1u0qe?= =?us-ascii?Q?PHXNPkJpSi8fc7p4LEB0R8x63+b2XazbHKd8WjzQWRrz75mljc4soC3WZxNZ?= =?us-ascii?Q?gxVDEUEnS6DW1GPUmhjSS+6im9bZti3eiZW58JRMnVi0bx5F2nhLNIKmgHvl?= =?us-ascii?Q?kuaqV39EgeaqyjvomXrsEYrX03mj96ETyAd2rAPXNBabfr6oEz/RNMSWKPp1?= =?us-ascii?Q?vZ2Hj8v8FDmJ+gdY3KuAzUyWaWzeA4VRsKIYkFxveS7QUXKzcQGFqhWli4eM?= =?us-ascii?Q?ERoExonJAA8YtcTCJ6ugzBgs7EMEpsvdVLwBB2y7V2GzXx/SgjBTDZdMnl0R?= =?us-ascii?Q?XObcHUlO06QgNa5nO94sBB99LHJSwXDQ/5Mnxx9xLpfGhRlo+gi+oU3gruxA?= =?us-ascii?Q?kT2us47NrrcLEVYtk8uWnu3UK9oSpUDfBVNqLWqCcoRlGVLdulfu6TBkvZe0?= =?us-ascii?Q?DQc3O5nRi6CSK0yrQ1gvqzthDxNJbgkjFTdzoV5SjDn5lGHuhN6sJRmZXgLJ?= =?us-ascii?Q?FRJsj8N1BYsaLcO6kSOLt/6seWxoQCgf9RYrZzajEdAPz7WoG6WkUJeC1XOF?= =?us-ascii?Q?arQHlSn+e6Vko2xvbJDgUw1TXuYd5GJEiBw343yD8wWU5Xw/QjERb5TI4+MU?= =?us-ascii?Q?cG09Pk8AkE7BdV/WfX+TPjVnzr0iXzD365+W0tNKb6s46ElzYmxI5hRzy/UA?= =?us-ascii?Q?Umgr3ZENlpV3BWVoHpXnG895UhlrW08acZRWhQbBx2UrTjU+sw3pgLJ2f1eY?= =?us-ascii?Q?UJtx9zkpjmfLOg=3D?= X-Microsoft-Antispam-Message-Info: 7VaAlLp9k/PFoGj5AtCj4iQ7WF3JuehJzSOvwA8umXZHi7zAUhbGCMdtIgxkxQfQgZmueoX0wsgAii+8ADmg1LT9Ae+V4COsArQVXYPrY/kQdbJVXzE80kpWHdi0tOkORheGM7IgmgoTnTBnrMXAao2lJEBTLHbC3oKqqV0koU1ndQew72MrS36Nyyfz6vtz X-Microsoft-Exchange-Diagnostics: 1; HE1PR04MB1323; 6:72FEjQygC1lcrO6r4jka/05Rwt3z5aqfuQ6XWKkd7OG8sxP380ZvTTcU3IhxwxnpQzkVparY1L2gwz2xwHJ8z8zW1zWfCtUYcRVJbSixuoDUnDU8EZzTtEx0w2KLulB0XNmhhN0OFLKxm8kAc5Pd3Ojq86NCdKncUoE8gVA2cVk45x8EVqO7Bydb4PUSAp6RooajIWQGkVAUmkZb4I9qsLO8g9vGXofF7U3FK/P9qg69cTaqxSvFCrOSQ4UPMadaozhgWorOT3p2IiNwv0a5PdNGgJKtXFnfQDaS2Y8r4xHx+SjrIsZ+KKyYUsPXYlKaXxyRLo/XesGH2R0ZuoZbMQB27pd5iFA6SMBxzyEPkNb47VKicsNveiuI1A0HS5rjE+VHCxH2qPbA21F9ZAmyJv3CriGBhW4L0F9sIhKugNxp9ItbV6GnpjEtYEvOUS2+Z94LBBDfNJT/um6E9TYUog==; 5:rfSyD4jLR9JLfGlDYJ2PjjIuo54jOZPerkUk6LTlgtW0DG1A994HosGYKGYduJqQ/PG34LGy89X+GeujewwnWU/8yAs/TtdISZ7GGSJL88F3EMVgU0fCCytmfgO/+nYQhLMnp31q8zvRZWIfnBQsauTmMPKlFwUKWNe16b/kUiE=; 24:rZ0JdBK+ktV2W51rt7nsRaZuOhj4uBd6v+3ZLxRKngEbFBhYptbIOSEPOf/2FDEkEKrRA22DLhYqt74h1ZH0vuH3c9SVH4jtTbC8bOYisvU= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; HE1PR04MB1323; 7:k3ltDZY2tk/NXooe1f6uz8no0Zy1DYphblgrXx2XaaUtt8TPQ3loRvKzQINCPZ5AJqTYfI55MO2YfsjpY6/H1UIOyZ8f2suVhx4NMP+LIJf3HOfKnEQEtbHizKLdPYMpD948r2W1ZmYq2J7dqUv4xymctD98zWao/AE0ZQjiNJjWC9C6JpLm/Nz/TxcGaNRM29R1O2xbNmmoLC23nWpfFWYJLGIKNcKAg2Ur4kl0u6zu6Ys2+Hbn2q2HMXt2kkBx X-MS-Office365-Filtering-Correlation-Id: 19a4ad82-da1b-4dc6-76e5-08d5c8faf243 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Jun 2018 02:37:25.0460 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 19a4ad82-da1b-4dc6-76e5-08d5c8faf243 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR04MB1323 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20180602_193747_071040_D1A174DA X-CRM114-Status: GOOD ( 13.37 ) 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: Linux-imx@nxp.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org 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 i.MX6SLL supports cpu idle with ARM power gated, it can reuse i.MX6SX's cpu idle driver to support below 3 states of cpu idle: state0: WFI; state1: WAIT mode with ARM power on; state2: WAIT mode with ARM power off. L2_PGE in GPC_CNTR needs to be cleared to support state2 cpu idle. Signed-off-by: Anson Huang --- changes since V1: Fix build error when cpuidle-imx6sx.c is NOT included in Makefile by different SoC configuration. arch/arm/mach-imx/Makefile | 4 ++-- arch/arm/mach-imx/cpuidle-imx6sx.c | 1 + arch/arm/mach-imx/mach-imx6sl.c | 5 ++++- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/arch/arm/mach-imx/Makefile b/arch/arm/mach-imx/Makefile index 2327e3e..127fdf3 100644 --- a/arch/arm/mach-imx/Makefile +++ b/arch/arm/mach-imx/Makefile @@ -25,8 +25,8 @@ obj-$(CONFIG_MXC_DEBUG_BOARD) += 3ds_debugboard.o ifeq ($(CONFIG_CPU_IDLE),y) obj-$(CONFIG_SOC_IMX5) += cpuidle-imx5.o obj-$(CONFIG_SOC_IMX6Q) += cpuidle-imx6q.o -obj-$(CONFIG_SOC_IMX6SL) += cpuidle-imx6sl.o -obj-$(CONFIG_SOC_IMX6SLL) += cpuidle-imx6sl.o +obj-$(CONFIG_SOC_IMX6SL) += cpuidle-imx6sl.o cpuidle-imx6sx.o +obj-$(CONFIG_SOC_IMX6SLL) += cpuidle-imx6sl.o cpuidle-imx6sx.o obj-$(CONFIG_SOC_IMX6SX) += cpuidle-imx6sx.o obj-$(CONFIG_SOC_IMX6UL) += cpuidle-imx6sx.o endif diff --git a/arch/arm/mach-imx/cpuidle-imx6sx.c b/arch/arm/mach-imx/cpuidle-imx6sx.c index d0f14b7..243a108 100644 --- a/arch/arm/mach-imx/cpuidle-imx6sx.c +++ b/arch/arm/mach-imx/cpuidle-imx6sx.c @@ -103,6 +103,7 @@ int __init imx6sx_cpuidle_init(void) { imx6_set_int_mem_clk_lpm(true); imx6_enable_rbc(false); + imx_gpc_set_l2_mem_power_in_lpm(false); /* * set ARM power up/down timing to the fastest, * sw2iso and sw can be set to one 32K cycle = 31us diff --git a/arch/arm/mach-imx/mach-imx6sl.c b/arch/arm/mach-imx/mach-imx6sl.c index c7a1ef1..183540e 100644 --- a/arch/arm/mach-imx/mach-imx6sl.c +++ b/arch/arm/mach-imx/mach-imx6sl.c @@ -42,7 +42,10 @@ static void __init imx6sl_init_late(void) if (IS_ENABLED(CONFIG_ARM_IMX6Q_CPUFREQ)) platform_device_register_simple("imx6q-cpufreq", -1, NULL, 0); - imx6sl_cpuidle_init(); + if (cpu_is_imx6sl()) + imx6sl_cpuidle_init(); + else + imx6sx_cpuidle_init(); } static void __init imx6sl_init_machine(void)