From patchwork Thu Jun 30 09:31:16 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aisheng Dong X-Patchwork-Id: 9207117 X-Patchwork-Delegate: sboyd@codeaurora.org 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 D5396607D8 for ; Thu, 30 Jun 2016 09:39:51 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id C4DF8284DE for ; Thu, 30 Jun 2016 09:39:51 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id B9A2A2865F; Thu, 30 Jun 2016 09:39:51 +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=-6.9 required=2.0 tests=BAYES_00,RCVD_IN_DNSWL_HI autolearn=unavailable version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 4D992284DE for ; Thu, 30 Jun 2016 09:39:51 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752242AbcF3Jil (ORCPT ); Thu, 30 Jun 2016 05:38:41 -0400 Received: from mail-bn1bon0079.outbound.protection.outlook.com ([157.56.111.79]:3719 "EHLO na01-bn1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751698AbcF3Jii (ORCPT ); Thu, 30 Jun 2016 05:38:38 -0400 Received: from BY2PR03CA055.namprd03.prod.outlook.com (10.141.249.28) by SN2PR03MB1934.namprd03.prod.outlook.com (10.164.114.158) with Microsoft SMTP Server (TLS) id 15.1.447.15; Thu, 30 Jun 2016 09:38:35 +0000 Received: from BN1BFFO11FD047.protection.gbl (2a01:111:f400:7c10::1:160) by BY2PR03CA055.outlook.office365.com (2a01:111:e400:2c5d::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.523.12 via Frontend Transport; Thu, 30 Jun 2016 09:38:34 +0000 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; Received-SPF: Fail (protection.outlook.com: domain of nxp.com does not designate 192.88.158.2 as permitted sender) receiver=protection.outlook.com; client-ip=192.88.158.2; helo=az84smr01.freescale.net; Received: from az84smr01.freescale.net (192.88.158.2) by BN1BFFO11FD047.mail.protection.outlook.com (10.58.145.2) with Microsoft SMTP Server (TLS) id 15.1.523.9 via Frontend Transport; Thu, 30 Jun 2016 09:38:33 +0000 Received: from shlinux2.ap.freescale.net (shlinux2.ap.freescale.net [10.192.224.44]) by az84smr01.freescale.net (8.14.3/8.14.0) with ESMTP id u5U9cDxK010090; Thu, 30 Jun 2016 02:38:30 -0700 From: Dong Aisheng To: CC: , , , , , , Subject: [PATCH V3 6/8] clk: imx: add clk api for supporting CLK_OPS_PARENT_ENABLE clocks Date: Thu, 30 Jun 2016 17:31:16 +0800 Message-ID: <1467279078-2330-7-git-send-email-aisheng.dong@nxp.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1467279078-2330-1-git-send-email-aisheng.dong@nxp.com> References: <1467279078-2330-1-git-send-email-aisheng.dong@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131117531140760123; (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)(1110001)(1109001)(339900001)(199003)(189002)(2351001)(586003)(68736007)(36756003)(50226002)(229853001)(85426001)(305945005)(47776003)(86362001)(4326007)(92566002)(356003)(97736004)(33646002)(7846002)(189998001)(19580405001)(104016004)(6806005)(2906002)(19580395003)(69596002)(48376002)(8676002)(5003940100001)(2950100001)(81156014)(8666005)(110136002)(50986999)(81166006)(87936001)(8936002)(50466002)(106466001)(76176999)(105606002)(77096005)(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; BN1BFFO11FD047; 1:Lvb5C9iOOSl/DbHRgfhfCwo/85UBLkUI3Cfumxa4IMSjw2Qo772kbJ+iF0jcOTvmC7lAtzZeDvvc1py761asGRZmgnFGm03+IG9w/6kB0Gn3FKOv16rIKMaQioR6/v3G2wszNAaQ85gOal69svd6Nv/+NMZi0rnjI4kZ+kam2BetskmWB4/u4yPQ53m9XoYkc1+NIlbRJCIkgqYFgfXgzgml88GkaKpefyFArFjMKuuF7ErTsRpL67/D4a5ZQiBLoMy7vmo3ox2Hx5DLFf+bb2UhR2AFb9gzW8hsbwIJC6PCoBf/pFDV7ygGMgndgsmM21nbF4xEWbhd18cVkCYo39RdT2D7MvE4NqvDs/zfG24XKqnNshvV+GjVYezML00WaeUBIVymolNNE3nYs0aSq3cpZjrhkGsC5neCeu/8PBVuBrJ8zpwUjPthEIXW/PcYelZKluJVo+uNjtU5x3OKQMhtZLDGP/BO50Ri7VSZiJ5vgbzfFKiWIHnLb6qMvUzIjD/pmr6M2Lo044oEui8qPLEoGsR0Hfz2IuEVF9fUiNy8pEnafynDS7ZMwxfC8SypEfihdUtYky/x+Dqw2NgjAUXusakiGb1B3/SYnczelY+2VsywTxS6SraYUPRnFVWQuBnjGrbxzzvhmhNctQdKKBLVXGWe1JYvwq6tgtd4kejGBE0qztkUGg49D6Njh0IzyYiQt7MiYrbnyoa5HvfxUNphZ0vqOUCsuKRQt+AzIlMuwkqKJHQTb53RZ4miS9b4 MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: 2294a8c2-c479-47fb-40de-08d3a0ca4ded X-Microsoft-Exchange-Diagnostics: 1; SN2PR03MB1934; 2:R66VIohGM4dIUzZicWNno6YIZHDyEo446OegjKH2eFTeGb+95j23XDB/FZxuIBhQ8Ayf95lAzEcRRs7FAQOql0I6lJDtvQLDj3MsqwtOLbN+INCADNs4MDYeGTP+B6ey1Hpgoein/oVUOlTxiAfqAs7w1E0ohKJHZbpe0XrYU00Pb/0UMlLC11bcuD4dSsGz; 3:EeSvE0idcGstDQ7WnaPId8iSpD17w2RJVkG8xvf5FgXp/mR0iPAYt/a48bQtF/8J5qB5ljxFy9M4hR7uioMGMfWGWW2hVwlvBekXl/SRRA+t/AvkSMpuJd2MXpjBSrG7AKt3nnUxL1qLqLoTNN3rZ51TLaQiND0vJsS7Z5nERuPg1LMzm5B/3qzYiyNJwAnZr3r2MYTeq4h2Q3+Odmu9quslKLI6nzzCr40cEuHdXRc=; 25:pIEkm+xMyHWycgVuz8xDBmhnXppqId0/Pms8jXXCekFKxaLpKwbxqxMrU0OiVozGA3hoXcDJYZe2GmNLjEhaY/LSZ7vb7QXW0IcTICXqLFCGVa+a7PWZx/HErLbDtinYp6uRQH/joRI/pN4fDrHaYvnbnUO2jJ9gP07l5rJzyCmZ2p6X1AK2LETIRq8nKAyDkdt04FDa0kZCPDEzhTzc8oHPOeLNMq8OuqSapmCvWOahKJUNee8ajnqyf+mGWUrt 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)(5005006)(8121501046)(13015025)(13018025)(13017025)(13024025)(13023025)(10201501046)(3002001)(6055026); SRVR:SN2PR03MB1934; BCL:0; PCL:0; RULEID:(400006); SRVR:SN2PR03MB1934; X-Microsoft-Exchange-Diagnostics: 1; SN2PR03MB1934; 4:v3T+epdIeaCDTy9/OUJO9cNyB0+OPOEUg7q4lPwZOo7Y5t5Idx0Wu1WO3iVHTiQyTqWroT/0V+8RSkb14XW+eiqbIXqaxrcxKyjTjuhCb0H8vzJ7JSbt3G70MK0+EuNm9iTIqSUSDaCnl6PA8pwttrxBXC/kvw+czte5CoCPi//z4y8LZAjINkWGbAmVPzDmJBI/kMpdXvI0aiHm9NrYQe2Xt+IGi5yMPXRHsQ9FxxbjlgtW+AGpMPm/HoTepXdB4QnSnDc4EqwKUJ+QnQ2uqGwdDpj2/MpsZIRr6bwgP1F0RN4nSR2jLgDlyIttGryIBVII+s26v3EAicKDQHg5Zn4x3j7qSSwa3sonQQVl7+bWnGI+oocN+5JYlORTzUzYtkcPSOkkH+NDqEjQcoOya58wbpTR5WExdyzMloHhtSco2DTvBUmPKzC5IcCp/rb/xF8Hzv1gXE/FXIU1CFYAS7vwBv6ggFV1bKXuVAAXCk0jpYafzhd+mvgzNl2Hn+ApcVf4ynVNcj7vheZk9EbyfA== X-Forefront-PRVS: 0989A7979C X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; SN2PR03MB1934; 23:Er9WCsrWI+s6n9ISA0MfQakUxazJYzGSBEUQGBELY?= =?us-ascii?Q?A9NUT4lBJERqd4wJLYWG5j0PrcT1rEaYY3BBq7U4043KodOxYVsPuPUbyvbf?= =?us-ascii?Q?j0xdfg4nFa5cbKOyUUBceBMLenMRnrCP0Eo0mRnn9eKUYKOzVoq95Wn8cM4u?= =?us-ascii?Q?XmRbAI31aeKMCD3KD62n1zwppl21qd/HEkGIRLbzfahnAyFQMYK2+ic/K/lL?= =?us-ascii?Q?JsMnRO3vDBnhTSwNMPdzw6qHLNFYaOX6aNjuo+R9fvxMO1Dhp0I+AUePaDQT?= =?us-ascii?Q?VixQajFKMlif6nb0Ncvn4YvAags4OrmIShqJF4QwqfdmpB4GeN0hLnqLNS29?= =?us-ascii?Q?qcbWiNxP0nMVSGptRFigkKmYEz2Rj6lRHFLlB2MuY+6QZODwZYDK7YfrzViZ?= =?us-ascii?Q?w+FDNWUVyzywGaWDrUycio6zv4MI9K/NbQs7KHQAuqjVxlPLCyezrLU7frgS?= =?us-ascii?Q?sjcrhJIU0ePaWm2ze5xvzt1FqjR68FSt3I1IsEJ+aG2tsRThzpEQTfjWa4mR?= =?us-ascii?Q?rxysuUmc0eiVmmesV+NR508exzDF7flL9oigBsEdTlAdMdQUCpBb8LV5P00s?= =?us-ascii?Q?8GUI5h86eLRGOSdlpTgkJ0/v6FzjyMfpmRJSEVrXD0gF1Aa0492pGpkTdeSr?= =?us-ascii?Q?NhzLmU25iCKLMo+d5y8416tJyLbF37RinwiHvITxRhjljKuUlSF6bmG7L0e+?= =?us-ascii?Q?ITgwBKpruZfCm7stnTBOVV+QLVHw5187Q7r5JTusrR7aYhIup9jvAsUeF1sV?= =?us-ascii?Q?kjhxOpTzmV6AUyt4Qz651u95jdU7UY0ir4UdSiJjFAY+4JmbdBdR11z4aW/j?= =?us-ascii?Q?++Z3++Qq+NRb9WHOD1py5jZ7EbHw3McU/C5kEL/aQr5edhUnCwGyn6jrEfrl?= =?us-ascii?Q?M1SgmvXnw72GMhYwIUfjVHt+kFIIeMGumtSvY4sUcYUqceTr/GGutTl7+TYV?= =?us-ascii?Q?YeNNVI1JMntml/k3x3odhE/r7EihZKUQ/9UD6PnvWNotw8ZaIkHkUMGl9hyn?= =?us-ascii?Q?9WxqG3OLhpi6JNW8tadZwWaM65ZyZCOPLOBn8bXypY5IP4jaivzqzEJpcrUb?= =?us-ascii?Q?CoB2Nb051JiwEE2kib9UKJDvEClL1AFZBQf9aKfg4FJeiM8OjS5WlZpa/zbI?= =?us-ascii?Q?Nkn8BrrETZgOfC7e8QO2DBcL0j1cB5regH0eMHw3m4Rp3JHpLTZ3PN0+dRvQ?= =?us-ascii?Q?QdO7xLPHPczDFs=3D?= X-Microsoft-Exchange-Diagnostics: 1; SN2PR03MB1934; 5:Nkln1wjvudah5DGXorVmQ+lR/fMMleMqeckoPhFrnT59WAIBeCmlDya/eFg0FdJefSSv1vQatwzRlDu2Vzz1bQD0FAu7m0H94UP3WgpHaSqTcrGb7LfwLBpogrxx30mPsIWHHtvD39Z/wRHAXOz1ptPAciPGi/GDA2BsEIDaPGo=; 24:Ic2gj4qFKUMaVkQwBnUY78vfl4imYy2QIKuEkMFkPRNona8DMDdcHXRjQYrjZFx11tfzMeFk35rB+5fU0cqLC+NES5ZnSeM7WoYXbdGdHWM= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Jun 2016 09:38:33.6548 (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-clk-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-clk@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP IMX SoCs like i.MX7D requires using CLK_OPS_PARENT_ENABLE flags, adding the corresponding clock APIs variants for easily to use. Cc: Michael Turquette Cc: Stephen Boyd Cc: Shawn Guo Signed-off-by: Dong Aisheng --- drivers/clk/imx/clk.h | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/drivers/clk/imx/clk.h b/drivers/clk/imx/clk.h index 936e235f7c04..a81c0385ed64 100644 --- a/drivers/clk/imx/clk.h +++ b/drivers/clk/imx/clk.h @@ -97,6 +97,14 @@ static inline struct clk *imx_clk_divider_flags(const char *name, reg, shift, width, 0, &imx_ccm_lock); } +static inline struct clk *imx_clk_divider2(const char *name, const char *parent, + void __iomem *reg, u8 shift, u8 width) +{ + return clk_register_divider(NULL, name, parent, + CLK_SET_RATE_PARENT | CLK_OPS_PARENT_ENABLE, + reg, shift, width, 0, &imx_ccm_lock); +} + static inline struct clk *imx_clk_gate(const char *name, const char *parent, void __iomem *reg, u8 shift) { @@ -133,6 +141,22 @@ static inline struct clk *imx_clk_gate2_cgr(const char *name, shift, cgr_val, 0, &imx_ccm_lock, NULL); } +static inline struct clk *imx_clk_gate3(const char *name, const char *parent, + void __iomem *reg, u8 shift) +{ + return clk_register_gate(NULL, name, parent, + CLK_SET_RATE_PARENT | CLK_OPS_PARENT_ENABLE, + reg, shift, 0, &imx_ccm_lock); +} + +static inline struct clk *imx_clk_gate4(const char *name, const char *parent, + void __iomem *reg, u8 shift) +{ + return clk_register_gate2(NULL, name, parent, + CLK_SET_RATE_PARENT | CLK_OPS_PARENT_ENABLE, + reg, shift, 0x3, 0, &imx_ccm_lock, NULL); +} + static inline struct clk *imx_clk_mux(const char *name, void __iomem *reg, u8 shift, u8 width, const char **parents, int num_parents) { @@ -141,6 +165,14 @@ static inline struct clk *imx_clk_mux(const char *name, void __iomem *reg, width, 0, &imx_ccm_lock); } +static inline struct clk *imx_clk_mux2(const char *name, void __iomem *reg, + u8 shift, u8 width, const char **parents, int num_parents) +{ + return clk_register_mux(NULL, name, parents, num_parents, + CLK_SET_RATE_NO_REPARENT | CLK_OPS_PARENT_ENABLE, + reg, shift, width, 0, &imx_ccm_lock); +} + static inline struct clk *imx_clk_mux_flags(const char *name, void __iomem *reg, u8 shift, u8 width, const char **parents, int num_parents, unsigned long flags)