From patchwork Wed Apr 20 09:34:40 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dong Aisheng X-Patchwork-Id: 8887791 Return-Path: X-Original-To: patchwork-linux-clk@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork2.web.kernel.org (Postfix) with ESMTP id CBE8DBF29F for ; Wed, 20 Apr 2016 09:59:02 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id DE0DB2017D for ; Wed, 20 Apr 2016 09:59:01 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id D65FA20172 for ; Wed, 20 Apr 2016 09:59:00 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933226AbcDTJ6d (ORCPT ); Wed, 20 Apr 2016 05:58:33 -0400 Received: from mail-bn1on0095.outbound.protection.outlook.com ([157.56.110.95]:47328 "EHLO na01-bn1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S964786AbcDTJ6b (ORCPT ); Wed, 20 Apr 2016 05:58:31 -0400 X-Greylist: delayed 972 seconds by postgrey-1.27 at vger.kernel.org; Wed, 20 Apr 2016 05:58:30 EDT Received: from BLUPR0301CA0020.namprd03.prod.outlook.com (10.162.113.158) by BY2PR0301MB0709.namprd03.prod.outlook.com (10.160.63.151) with Microsoft SMTP Server (TLS) id 15.1.453.26; Wed, 20 Apr 2016 09:42:28 +0000 Received: from BY2FFO11FD014.protection.gbl (2a01:111:f400:7c0c::118) by BLUPR0301CA0020.outlook.office365.com (2a01:111:e400:5259::30) with Microsoft SMTP Server (TLS) id 15.1.466.19 via Frontend Transport; Wed, 20 Apr 2016 09:42:27 +0000 Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=nxp.com; nxp.com; dkim=none (message not signed) header.d=none;nxp.com; dmarc=none action=none header.from=nxp.com; Received-SPF: Fail (protection.outlook.com: domain of nxp.com does not designate 192.88.168.50 as permitted sender) receiver=protection.outlook.com; client-ip=192.88.168.50; helo=tx30smr01.am.freescale.net; Received: from tx30smr01.am.freescale.net (192.88.168.50) by BY2FFO11FD014.mail.protection.outlook.com (10.1.14.76) with Microsoft SMTP Server (TLS) id 15.1.472.8 via Frontend Transport; Wed, 20 Apr 2016 09:42:27 +0000 Received: from shlinux2.ap.freescale.net (shlinux2.ap.freescale.net [10.192.224.44]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id u3K9g0iX016915; Wed, 20 Apr 2016 02:42:24 -0700 From: Dong Aisheng To: CC: , , , , , , Subject: [RESEND PATCH 8/8] clk: imx7d: only enable minimum required clocks Date: Wed, 20 Apr 2016 17:34:40 +0800 Message-ID: <1461144880-8724-9-git-send-email-aisheng.dong@nxp.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1461144880-8724-1-git-send-email-aisheng.dong@nxp.com> References: <1461144880-8724-1-git-send-email-aisheng.dong@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131056189475488082; (91ab9b29-cfa4-454e-5278-08d120cd25b8); () X-Forefront-Antispam-Report: CIP:192.88.168.50; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(2980300002)(1110001)(1109001)(339900001)(199003)(189002)(4326007)(50466002)(2950100001)(11100500001)(19580405001)(104016004)(19580395003)(50986999)(5008740100001)(6806005)(76176999)(586003)(1220700001)(1096002)(36756003)(86362001)(48376002)(87936001)(77096005)(110136002)(105606002)(189998001)(33646002)(50226001)(106466001)(5003940100001)(92566002)(229853001)(81166005)(2351001)(85426001)(2906002)(7059030)(217873001); DIR:OUT; SFP:1101; SCL:1; SRVR:BY2PR0301MB0709; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; MLV:sfv; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BY2FFO11FD014; 1:n5T0nlHYGywJm8vKY7ocrmlDn5pYXsKpNUi1Nk8tqP2n4Umh4dLP5a6hTWWx/VUA6NXMIm0WJQEwwZaGzUYWLXOCNgnhDcWSt+Cr01LwyORuLTKVS+/hjl1Tf1vlY0fBGcR9uLUEMO7CbVwik+RPsH8DmLQABrJIPsQ64ndU5ZY2RJMUZnV9FEtAhXC9vx7bmWFyIhgTEJn5elj9i3vHwcvzXtDpRqpYgHyK+fPBu/dka6AGnxCznddqmzX7ZECmYQP7y1szpTB5LdFU+9mkAWg0NsTrm5ctJlx7l+FrIU3/XAIVzLm/ioI3JTlxfESPnr1yoiyAprrFdYGQLcE3YIF+gejKphZ3ncmcrWDXizl7UdMmHVHydkIWXebaeZB44NidmJoKzosOTE1T9v6DJuUpmjfoDewhf7Yj/VdelOjsMXmVgMUoC0CRty2639TtQJ/udLvmfGyo95uJB+Tf6jsdPqYyuJSN8znTN8e24jQMVfCb0a4GKP9aEXTEIvDHm4j854ToXVgg6IiLprglDFz2D0NCD8lt9d6FRI8WqEdq1pUP7mqpapRnAzN9zWS49jZ6Vff4FCxjWUOZPW5Mo0yAtVDbgx73+j8OMGgxy3K2TMu2DdUB4oeLQGFR7FZMM0gkRfD6WVdXHrt3V20YfsRj6xFCnPk08coHrwlPlDFce05agbJeN1cFnrV3R//9 MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: f5133d66-1db9-480e-8152-08d3690015c4 X-Microsoft-Exchange-Diagnostics: 1; BY2PR0301MB0709; 2:Ly3+ms7T87F23Q/0sg7L0qeAcGn39hfOwcyAQ8RZBsfsZEwrJZJMXav4BAkgHMBk2hvLDGbhnsnx+Jvw/Jlv5sr/xr+aAF4+kNgPfuRJCcZNSOkBVuw3L9tfrorjg5nxXeoyxGRldGdOnZSLiSt3XY8kSzjyIvYViSXpjOb9sVkmGt7xZyrOpSKnzjwiD971; 3:by3Qy8XmuEN/DkkLZeCkPjqrXbVih/LaEaKPNl71L2+WfK1MuwLdk3/25eKdNSgD56sQm7JFzAgTj7nl8Kb3PjTIpRh1YOJg4FYQPaTORP3aCe+iHTUC5tKJzwK7QRBFhRSf8HpN6eh7UitCoo7tx0ItIHcn+qp7gLYanWTTOmfFEDawUBwdYxyEtxEFcGNC2/HTZOZivvCnv7RrVgHKI2bOpxa/2k0ONko3n0dl+K8= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BY2PR0301MB0709; X-Microsoft-Exchange-Diagnostics: 1; BY2PR0301MB0709; 25:LjT4X1y3XQA7wT/mK/MUNpD4ViyAArCzI8YFnXokmiiZ8bTIlv0aEA7EdUn0PRI1RR53hB79fDMGvLQTEjs65osMXeIlKc3kaXKllKAig2yIayYVOQ/G2KAPwkBmtpd6B5TJGddhc49ZheIxSo24ZKFoE0sjh7mtCSWTPSnE12Ag+Z1eWX1WObuE5YlBrJThMrIN8cLLT6rPFT02xSZXbw1vtjClK2Iaiyoj66BxIXQcy4kzH61B4ZST6rKRyl+Xa/y0Cj+DvBkTp82C4l2Y/1l2APYDcRcTX5q57qLdgIKHuAmv9XovbPl8qqhqqcRHXIt/YbRpiIyBJF1ZdAf+V0Qp3c6l8/2dGMZc+3ZaLaA8YUBWrVGj8mjpACkU9Xz0WTTRBXd7dv9IANQbmUpsrPnfwyMQlNM+Afl9pMhWS8LKux8MOswo+lPacrFtsDARbGqYHaIRilR+17tGe+9CLcmZ1KdvkQuVJuYD56TlT7YaSSbqCqhuOiRb8kxYit+Q1HUnbFt/GrKgmkXIFGnGnB0eka1Xp3qGMb0f+3K0lwY3YzdnQ9Xc0rcpOIplIe9DVfO2p3OUri+mVypTT1VcnG0pJN2Hx9Dl0FNIOA82d4QNI1EApSPfuwXpqqobAeXyOu4jIHpRmAKplzaPlwS2gUv1yEfGDjJzWCku8Pya6pc= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(5005006)(8121501046)(13015025)(13018025)(13024025)(13023025)(13017025)(3002001)(10201501046)(6055026); SRVR:BY2PR0301MB0709; BCL:0; PCL:0; RULEID:(400006); SRVR:BY2PR0301MB0709; X-Microsoft-Exchange-Diagnostics: 1; BY2PR0301MB0709; 4:zTSTmPl9xdkOPfs+YLO8XsedM5pQlzr0NCMy1og/5zZw9JE5j5YxiLlYSqxT6cdUSVsJtKQqAclNw9x8kTnWgwGX9NgyN/7+JLyE1Bjwp2a+l0Z2Yz6WaHjmQna6hkoLh4hSoEdzCqmyY9wc4a7fpMKmbuF7HPiw4dvZDFtU8vRaSZeDmta9fHe/HRYL7OrG+HhT8A8TRNbDErLBRpPZwjEqK721mGgCA1FDehB2Sq+hwAV9U24Kf794i59PX26S0jtFVCqLQt/s6xw47nNFpOujcgHefN6UqNq4xSL0ckv9RS39Jy7F65yn2rJ8LtIlqVH54R9RCMZR++cj3dJdrRNRZBgR4TsFPeck0/1XESUJOffWMs0+4ARdbDH7wTKDXf0rssvjRiXGIp1diJ1QrpoZnt/pO6GjatZt7e1OGOOWRGYs4UE3a/iRe3JK5IxB531hRa1HEcqrW9anHVhJg2INYpF8rcHWxJgWuV6/9m0= X-Forefront-PRVS: 0918748D70 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY2PR0301MB0709; 23:70xSrUeOYviLVoqzpzqPK/nSqJ/QsOD+v5FSDpD?= =?us-ascii?Q?mWPnN65FRnPvSPYZCaTaSbvBcEXZOvrhlk/sc7+gqvJOulO+lpwNa2gYFCc2?= =?us-ascii?Q?Vpp+DSP26PmKU3/5eTdK9nkkrlv9vlJQaw/sE6DOiHZ9R0AH6O+x4nIYgSfp?= =?us-ascii?Q?lrbHEmCB1vw4ww4+JkAlu465RFVmUiR3bJbKf4udibk+q2aGn7djbDAZzin9?= =?us-ascii?Q?7JHuOtIasZ/TGT9hEZj93VDOQVHQ6bKbRpPr0MP/TiZ6/NBC7zkHunPaCXYX?= =?us-ascii?Q?n+WeQyS+XR2AXl8CECiZw62gBpZ+0qZciAJrF5nw9WctgrH/p8cnC/Gn7P/S?= =?us-ascii?Q?aP86pfJv7PstabSNfW0Oai0QmI7q33jz/arPepb5IqwI7CWbt1WyC+iAuDTD?= =?us-ascii?Q?AdcRDHXOlG6vkqHPbhNIhUWYEffbXWcEY1Q8uL8L0fLWDIBqbZt0a+jkoNe8?= =?us-ascii?Q?eUqG7+6Y1lZ5mibOqNNNOCiPX1jLpe150+/2ZaMslrfbFUB+iZ1NPkx5Og5v?= =?us-ascii?Q?qUf8t1hmFhGQKObQMF63sVImFxorFaGq274p3n4EQ+LyxkxaoltZP1HKllra?= =?us-ascii?Q?UOoKROi2y1WfbKbk8okVVft18XLBeuEqWkIzOnr2MbWsGI12FlkK/bG0F7ks?= =?us-ascii?Q?yoIZv/W7sm3aEjzRSjQekrtfS8ErotygrgiqmA00e8530uxktskA5ddOZaOi?= =?us-ascii?Q?i9/3WAE/aefgVYfnYbulEJM+5SFYm+YrPqYvepcwkK3lNaKMYb9hlT56fBMQ?= =?us-ascii?Q?sdQfkxfRaVRvWvOtdAJBYTLG2mkfpV4mdgfAuL6ymCnnVqHk/zMZ76Tsx+mi?= =?us-ascii?Q?jxkFg1Qj2RG4p1yMBSn9106X44UZFeJ5WjA+d2D3fYqfxIYyWyqWsExykAYQ?= =?us-ascii?Q?HpwkZzL0zGWJ4R+i3EHFp7XDcRPsygk2fTI+A9qLNc4r776PcJbioHNot33p?= =?us-ascii?Q?BVRhTBXmPOV4oHthLKMI2YxJp25yQp610WuEEWV8Afnb5pdBOtU2K8z0jPPi?= =?us-ascii?Q?IWE/a2GN9JP8JsKUpVjw4VY1QKguYekgc9JHDV3Y0lOBo6HEl8Q2S3nEMQ6q?= =?us-ascii?Q?FJIcdO+4=3D?= X-Microsoft-Exchange-Diagnostics: 1; BY2PR0301MB0709; 5:wpSpQiN/8EIHa5yjbiDD0/AIn8wUovaR003YqZeG8zl+HgqVsoEST5+ABPUtUFc5A6OjVwPz0DFuyXAh6xIY8HDceUA2c3sUUpXux5BA7XwWlbMFN87FVtowq/gzDl2saY4DpP5Tj2/bT17l0kzSWhrub4XmIfATw2/qcq/0QA0=; 24:utBhwTcDABgt3TukosBAYnGVOblpNc6F3flTZ0ObQ7AhZsrA2MR05iC4HeMd2esM32oROcmBS86/KD+GEvvozZra0teBdHTdViY6p0zI3vY= SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Apr 2016 09:42:27.3460 (UTC) X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e; Ip=[192.88.168.50]; Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2PR0301MB0709 Sender: linux-clk-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-clk@vger.kernel.org X-Spam-Status: No, score=-7.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Formerly clk core does not support imx7d clock type well that all its clock operations requires the parent clock on. Therefore we enabled all clocks by default in clock driver initialization for other module clocks operate well. After patch 'clk: imx7d: using api with flag CLK_OPS_PARENT_ON', clk core can handle such clock type well, so we don't have to enable them all by default anymore. Instead, we only enable a minimum required set of clocks. Cc: Michael Turquette Cc: Stephen Boyd Cc: Shawn Guo Signed-off-by: Dong Aisheng --- drivers/clk/imx/clk-imx7d.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/drivers/clk/imx/clk-imx7d.c b/drivers/clk/imx/clk-imx7d.c index 980b2b8..18d23da 100644 --- a/drivers/clk/imx/clk-imx7d.c +++ b/drivers/clk/imx/clk-imx7d.c @@ -361,6 +361,14 @@ static const char *pll_enet_bypass_sel[] = { "pll_enet_main", "pll_enet_main_src static const char *pll_audio_bypass_sel[] = { "pll_audio_main", "pll_audio_main_src", }; static const char *pll_video_bypass_sel[] = { "pll_video_main", "pll_video_main_src", }; +static int const clks_init_on[] __initconst = { + IMX7D_ARM_A7_ROOT_CLK, IMX7D_MAIN_AXI_ROOT_CLK, + IMX7D_PLL_SYS_MAIN_480M_CLK, IMX7D_NAND_USDHC_BUS_ROOT_CLK, + IMX7D_DRAM_PHYM_ROOT_CLK, IMX7D_DRAM_ROOT_CLK, + IMX7D_DRAM_PHYM_ALT_ROOT_CLK, IMX7D_DRAM_ALT_ROOT_CLK, + IMX7D_AHB_CHANNEL_ROOT_CLK, +}; + static struct clk_onecell_data clk_data; static struct clk ** const uart_clks[] __initconst = { @@ -846,14 +854,8 @@ static void __init imx7d_clocks_init(struct device_node *ccm_node) clk_data.clk_num = ARRAY_SIZE(clks); of_clk_add_provider(np, of_clk_src_onecell_get, &clk_data); - /* TO BE FIXED LATER - * Enable all clock to bring up imx7, otherwise system will be halt and block - * the other part upstream Because imx7d clock design changed, clock framework - * need do a little modify. - * Dong Aisheng is working on this. After that, this part need be changed. - */ - for (i = 0; i < IMX7D_CLK_END; i++) - clk_prepare_enable(clks[i]); + for (i = 0; i < ARRAY_SIZE(clks_init_on); i++) + clk_prepare_enable(clks[clks_init_on[i]]); /* use old gpt clk setting, gpt1 root clk must be twice as gpt counter freq */ clk_set_parent(clks[IMX7D_GPT1_ROOT_SRC], clks[IMX7D_OSC_24M_CLK]);