From patchwork Tue Aug 27 20:04:27 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marek Vasut X-Patchwork-Id: 1977456 X-Patchwork-Delegate: festevam@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=denx.de header.i=@denx.de header.a=rsa-sha256 header.s=phobos-20191101 header.b=tq/Zqon8; dkim=pass (2048-bit key) header.d=denx.de header.i=@denx.de header.a=rsa-sha256 header.s=phobos-20191101 header.b=OcIBZ+T2; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org) Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4Wtdn46hwSz1yXd for ; Wed, 28 Aug 2024 06:04:56 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 9D27C88A8B; Tue, 27 Aug 2024 22:04:54 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=fail (p=none dis=none) header.from=denx.de Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=denx.de; s=phobos-20191101; t=1724789094; bh=K1D4OX8OsIQbkM+yJFZ56qPMfO6LDPPqVuw5575ORhk=; h=From:To:Cc:Subject:Date:List-Id:List-Unsubscribe:List-Archive: List-Post:List-Help:List-Subscribe:From; b=tq/Zqon86IXCQT7RAJ+tdqYQvy5hz2tyeYKNNYYfEyRepRatagOE/YOKRokcE6kw6 eeyKCBNpSlgYkthT5glODO0WH9oGqcsQ0zT7aNRC3CY798jpGOWQeAW6ZdCe0KGg2W O1WCnVBD+d8c1f53OQya4QWlnQd+qVBSkDscQcmxCNP28iQ/Y4Gm5l/yHxmYPuToLY F5J9nQbyROy+MGhYYLKy68bjkYeY34JUQ6llEZ/pBF0uYMt4ZJ3O1XrXfhaF5ZRoe0 LJqmJ2AdOfhMhg5n642VKUCCpVgvsWkIGfUtwxnd76lixA1o8diLZ0h+qPgzaAIsaG gG+ELJVloAGJg== Received: from tr.lan (ip-86-49-120-218.bb.vodafone.cz [86.49.120.218]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: marex@denx.de) by phobos.denx.de (Postfix) with ESMTPSA id 6069D88A30; Tue, 27 Aug 2024 22:04:53 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=denx.de; s=phobos-20191101; t=1724789093; bh=K1D4OX8OsIQbkM+yJFZ56qPMfO6LDPPqVuw5575ORhk=; h=From:To:Cc:Subject:Date:From; b=OcIBZ+T2MupMb6EPKBZS2slEHQlsiWMcbkYFeNhie4PcqgxKYBYlHqGlrZfM+ajYs wd8yrYP4Ra/EmBCwWI3QKtVAKSbb+T667LAoSUkqg3sVo3GR2ZwgjVlB+VV5jf9ypK Gick+3F7m5TL0NTSf0Gcw99HdLdM1RJiPL7V5kpIFJeHNJIAIjNjT10n/yqetSFtzR Vw5pVfs2noJ14X83BL047Sc9oEoAxlBW5T5veJYyIr4DUUkoCksw4/6GoPTjkE/LfY SPRTj343nXHmtYuzz/HF8IQbKcc2niRwC/dJ52kIlcAT6jGfBROpmfwcVgX5y44wF0 ZIuruMGNAh4Yg== From: Marek Vasut To: u-boot@lists.denx.de Cc: Marek Vasut , "NXP i.MX U-Boot Team" , Fabio Estevam , Peng Fan , Stefano Babic , Tom Rini Subject: [PATCH] ARM: imx: Make PLL settings configurable at board level Date: Tue, 27 Aug 2024 22:04:27 +0200 Message-ID: <20240827200441.217109-1-marex@denx.de> X-Mailer: git-send-email 2.45.2 MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de X-Virus-Status: Clean Staticize intpll_configure(). Add weak board_imx_intpll_override() function which can be defined at board level to override specific PLL frequency settings early during boot. This can be used to for example force faster CPU core clock frequency if the hardware can handle it. Example of increasing CPU core clock to 1600 MHz on i.MX8M Plus: ``` int board_imx_intpll_override(enum pll_clocks pll, ulong *freq) { if (pll == ANATOP_ARM_PLL) *freq = MHZ(1600); return 0; } ``` Signed-off-by: Marek Vasut --- Cc: "NXP i.MX U-Boot Team" Cc: Fabio Estevam Cc: Peng Fan Cc: Stefano Babic Cc: Tom Rini Cc: u-boot@lists.denx.de --- arch/arm/mach-imx/imx8m/clock_imx8mm.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/arch/arm/mach-imx/imx8m/clock_imx8mm.c b/arch/arm/mach-imx/imx8m/clock_imx8mm.c index de630e940c9..d7fd102c955 100644 --- a/arch/arm/mach-imx/imx8m/clock_imx8mm.c +++ b/arch/arm/mach-imx/imx8m/clock_imx8mm.c @@ -181,10 +181,19 @@ void dram_disable_bypass(void) } #endif -int intpll_configure(enum pll_clocks pll, ulong freq) +__weak int board_imx_intpll_override(enum pll_clocks pll, ulong *freq) +{ + return 0; +} + +static int intpll_configure(enum pll_clocks pll, ulong freq) { void __iomem *pll_gnrl_ctl, __iomem *pll_div_ctl; u32 pll_div_ctl_val, pll_clke_masks; + int ret = board_imx_intpll_override(pll, &freq); + + if (ret) + return ret; switch (pll) { case ANATOP_SYSTEM_PLL1: