From patchwork Mon May 18 18:45:02 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 6432051 Return-Path: X-Original-To: patchwork-linux-arm@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 6768B9F1CC for ; Mon, 18 May 2015 19:58:23 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 807DB20452 for ; Mon, 18 May 2015 19:58:22 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.9]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 925C720454 for ; Mon, 18 May 2015 19:58:21 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1YuR7q-0004bl-VE; Mon, 18 May 2015 19:54:58 +0000 Received: from mail-bn1bbn0102.outbound.protection.outlook.com ([157.56.111.102] helo=na01-bn1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1YuR7O-0004FH-17 for linux-arm-kernel@lists.infradead.org; Mon, 18 May 2015 19:54:31 +0000 Received: from DM2PR03CA0026.namprd03.prod.outlook.com (10.141.96.25) by BY1PR03MB1356.namprd03.prod.outlook.com (10.162.109.26) with Microsoft SMTP Server (TLS) id 15.1.160.19; Mon, 18 May 2015 19:54:03 +0000 Received: from BL2FFO11FD048.protection.gbl (2a01:111:f400:7c09::160) by DM2PR03CA0026.outlook.office365.com (2a01:111:e400:2428::25) with Microsoft SMTP Server (TLS) id 15.1.160.19 via Frontend Transport; Mon, 18 May 2015 19:54:03 +0000 Authentication-Results: spf=fail (sender IP is 192.88.158.2) smtp.mailfrom=freescale.com; freescale.mail.onmicrosoft.com; dkim=none (message not signed) header.d=none; Received-SPF: Fail (protection.outlook.com: domain of freescale.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 BL2FFO11FD048.mail.protection.outlook.com (10.173.161.210) with Microsoft SMTP Server (TLS) id 15.1.172.14 via Frontend Transport; Mon, 18 May 2015 19:54:02 +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 t4IJrtQw027779; Mon, 18 May 2015 12:53:59 -0700 From: To: , Subject: [PATCH v10 1/4] ARM: clk: imx: update pllv3 to support imx7 Date: Tue, 19 May 2015 02:45:02 +0800 Message-ID: <1431974705-14477-2-git-send-email-Frank.Li@freescale.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1431974705-14477-1-git-send-email-Frank.Li@freescale.com> References: <1431974705-14477-1-git-send-email-Frank.Li@freescale.com> X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1; BL2FFO11FD048; 1:B2l8ob4n30ziUIbtcWouuiN2B+3NaHBxcWyHPf8eCG9yBrXfHz/gLcFQ2e/3uX02AT/wJKZxs3bmkq7DVLgtgbhZsFcmGC4fTEeM0GoyTaBOKERclGR82/cTt1PrJPT46JPoRQ8v83j6LCNCPwE7Y5/cr47bdA40VgZSWv/ZGrxFoSDhl04SsBJ22kob6rECELEaFSk05K+6h5JC26AAbj428/ICbpXsXuCSva5DP03DR0XmMxvn8vDMv9aFd5OGnr9pu5rVZJSgvLjf5/vDmsxJtoio30AzSL9T7wjfLO3Zy0oVMqBNz3td+BPJ99nSIi9R6KsGlp+Ezd4BkHZh2g== X-Forefront-Antispam-Report: CIP:192.88.158.2; CTRY:US; IPV:NLI; EFV:NLI; SFV:NSPM; SFS:(10019020)(6009001)(339900001)(199003)(189002)(86362001)(189998001)(46102003)(229853001)(47776003)(107886002)(5001770100001)(50226001)(5001960100002)(81156007)(4001540100001)(5001860100001)(5001920100001)(5001830100001)(97736004)(64706001)(68736005)(62966003)(76176999)(77096005)(50986999)(77156002)(106466001)(19580395003)(19580405001)(69596002)(48376002)(92566002)(6806004)(105606002)(85426001)(104016003)(36756003)(87936001)(86152002)(50466002)(2950100001)(4001430100001); DIR:OUT; SFP:1102; SCL:1; SRVR:BY1PR03MB1356; H:az84smr01.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; MIME-Version: 1.0 X-Microsoft-Exchange-Diagnostics: 1; BY1PR03MB1356; 2:GoRJ7YraxEBYc9ZY7736Q91eo5K7kmTW4JzRCehTM2eSAFckndgt2hTrDnAm4EWW; 2:KDXwaXbKHqlWD3/uLEsUP4dJMn+GuopLPrEZm50vj8NuiENGKNkiF44jJhjRmbKblJ5kV0VM++RbK8giS3b7c1y9lqb+GionwAmKmGplcQoTqPREEcqDpQsYgv1t7E1zolAdFooUIqIyNOYWwEvsMs+ayfytCkIYCEGshDpS4lYRYJhJvjXxNVr1yNQBpGy1KxxgHORZF9Ee3JifrrOwX0x/kvEbRDYrfHIbTctlvnM=; 6:BRKxMeKj1JTl/t1jOergm2FCjwgZdmrsKjc1GCNY/uzD/Z/9vN/BuKjyIHea+UkGxc1cOkcCmYq9O4PL1FESvmwOfOqVf1np4Zm6X8DVoExMqr91Afb+qsg993BaEr7xdS3JnvWCpz6dfh/kXvgu2T34ZmnGKwVKHVl6As0MHPSwetADWGh3iSwOgGWrfVEwzm58hEXOOzbSdwtA0BqN/vHfOPFnwq/xab9iX248WheuwhinIMljUrbWU2TWpFSd1VjxpNux4d6GZQCQMfQd9TpDAn2wvJ5IMVatywo0REH/Cm73QTB6sKZ+W4T9jLF9FgFib32iIvra+RhHP73ueQ==; 3:6ux+T1DN+R/XMf4HVv2PwjG0fBS0Yp2SRGlXf2ZD4s2UYDU2TXHzxAx1NnMTWVLbA7+R0uPRtU+vTLwopvqsCC0zZ3fvw1drv53j+mARrg5aBzv+aRdPe8S9sQiUFkMKiUEDaHI67ayEaEVOlHKf945AnUJC2CV4tqOI8zzMaYrqvPifQaIh936pFE+AZyJUpxqhd7ZxSagtTzaCUSOz14tMkfyf0dJ/GCg76WJTs9dctg0NT2hf/zXMC065QJ9UIDnUvm8SJweunuTtDYirWszuzu2XNatmg4L9FlKnSXk= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BY1PR03MB1356; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(5005006)(3002001); SRVR:BY1PR03MB1356; BCL:0; PCL:0; RULEID:; SRVR:BY1PR03MB1356; X-Forefront-PRVS: 058043A388 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY1PR03MB1356; 9:ygFMp2jZkJ2Cd0zmJ5E1+PCxWXsJo3O15gt9Lr6x1p?= =?us-ascii?Q?kigAR8wKID9oRnE2FnmIIGhYKVwMtU09q+8AbGgdNxwC+6PuKn2ct9nIuoYT?= =?us-ascii?Q?kSIiQfyAQvwHunvQFs1LZKCRysmxjgBueQpkqPqX4jB6d06zqO6HCwMp3SIJ?= =?us-ascii?Q?cUH1MLpEKHQ0MJyFtMaiXb2jywDEy1781yQM05gbmEm6cQU0KXtt44vaPzOA?= =?us-ascii?Q?eO/XWGTKQ+k9is0nYWm2w6tq8FJPVol7zOxGNFGUcHjy4L3hTWhWhURNMOQh?= =?us-ascii?Q?pzzW+3R3PgUoTPW3Nwegn/MPLjDDOvR/RH/3eridrJIx2JAnO3HuJiNqYNLx?= =?us-ascii?Q?uYNux39zlIRoEGzqT2yhQZUPM9WCVFQF8a2BSv4SDhYnUDkFmYiWjR3wenhT?= =?us-ascii?Q?+SHUZ7HqXcK+LSTgDEGlTkmlDojtoMz3YF99s0YMr8Xr8OeReUtZ91XXedj+?= =?us-ascii?Q?ANVAMH6P3xQeC+g0NVMtUJJObEI1v/gC03heJy8OhCZP8S91hq3FBTTJGS3Q?= =?us-ascii?Q?VLXnB6SsVTwcw7roC7ghIwNTtCDfKInp2vtzeSnF6uP3AV7/LaBd9QptTO8O?= =?us-ascii?Q?HAwncS+KAptAyhu0VjLNAF03xGifo2D7yGkgaqtsJSqTRNSnLIZLx06OMSMy?= =?us-ascii?Q?Pb2ZQBS90e3A2P+DItgh6ymgqN3opqG/RFG37eTQi5hidEghNE/a5foSrqHm?= =?us-ascii?Q?qMgY25FgXfj3hGr7jokLAXXcdFO2ub0uXZxfnk1H1SeN/rZxkr1Yk+V4dlLH?= =?us-ascii?Q?i9KWN2W8X0b0bIYXpxFmaiox2JnVqtDqaIoKKIMsV2l3HRNYjhlxLYPxYSmk?= =?us-ascii?Q?B6MVVEKzhSOBjXdu6kg/Amz43LESev0hSvC7CryJdl8wtPdDMC5p9xETSksC?= =?us-ascii?Q?RJmeoDcmmILSHY3YVZFKRJxAtVjs0pL8tqdgcaMiGqM3myb5vRCOzhoXOEUC?= =?us-ascii?Q?EzsN2706xda5UJWL0RxXhkz35jAIFxU+QYczBSD1yQQhAEPUaqu22leNW5Pb?= =?us-ascii?Q?h/cVH9gfvo2OahMZ/IX3lAzN1Q2BSrPc11HFcVxP4V8+MCZcKNLxxLE2/my5?= =?us-ascii?Q?PY3j7eNcVWsaeTekuQ6JPNyA25dcDQKyrMKRT0WZ3y457Bplrb7r9AcODff0?= =?us-ascii?Q?kyrXIhzXYnZXCVhOt6jOYHX5L+Dh1I?= X-Microsoft-Exchange-Diagnostics: 1; BY1PR03MB1356; 3:yjtP2NCxrnlSSeZhbjKKbEjgbmiES4lacD4YoK92h++yhIND2CauAMreA936NeZKO/vjvt/DlULmRkhgtyBJK5lmi8H6EBc2sQHHy+1EtCX6KTTQpihgar+UL5xMZe6FJiLY2WU35u/HS4r4ELQKMw==; 10:gUsbluRs2pMrK6dTPC8XezF/UAmeA1IL4vxigLWG4AE/2wkYzQS+6huqvcL9JUCbnv/RUb0AqoE2ds5cNSK55e71JtrfXdcF8TcbE6GP55E=; 6:7ajWL/xRFPjSOn9KhGPs8QLnptPQ0thJANJKs/aew+4fE21yfvG1mIN8Y/tM5pyC X-OriginatorOrg: freescale.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 May 2015 19:54:02.3591 (UTC) X-MS-Exchange-CrossTenant-Id: 710a03f5-10f6-4d38-9ff4-a80b81da590d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=710a03f5-10f6-4d38-9ff4-a80b81da590d; Ip=[192.88.158.2]; Helo=[az84smr01.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR03MB1356 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20150518_125430_412594_F39AAC50 X-CRM114-Status: UNSURE ( 9.35 ) X-CRM114-Notice: Please train this message. X-Spam-Score: -1.1 (-) Cc: Frank Li , linux-arm-kernel@lists.infradead.org X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Spam-Status: No, score=-4.2 required=5.0 tests=BAD_ENC_HEADER,BAYES_00, RCVD_IN_DNSWL_MED, T_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 From: Frank Li Add type IMX_PLLV3_ENET_IMX7 Signed-off-by: Frank Li --- drivers/clk/imx/clk-pllv3.c | 9 ++++++++- drivers/clk/imx/clk.h | 1 + 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/drivers/clk/imx/clk-pllv3.c b/drivers/clk/imx/clk-pllv3.c index 641ebc5..2de1060 100644 --- a/drivers/clk/imx/clk-pllv3.c +++ b/drivers/clk/imx/clk-pllv3.c @@ -24,12 +24,14 @@ #define BM_PLL_POWER (0x1 << 12) #define BM_PLL_LOCK (0x1 << 31) +#define IMX7_ENET_PLL_POWER (0x1 << 5) /** * struct clk_pllv3 - IMX PLL clock version 3 * @clk_hw: clock source * @base: base address of PLL registers * @powerup_set: set POWER bit to power up the PLL + * @powerdown: pll powerdown offset bit * @div_mask: mask of divider bits * @div_shift: shift of divider bits * @@ -40,6 +42,7 @@ struct clk_pllv3 { struct clk_hw hw; void __iomem *base; bool powerup_set; + u32 powerdown; u32 div_mask; u32 div_shift; }; @@ -49,7 +52,7 @@ struct clk_pllv3 { static int clk_pllv3_wait_lock(struct clk_pllv3 *pll) { unsigned long timeout = jiffies + msecs_to_jiffies(10); - u32 val = readl_relaxed(pll->base) & BM_PLL_POWER; + u32 val = readl_relaxed(pll->base) & pll->powerdown; /* No need to wait for lock when pll is not powered up */ if ((pll->powerup_set && !val) || (!pll->powerup_set && val)) @@ -293,6 +296,8 @@ struct clk *imx_clk_pllv3(enum imx_pllv3_type type, const char *name, if (!pll) return ERR_PTR(-ENOMEM); + pll->powerdown = BM_PLL_POWER; + switch (type) { case IMX_PLLV3_SYS: ops = &clk_pllv3_sys_ops; @@ -306,6 +311,8 @@ struct clk *imx_clk_pllv3(enum imx_pllv3_type type, const char *name, case IMX_PLLV3_AV: ops = &clk_pllv3_av_ops; break; + case IMX_PLLV3_ENET_IMX7: + pll->powerdown = IMX7_ENET_PLL_POWER; case IMX_PLLV3_ENET: ops = &clk_pllv3_enet_ops; break; diff --git a/drivers/clk/imx/clk.h b/drivers/clk/imx/clk.h index 6bae537..8b11218 100644 --- a/drivers/clk/imx/clk.h +++ b/drivers/clk/imx/clk.h @@ -39,6 +39,7 @@ enum imx_pllv3_type { IMX_PLLV3_USB_VF610, IMX_PLLV3_AV, IMX_PLLV3_ENET, + IMX_PLLV3_ENET_IMX7, }; struct clk *imx_clk_pllv3(enum imx_pllv3_type type, const char *name,