From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753179AbcF2PGl (ORCPT ); Wed, 29 Jun 2016 11:06:41 -0400 Received: from mail-bn1bon0084.outbound.protection.outlook.com ([157.56.111.84]:45248 "EHLO na01-bn1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753091AbcF2PGf (ORCPT ); Wed, 29 Jun 2016 11:06:35 -0400 Authentication-Results: spf=fail (sender IP is 192.88.158.2) smtp.mailfrom=nxp.com; nxp.com; dkim=none (message not signed) header.d=none;nxp.com; dmarc=fail action=none header.from=nxp.com;nxp.com; dkim=none (message not signed) header.d=none; From: Dong Aisheng To: CC: , , , , , , Subject: [PATCH V2 8/8] clk: imx7d: only enable minimum required clocks Date: Wed, 29 Jun 2016 22:59:11 +0800 Message-ID: <1467212351-16626-9-git-send-email-aisheng.dong@nxp.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1467212351-16626-1-git-send-email-aisheng.dong@nxp.com> References: <1467212351-16626-1-git-send-email-aisheng.dong@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131116863908014609;(91ab9b29-cfa4-454e-5278-08d120cd25b8);() X-Forefront-Antispam-Report: CIP:192.88.158.2;IPV:NLI;CTRY:US;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(7916002)(2980300002)(1109001)(1110001)(339900001)(199003)(189002)(36756003)(305945005)(2351001)(68736007)(586003)(11100500001)(47776003)(50226002)(229853001)(86362001)(356003)(4326007)(92566002)(97736004)(33646002)(85426001)(19580405001)(189998001)(7846002)(104016004)(6806005)(77096005)(19580395003)(69596002)(48376002)(8676002)(5003940100001)(2906002)(2950100001)(81156014)(8666005)(50986999)(110136002)(81166006)(87936001)(8936002)(76176999)(50466002)(106466001)(105606002)(7059030);DIR:OUT;SFP:1101;SCL:1;SRVR:SN2PR03MB1934;H:az84smr01.freescale.net;FPR:;SPF:Fail;PTR:InfoDomainNonexistent;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BY2FFO11FD053;1:DTwUOxQ/DV0UE2VEaf8WLfCs39e7uwfuQ7pojL3wKZnhdz1aRV730BHzo1eruaXqFvkwp/ryPhT9LhZjVxUf3UIDz8kC6t0Spu+jjL0Ssv5cFO8UWkT2KKDnhkRaNjYCZiAWUABZdhGoNq9tNOLz6ip20DZtcXaPCyGRaTgsO3hpre5rJZzguhMTIsTHDPh3osmynQqdHLk5J6vULMB6XDb12lYFPpk386sPPr2CnolhDy4CE1/3JjZ4+pYZSC2KB3F1MHF7SyeaKcVC0I1XKu6UUKxI97t6J3E76VNcvXi1UXGhMWf3A6JhgHR0AHPTIG/t5CyHxamB+QLI86PZ4r0XsOE0DSQjEV1rBzaoPlndOygKRLBvsLHxPI9KK4ownjd+pOh7cpBIhUgAQiw30wBCVjE6v+JIqET6U/Pf7b5ad4OiQlMHfBn1dBDPXK01127wEoKbPn7TOOp4HXS6uX5AYp0KzS/PyTZ8NAfcILpl18SpZ5b5HepITLlphcjtXioGOc27cZWY/pgYLqC0NYQyKRzrnYCJWqa+sqxNY/7PUAK/gROkuYbe2tcQbCnLWCd1UjLbrvN8N5Pc4T/2nFsnKRG2D4GhZ0+DktWRtONNXOw4bNp5Z6bmPQa/1r1WW3BuC/Q/dHt/nXlASqm4tS0D3XhnGa/ZZeviZkbxQK2UTngaxglTKhOXVPDqotLmIGYPVpqSA7l4kG6BfsvAfZJVi7AlFUbohy+IDoAF3oc= MIME-Version: 1.0 Content-Type: text/plain X-MS-Office365-Filtering-Correlation-Id: f51385d0-3adf-49cc-ea11-08d3a02ef3c3 X-Microsoft-Exchange-Diagnostics: 1;SN2PR03MB1934;2:TNo3lGekG1KlzxCd/GOtyjC8Ot9tjxlu5fTDl3ZyktuC5nthCRv2yWXjbAlwSM0cdrADhDrR6+yUFhWOSTEo5U0R0gWkgwFarAUXtPXz1w2Ek02PATOpcWcUAy/Jwlk96VgFTxu2fl9W9FLe2iYt3MVJYh4Mumhsg5BQGhoogFH63ooILegL+dAhIm/8EQK7;3:dRIr4MofyP9/PUoOlhm+FWDJYdXj0FUsIb8nrYWa1f27ns48gToK8DxzhAlYCeSEXY7zmkG7v36e0e78iFS3b3HYZFXptSSyZs+Sost+yGX9iUa4rhKMw4vP2IcUWIfA0RQfcai6N9dCr5aw9GZLblHecfyKi6ZwYHVSPj5x+ggT/pp27i3EsTz/2bBY0DBndzj2ctrf4+yHSLHTT90CwGsgHP4RgXe7b0/6bol2P4w=;25:rSEHo8ZhdQdsX/SIp/HpEZFMgrIicSKKxrga0VRyX0yLmxc8VdOekOycyDSi5r9AdTL1KDX3m5u5UVa+nkac6s14EepCp1ZuiKgj3kdSmXYHis4GmxNlcwu8WN6LDaZbTt0o4dSURaTcOe5uPW3knFWos38xrUxCb/JFO8fpiqJnbTKOgK8PBRScfHTgDz1Z/p0GF4p0EXCfMJsF67CgTcj1ospyjPTDKeBCJFupQ6N+Tii+/pP8kPvU8RIycQw9 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:SN2PR03MB1934; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(13024025)(13023025)(5005006)(13017025)(8121501046)(13018025)(13015025)(3002001)(10201501046)(6055026);SRVR:SN2PR03MB1934;BCL:0;PCL:0;RULEID:(400006);SRVR:SN2PR03MB1934; X-Microsoft-Exchange-Diagnostics: 1;SN2PR03MB1934;4:N6haKZrXZMKnhmQOzw/c+udCmipbp/AvSIcQGAgIVRb+nCeUbu6TMX0Lb/Xqf40sAM5yEcJOv9wc8JGEn6m6OvBax/imxZ7uwnev7km5h3cu/kihiJLETRCcX7EGsB3pX5Aej/kTGJNFmjlwHTyMo32cyIon6d0XkyHaP4ghGwANNcRfZiFdlrf+nSQniZBxRdQAW3lpitfvX4T321+GINH5Aliw57ozuVMiZCH0FJUPMAH481gLwXcD2aJMcPXeLVA6gCQdxe1HucJ4JKKu1dDb8r3Kznvg46MGCno4ZP7g4UFKZVi2GtelYw2ZrzhHpMpWiyRCb2SWfa8ecB78gHirHUKF0/gApwFydKa/K9txT4gxJaIXLL1E8Eu4ACG2iV/FAWIhr4iTLMxTa19Hea83G5s+jrJOaa+zGowq1FBkX5pAV6GZaqHyOirL3zc7nPDa3vUxmgPeWthYILP9INE0+V0tkRhBsMsPLkf8pPkrP1/0C74xIysG9Jnu59S9FPhTLg9PsWW2KScSV1euog== X-Forefront-PRVS: 09888BC01D X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;SN2PR03MB1934;23:rsnaFqhX8iRIaZK6W7hK+hA7o9Jig1tIA3EqBLzg1?= =?us-ascii?Q?zGNpMOevEKab30EIBO6/oyUrm/Pnn9LxGFgS3wc5gLTY4JdB+C3xdYPUrIiZ?= =?us-ascii?Q?bpWgXPLuRmRkdeWy06edQpzaJ5BHOsZ3cKeGkUJqoq67cpjVuesrFIz9DyYW?= =?us-ascii?Q?kjgjKujKS+MsngmOwchegWzycEui9Gf6gLW1bdTeInuQIwJDhB/tSnGHNEbd?= =?us-ascii?Q?I0IQJAyQGJrbvtr75K8mAwEzz5wz7EAVW2aE19lATTMJ1DaIyvdf6uJq0Bx2?= =?us-ascii?Q?T/wY2vSzLezsDwvojWeBYyaplTTvc6kZyB1rVm4BucbXzoC+ErDAhSYz+E9/?= =?us-ascii?Q?4/F6dx+s+8keGOh6pcbxyPVq4j3PfUUv/Hn0Bxuuws6rjJv8QDFRNxgzvv5X?= =?us-ascii?Q?CjO5IUpkaED77+z5oDlZ9hlYX5rUqHOUoIFjCx18CXIiI+/RpFvp+uTxUE4g?= =?us-ascii?Q?rEfx+sABj0TItOzddn07lYDVABKMDOjwSGSE1oCCWiSpknp5TwgEayzwvBI9?= =?us-ascii?Q?wX3RtGvRtmniCZT0XhLB9yOlktpjJWPyioQjHK7JjvHmfJZ1h7hDnUYPj6n9?= =?us-ascii?Q?EB0u6EeVTQNP1OyTONcJTAuPWossQbN591Ox93Wlc2nYmKX7N+IIYQu2F59G?= =?us-ascii?Q?NUnKqCAbxTAs+DwPf2zYE/9d7KnQvZ3DdC+WYIHcgSnkyuusUDMWcJTToOwA?= =?us-ascii?Q?vwNnDaacdb8bn1hUEiuFlBJwkp+K1FlzumaZAFj+fHAuB6bROWCZOmEZGgXt?= =?us-ascii?Q?yUa0PIQAe8hO40ObMgRIp9WooevUiz7c7l/rntoWQ4Zf9XcdZkxgzxd0qGZb?= =?us-ascii?Q?Jty41u+/Bmm27l769Tdc67Lq2O1awn7A42MaDNN2dVbRRmlmAKzq5ENJkM7S?= =?us-ascii?Q?FBTC4EDhfss/LoZJuHcVVMbB6PO1q3YOMD6SjYTrBt2D43aaPchdwPbKW8aU?= =?us-ascii?Q?J5N+9Ok3MBit9Q4rQneWDn7oZ0WQ4ncSI+iAbXBNm+uPEcx1ca/Dxu/am+7M?= =?us-ascii?Q?Xg7SADcud9hijQphm6iJDp124V3x9NJvuXhCtzOKG3yYvRIb6DQF+BnjEbbv?= =?us-ascii?Q?NgyeWHS0WR4zsvyhAzOAMnCOf7HxZVuYMOjtm/MuFYV9GOZdkWXA6w65H70h?= =?us-ascii?Q?R0X6iV1jLY7Z7iQ71SyxeaAwK7FxfWlORochYEWDRwRK8PIRLlLjL/FmT5/F?= =?us-ascii?Q?RnFEH4T9RZ4yUQDCtoFrE5GR+E0BwCX0DLx?= X-Microsoft-Exchange-Diagnostics: 1;SN2PR03MB1934;5:XoD+NwELE6loiyjjLQifiUHcKy7CR7mM53owr6HgZmVBNJgct6C6Zv7qRpKOymaIUmTJ9oY+BABoMfQi2m5+lWr0UdnHrdk2U5sk47tyP9vktvMp1oVyfojdUKXRvvAni+7HZM1G7ULeTbFu3Pt5JkkQA5V+XpnZCsNF7U2l3Oc=;24:Gwk9pEd1DoZ4Alth6tvNcIk1MZN1NNkSP87LFGpqHnSCdb6sDvU8ilNT6RRd0ZdySwK+NMI6yuSoVu3GtyqOQhej/72Q622IfIIL5aIYBgk= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Jun 2016 15:06:30.6766 (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.158.2];Helo=[az84smr01.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN2PR03MB1934 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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_ENABLE', 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 bb5affae0850..7b46ed0677a5 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]); -- 1.9.1