From patchwork Sun Oct 27 12:00:08 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: "Peng Fan (OSS)" X-Patchwork-Id: 13852503 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id A90CBD116E8 for ; Sun, 27 Oct 2024 11:55:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:MIME-Version:Cc:To: In-Reply-To:References:Message-Id:Content-Transfer-Encoding:Content-Type: Subject:Date:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=tll9CQpoI2JYPFCpRJcMtd6vZ7urFG2dHGkXxAOPskU=; b=PoDv+DR2Qag+/XOAd0cH2M2m8o NrZV0zjTx1T0eKpjR1ox5ZllUny6/6yI8m7dnymu92Bv9wLulpHbZOviRrM2vEIDeuERe8ok/IBxq 2LIH+yoL+GIku/VJBwcPbptcQnWHZvGEHXGqeRg6WqGGx0ztYA3soaRMxdDz0A+7857L91au8vaaf eOC9YKU6Y8XIvLZLayLLgNc8w4v+1sdgXv8BessUIqfbMPbHIb+HOPVe4K43yG0mo6C1UeCnY5cWi G8Y05hUmZ0kX5l4KSmMpOK2P/SlhwR/s/eRJo8L9GXe2o4yRh+eIq/zmBuzd86Pqfk9qBXS0m0DfV It0L3eCg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1t51rC-00000008Au2-2Hc5; Sun, 27 Oct 2024 11:54:54 +0000 Received: from mail-vi1eur05on20623.outbound.protection.outlook.com ([2a01:111:f403:2613::623] helo=EUR05-VI1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1t51ma-00000008AKw-2Vt4 for linux-arm-kernel@lists.infradead.org; Sun, 27 Oct 2024 11:50:09 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=piBVuTTKK06eVHqGqS43YEnuv9Z9lJ0g521YaOyihZnFW1/aJIvZvjdSiuN4O3WOlpQNCNaVTmd3wFRjhtbKG45/T9wV7DhSK8gqskPk/gO8dsn/4Bc+N3dQsDPwBrSnYNmJPHp7rrPYsakpdMFe9Pv4OJFRb6Vhvnw2D4l42jVMh+2lVqcuaPqD51SS3NiwXBSUMjzbTIGrmnRbKr+l5jGt7Eey+2fdlVtCXxJ9xArRk4JwGPMEpu06Vd1aiDDJ+rkMG+HhZTMzZE9TE2tSwKnHynH8TPDx4pmuLYvis0k/jaX5X8jnfSITwKcwB+ffgO0so6ALvCVNJYKOhZkJxg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=tll9CQpoI2JYPFCpRJcMtd6vZ7urFG2dHGkXxAOPskU=; b=xwOc0zGRpcFFjA3pMTlXRC/tfqNd30tGlAQteqAJvQc6oMxuUMGr6eRS9/mLVTmaT/7ItZJObzR1Q2UU2BlW1Hehbg9DdzyeIn6qkRAdgGIlbIllEGJb+HIMy/IvCFYG337/pGYH0NEEsuHHutnUTMy4Vr76bxvC6/da3NQ4XgmCE5xy5ZgSnyt6ubDEOsqWm01qQDm4w6LMn1eTq9WByiBx3jeOEFtkUogjvyCmhlV1M1n1PvqT2ipQ7wKFDOsw5/pFZ010ookIg6dAtTSGFyttPunZ9yMbe6f9hRBOY7UNBeIwUTzkmCMusVOU1LjB3bMgJG/aPCpZQmYBtM+78Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector1-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=tll9CQpoI2JYPFCpRJcMtd6vZ7urFG2dHGkXxAOPskU=; b=YQcTkaskB3Kf4CuLdrp72dQroFURhmPGTQReBlZOnKaVABcAwwGXgpurBVFcXeArX+pmeiRGTd9aEnyULn2oN8oBYNXI5OJMCGuphLeHUh0ccCfUfvAHlep3x5YXL7s74/QqtlxPOMOzPKDlvIh+4qx2QArWS5ucWQBEtl83unlucKt0L3CS5dMMH+d5kgwFXOgLMKYV9f7Z8AuS+uANiB1cTFrMlOk+4joxUh2OtFU+dOMiJl17FwyxSnq9O/PAOrHhz7ZXj3xl6vCwvK4yt9AUgngTLOOVC8d2UCCdGJe2KcKl6p0grdEhb95YLyn/AgjdeV01fuk3GOW1TfGutw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from DB9PR04MB8461.eurprd04.prod.outlook.com (2603:10a6:10:2cf::20) by AS8PR04MB8689.eurprd04.prod.outlook.com (2603:10a6:20b:428::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8093.24; Sun, 27 Oct 2024 11:50:06 +0000 Received: from DB9PR04MB8461.eurprd04.prod.outlook.com ([fe80::b1b9:faa9:901b:c197]) by DB9PR04MB8461.eurprd04.prod.outlook.com ([fe80::b1b9:faa9:901b:c197%5]) with mapi id 15.20.8069.016; Sun, 27 Oct 2024 11:50:06 +0000 From: "Peng Fan (OSS)" Date: Sun, 27 Oct 2024 20:00:08 +0800 Subject: [PATCH v3 2/5] clk: imx: fracn-gppll: correct PLL initialization flow Message-Id: <20241027-imx-clk-v1-v3-2-89152574d1d7@nxp.com> References: <20241027-imx-clk-v1-v3-0-89152574d1d7@nxp.com> In-Reply-To: <20241027-imx-clk-v1-v3-0-89152574d1d7@nxp.com> To: Abel Vesa , Michael Turquette , Stephen Boyd , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Aisheng Dong Cc: linux-clk@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Abel Vesa , Peng Fan , Jacky Bai X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1730030419; l=1523; i=peng.fan@nxp.com; s=20230812; h=from:subject:message-id; bh=Sv4CHyV16UexiFdZ+yIX03Ey/S7U3vzUPoU0hMATx6E=; b=49dTChbtqNlnbbplHLJZs31aa3JMeZB8wQmI3HcIGYjWcHArhOOQo1+zpUfbsOUg/q8r8bdpW raQGeeSPMZSDY/3QieffMt3cBIzDxzf+6Kjj9SfZTHUnJwaVnajluWv X-Developer-Key: i=peng.fan@nxp.com; a=ed25519; pk=I4sJg7atIT1g63H7bb5lDRGR2gJW14RKDD0wFL8TT1g= X-ClientProxiedBy: SG2P153CA0011.APCP153.PROD.OUTLOOK.COM (2603:1096::21) To DB9PR04MB8461.eurprd04.prod.outlook.com (2603:10a6:10:2cf::20) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB9PR04MB8461:EE_|AS8PR04MB8689:EE_ X-MS-Office365-Filtering-Correlation-Id: ff829c43-855e-47a4-77cb-08dcf67d8074 X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|52116014|7416014|1800799024|366016|376014|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?GsBQVIKOTWdoC4d3Gx2ojTX8LjYBVlf?= =?utf-8?q?7mnvLTKehsX/4sGZMo1317AZcNVcmrUg29BOqwu07mQP7MhkTSwp2ZB140LOHFpEC?= =?utf-8?q?ZXDRQnEk1pFPy165IbV3Vh3bFKi2U7h/hCSNy8Am1WNUaIWYa/Qqnl/r8AFv168et?= =?utf-8?q?RFis9sxhDvBqNJJCpJdM5bXey0qtPBfcAN+NBqzVJRIJss3YKq8VJRmgMz42XTar3?= =?utf-8?q?n2+s79C2GuL7XrxjoYhF3Hhqijx+dxaAOalK7hsSHNlLLjqq8x5C+5XqliOiF8vf2?= =?utf-8?q?P1CVlk4VOGZeO1iLXiAk+RZrTBg9PEl6XSFhG61Ah3KdYD70LEsBtWKk7bQIAgjsr?= =?utf-8?q?W7AqX6AJgOI/N69vseRx4PucOLFIKG+EDXX4WPYszHplF5Z3gKWNjAxfscP/IBdT7?= =?utf-8?q?8qU9J37f1nrhxjVYJZtRRI/OEG5TQWAvv8WczBlIUbDXYW5WO5MTwC9gJmoTN12vj?= =?utf-8?q?w76LcqP5VjHbtr0ATiWP218ab3b9R5kJaXsNU7cipcCWBDNZtziuUZwTzMLAdrqOo?= =?utf-8?q?Vc1n2Gnr2Dz389Rht34hS4242lFmuZnNmJ4Q6nT3sfa5d5adIMpS17R0mFWVRHAn2?= =?utf-8?q?Vlke2/ZcRbSzef3uVUoyGqrSE3rpKhAJCUR3TV7C8INM5b51rZlovgREgrFlFxSTw?= =?utf-8?q?Z13jiB2brsuHen76dY2pWwcdwYaxKwF2o1B7lSuvAlaplVVJUPMQXCwfT7PifBSBk?= =?utf-8?q?tuem1XirFk1KPGaHn0Gx/0fGuTvnk0tV8kwes9k/dW6A2qIWNnOsP8AkRLhe9zRWk?= =?utf-8?q?PLhthUpguW5M0tluAnoraTkpSP/0tqdKG/SCtasytQg3jITYMNjuCwqTsuWZyEIrM?= =?utf-8?q?tkFNnKt9SgkoJqeQOPCoF2zo0yDBDb4ysl4rpr6xqygTVbVFZoxT+dqnjUdxW4xvj?= =?utf-8?q?8ktfSteYQeYMChivJKGGlMmnN3qKH9ZkpQm7XMxHyEibB6ZPKrw+ltueD3MszyXQJ?= =?utf-8?q?lKx6UZS5Pl+CBXxLy2fyjFTAPAVYW43oCfX7YTOOHfMKMYZZ1dCaBoyBErdb8DhTI?= =?utf-8?q?BrVHLO8C9INvCus9CGmQngAh/KzIHhyqcTvEGmR3uMvtn11NjdpwSkaVDxaStVjhK?= =?utf-8?q?c8NLV12ds60WRup8zCVYdGxBHOniWRbW9YA71lU8KH4u2f8mXevSsVRnnsCbTtaKF?= =?utf-8?q?e7/oNQUcaafpkmTu4l1PbU/481kLROFl7wSRhzGi+kR46pKWRVwTCRfSGdsDxscD+?= =?utf-8?q?+6rOSYdpMRImHOlcdO8aQg8xV/x2ohqOzwM5fhNKS3GXGEEXJv3VYEVDRG+4yprsz?= =?utf-8?q?vvR/kQrVpVn/lc9BjzAKgtNJTaJo/YLGQ/fdYZ/ChXdi03wYLkbxFuSw=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR04MB8461.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(52116014)(7416014)(1800799024)(366016)(376014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?PNlzkrRYqFEg8QGdcIHZ//6WVn9e?= =?utf-8?q?opatXWLAf6kDProyRmq0GRRb61OHZUiatJgYfdHph45kTV+YBlu7XmMov7ZCaaGKP?= =?utf-8?q?JDLxxluKsG+UXhAkbfnzTCXy2EHXMCWn95y5VZBe/t60cqd7QmjGo8igN9VsA2kBs?= =?utf-8?q?cJRUyiKbpMEcbnC9QiWxSybBY9wrLp18vbEC3KhfoZEtEZTbyHwNlraRBWfB40FSm?= =?utf-8?q?ITVE7YaT6HMvD2mYHngenVADCPMKJL9B+Mve20SWNIAhuFUhqxvhglHW9umNdTR7T?= =?utf-8?q?J7RqaKBBJmZmVpDB2zckWpo0nqciszmyhHtUnKFwps0eBNXqbAkVXTAUDGjmz31rb?= =?utf-8?q?00CzT/EltYwE7aFHm+ON1kRAdPl0d8BijEBLt+9bB6LPlMJLNUNqUjq8cf/g+MwVW?= =?utf-8?q?Fs0QqaLj1wjT2j/9dTGyVGGyQAxB6wdbxBNyxfDVmwD4eFWxGxwf+cqeDTY4Jb3jX?= =?utf-8?q?wsRRPHB4wHP6j8HzZ9YWaWSRz5uNLIwgY5wCYa0xz8oVNxi0RdxLPH5rFzvMXWcyK?= =?utf-8?q?gORbuIGseczqKLsYDM8DP2Zdn5IRETKoMB0jA/f7D8XXvRVry2cD7uhGeyWPENjYi?= =?utf-8?q?UKl5Y88TaJYc5KZ9jHZg6zkpXmXlfZW4cz7JOwdD+JpVDdNRfOrMJvm2lC57OYh+8?= =?utf-8?q?GlneUlKAJjdYmYXuuOQdkLfsbxXtGUSm3yuP9yifWF8h8Kq19p4eAOZV/FdD6zEcJ?= =?utf-8?q?D7WraSbfO1l5V3OZUqfi1M7Bnm6ZFDuWzhVhPkgLJAa2SkXaTh/CBf1YGFcQ8YMUf?= =?utf-8?q?A/DEFWhbJSvfzi6G6zVlVM9NRt4HTQemATsud7M7UebQpxFkFohEoAxnmnJck+oVc?= =?utf-8?q?CUuHfdRbGCR4IXqAC1WNCC/h3Dd8oH4KUL6FWSYhR1TSASJ8j5qYUAK+Eqz8UmBGW?= =?utf-8?q?FQ3XSZ/FAi2FFr4iawzFh4OX1C3s/3tFW59gcO6/KENSbAiRHy+dkXffSecbrIzj6?= =?utf-8?q?aRV2oXfBPYShJDejVGzfBaBQIbhm1LVHxzQsPCLxNKJxL3do5GLi9mGCsWU/64IZ6?= =?utf-8?q?6XXEOPrX0AB+yFMT5zE/h2EmJb5b9vOVW+P2OlyQysiOOH3SeZwy9ZlRK+2+CpwH2?= =?utf-8?q?ZzgtNlq1wyjwVF81ZwWtcvCrcbXwVGlwl+CuDoanlUEEPK+VtAZJRtyDn/4eDD44u?= =?utf-8?q?hXOEsJ4Ed00yCMRKERPewzB+ITMJTntb3o+TOEfnMvtrk5ZiLvphrG6/MFXep2yZN?= =?utf-8?q?VHj82dv7h6Vk+aW6jtYFvNuuRrFKT/9VPKayqMmPbzl5i/IC5znSPtfkHj8pLRreo?= =?utf-8?q?+abFLod2SU1kRbbsKJt7tcl4+1KULzzuC/HPc8l6FUpQ3hkRfGgG9BaaeckQyPl9R?= =?utf-8?q?YISDo1uq+bXS9h6J/kQDT0Z52mEoOb8Pk1Q1C8b7mH8ZGJXo8LWZ5h14SnTQm8JLs?= =?utf-8?q?DYwcnbuSP7Yy/AWX1OOBQuY9AZ/zYauztq+w5vxGv2LwbKm+l9a//1oivhmj7Zq8T?= =?utf-8?q?9h6kDpE8SswGV1F5meo+YVlxpk7MYp4RQkXuMW4lsGIQLbSJdVFD77MjeT9gicBzX?= =?utf-8?q?FQGaZWKN3shH?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: ff829c43-855e-47a4-77cb-08dcf67d8074 X-MS-Exchange-CrossTenant-AuthSource: DB9PR04MB8461.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Oct 2024 11:50:06.7154 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 2wIsLrDTn//xcATs80vZQV7UC4xs1icLhT900I2aA5/iLuADWkSnMWclpAQm3Us35yO61OQZeuN4Lradzcdt/Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8689 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20241027_045008_665656_10496E9A X-CRM114-Status: UNSURE ( 9.76 ) X-CRM114-Notice: Please train this message. X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org From: Peng Fan Per i.MX93 Reference Mannual 22.4 Initialization information 1. Program appropriate value of DIV[ODIV], DIV[RDIV] and DIV[MFI] as per Integer mode. 2. Wait for 5 μs. 3. Program the following field in CTRL register. Set CTRL[POWERUP] to 1'b1 to enable PLL block. 4. Poll PLL_STATUS[PLL_LOCK] register, and wait till PLL_STATUS[PLL_LOCK] is 1'b1 and pll_lock output signal is 1'b1. 5. Set CTRL[CLKMUX_EN] to 1'b1 to enable PLL output clock. So move the CLKMUX_EN operation after PLL locked. Fixes: 1b26cb8a77a4 ("clk: imx: support fracn gppll") Co-developed-by: Jacky Bai Signed-off-by: Jacky Bai Signed-off-by: Peng Fan --- drivers/clk/imx/clk-fracn-gppll.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/clk/imx/clk-fracn-gppll.c b/drivers/clk/imx/clk-fracn-gppll.c index 591e0364ee5c113859a7b6271c8c11e98a0e0ffc..4749c3e0b7051cf53876664808aa28742f6861f7 100644 --- a/drivers/clk/imx/clk-fracn-gppll.c +++ b/drivers/clk/imx/clk-fracn-gppll.c @@ -303,13 +303,13 @@ static int clk_fracn_gppll_prepare(struct clk_hw *hw) val |= POWERUP_MASK; writel_relaxed(val, pll->base + PLL_CTRL); - val |= CLKMUX_EN; - writel_relaxed(val, pll->base + PLL_CTRL); - ret = clk_fracn_gppll_wait_lock(pll); if (ret) return ret; + val |= CLKMUX_EN; + writel_relaxed(val, pll->base + PLL_CTRL); + val &= ~CLKMUX_BYPASS; writel_relaxed(val, pll->base + PLL_CTRL);