From patchwork Mon Jan 23 09:16:28 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Peng Fan (OSS)" X-Patchwork-Id: 1730315 X-Patchwork-Delegate: sbabic@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.a=rsa-sha256 header.s=selector2-NXP1-onmicrosoft-com header.b=lwBs6Ewa; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4P0jxN07PRz23gY for ; Mon, 23 Jan 2023 19:31:20 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 83C7385777; Mon, 23 Jan 2023 09:30:45 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=oss.nxp.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="lwBs6Ewa"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id A2F6885745; Mon, 23 Jan 2023 09:29:48 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.2 Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01on2075.outbound.protection.outlook.com [40.107.13.75]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id C1D398572D for ; Mon, 23 Jan 2023 09:29:18 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=oss.nxp.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=peng.fan@oss.nxp.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=FZmarW3vx5IGQeVNU/GWBbEbYNbYRjjiVvyWRM+/FHmfgVe2ltnHkRVCvqsvFsr75FQGyLixQk1CygS19i+TcMloe479oGs3w3BVWXY9ObBCABgxsuLpWg4WgrWSsO8l6ZSsRyLB9s03BrbcLRTRbpX/472OH447mUAa3yAVKs6Y19tI2p3qckz841Uemj9fjC2DOi2ur2XD9ZderJe8HV15FxyWMEx3ctrf4WyDfTaQf1j0yW364uwML8SkqbmwYxjRGRS0okr+J3yRN33TmO1g5uCZ28X6tVNKW+iTH2tgXa3Q3B4ymvscp4WJQRhB2lGCdYT3TW/hty2O+Q7aAw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=twuGv539y8mVmA5KPnGoHD8SNWoldGH2Bk/DlJEaKm4=; b=VvXP1776ShwEG/rhisiSIzm1y44VS9Qvot3YzaF+3K8eZ+QLqzQZpxBQKcCyqkKfdfEU8KBMBjFoAkGIPplDx0kfxkLSng5CJBG7grDp5XL0qcp4Vu5RGVw/iFO3s25MV+/BWd4xWIYmiZXWF181RCae0ZrFEuU90ANyhzdPEo5k2RkXq7eWSR4MNSNjyoMiYZ8ed+eXlc/1PQJyqoC+D8h10s5CI5TLVEisH1uctWwX4aBUvb3ZDQYfN3kncnC31JHQZdkDr7QLYOCCTjYTmBqPi6uzeorF/2FNwLqSJtIJLaQW4d0P7g+uqstB0E3rFob+FL/MAWzNPdWFDk/Ccw== 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=selector2-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=twuGv539y8mVmA5KPnGoHD8SNWoldGH2Bk/DlJEaKm4=; b=lwBs6EwaSMlpmonAS3egy5WzkWYt8whnpC/QPZnEDwsqF2g+pt3mbyQBEhIxaRA9JUZmsPbKKicR4/hPMnzbclqneT25XIX7f1G7zG7O09io1N7LjzwNMHW2cYsdMnAPY/wvtnIo1KvG2wW3V9tVEZ18cPOuvLfg/H7UlHyyjic= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from DU0PR04MB9417.eurprd04.prod.outlook.com (2603:10a6:10:358::11) by AM9PR04MB8065.eurprd04.prod.outlook.com (2603:10a6:20b:3ee::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6002.33; Mon, 23 Jan 2023 08:29:05 +0000 Received: from DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::e203:47be:36e4:c0c3]) by DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::e203:47be:36e4:c0c3%9]) with mapi id 15.20.6002.033; Mon, 23 Jan 2023 08:29:05 +0000 From: "Peng Fan (OSS)" To: sbabic@denx.de, festevam@gmail.com, "NXP i.MX U-Boot Team" Cc: u-boot@lists.denx.de, Peng Fan Subject: [PATCH 09/41] imx9: simplify clk settings Date: Mon, 23 Jan 2023 17:16:28 +0800 Message-Id: <20230123091702.7472-10-peng.fan@oss.nxp.com> X-Mailer: git-send-email 2.36.0 In-Reply-To: <20230123091702.7472-1-peng.fan@oss.nxp.com> References: <20230123091702.7472-1-peng.fan@oss.nxp.com> X-ClientProxiedBy: SI2PR01CA0047.apcprd01.prod.exchangelabs.com (2603:1096:4:193::10) To DU0PR04MB9417.eurprd04.prod.outlook.com (2603:10a6:10:358::11) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU0PR04MB9417:EE_|AM9PR04MB8065:EE_ X-MS-Office365-Filtering-Correlation-Id: d02ccf3c-7142-41cc-57af-08dafd1be363 X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 7Sjx0dNoKwKXZDNq2YEHxe41kmVCdZ7iZ2FOkZqwpA/B7PNC/HdHoj4Hi3BpS/ufTZfuXevf4N/kgtvQ80lYZ+IvwIs41BdvPdr1yUCS8JcCHXudrSA+jbeSBAOn0CS1ueujZZ44AkUJ/8fV9Ev8ilAnDPkzKQnk2gfXAjbZHvDJQkBsvxvKcpILrcP0xYt7O/6UhzWLUe+MKQk60uh0Gl+aOaFuLWU3VofqGMQU9WwWA3cMEtV6wm9KU4Bnf3iZW+r21S85Q8ZTl/gpKoJkXt5diUczVL4CcNHj2D/TQNZ4VpMURetylfHIfJmpVQsjX1DPplTZPfOSaAFSq8K7sI/uETTZQDJOowSr8vtru8ULv0fEhDrjSBm+Rcu1VGuVybu7VxtwIrnnMRVRFAcxxxpYv6bivIhW0qZXmS3nXrDHPzjh7Jfs8VQr0skETPcP2XHZfQmjVozkZLeBAH3H9zu77SNikYtDUW5w9jfXHtysg+zoBk8fVUpGYbNFySzTBlWxU2I8H2zdpol8z92yF2iSjxKKDkBg/FHhxakwFsux2PGu7RQF2O/UvyARPYLvXn/pR8yoNRogMT0CoUGQEvx5mshgEvGZ3fQ4q6TDvgSnQWuf6xd6kJum91wz3u+IC/9/XlstuozXAQi5MRL7ZhvbUC9MZl8QqTJjyORehmJ7ciJ9sW5Q2GKfoiyT+ihw9SFXXJD0pvbtQ2G2mHPjHw== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DU0PR04MB9417.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(4636009)(39860400002)(346002)(366004)(376002)(136003)(396003)(451199015)(2906002)(5660300002)(38100700002)(38350700002)(8936002)(6862004)(4326008)(41300700001)(83380400001)(86362001)(52116002)(478600001)(6486002)(66476007)(8676002)(6512007)(186003)(26005)(6506007)(316002)(2616005)(66946007)(1076003)(66556008)(6666004); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: j2zXk2GqdYoRY3j0IcMrf7j/1HzTmtvw1WSPSSGrOYcl4hOBOPnq0uA4WiFQRCjig1oVoof+38IYce1HtX0hpgDMDdBVcitjQLo/S2+JSI3WmEEuirD6qe1oI8XuyEB72utCr3mx29A6Xtw1vcCwec1TkFXIHhcqWD8uJwM6xId1V6HlCxL6EbbpY4bLtgQM7LFgnZnEfob4spfUciiPDJys767MGWUJL5gBuZ8cdKZkYM5mmlG6eR0Ha9+TpFvcfClPXc3o3H+uiodbgGrVmPiGzrvkGYa3sDvUqvobWJAoMQeJSJsjn7DQ8QVvkseUqO6dMxI2cy5oj5Vgc9xP9MG+lwhfaEtVzkshy/MagBBocqDoiYo+Lj4FTnxTs4A7VApCM0uUu/Agaace5HcxsRCWrf5YBqN3sXdrg8c+aTIWvZ+imVVER3mb2xH0x3UHPbTEedfOapdZDNXnJ05VLe2XTFS/cmEa/3RyBwDIJCajdlFYzL37pBE2DkRSNO6zDzeX5d77K/GWRPWmoK/APSx5aPuRyPvMiLq3I/StppXMt8EdhUkURUlQR/QqxJLH1SYQKLmmITMy8EQ+ErjnQKZhb++doOOVp6E040tMX7rQ5DG8J/DncOYbb5xZWrpQpdOBUAa7H4O1KzXoB9KKYUiASvQF4/4Jsbf3c9wt590LT4R9y4pFgqhsHPP+e8VLd6N78H6nARwltvil8VLOpZBoRmJ92o+wK9jkw4ld47Rr5OyHdxeYtJuQDWlsl48GIem9hIN5Rmnp0/JE/BPzf1uVaetKpwtO/ObK0cfGb3jnSjePlIMhEpq0F7Ra6Z/icC5Iw8Y7gDkGoia6Ipsq97+B3PG2DKqTcTTd5LK+/8E42008e//KIC8EOi/qckxkyGltkfNARD81uaSDXANk/WLgz0VAMRtcUQu5gCnMV12wkYDOTgb8ijBune04gufyUxvwiQAtdN29exHxJ3dKWbD2xmUe+AvESSZdHdIqxGIqGmsB9bel/1EsECtMj2du3CLGbvI8rYIjTCL4eYd09STRBjfqos1E0alBg8oogMRonem09/rAkoLuUMWo5gIYj7XJOVfWZu3Fs7WaJqtyRktF0JO9X6/qEh7sUTXQHkbvTuTLLV+a6r4tfdUaLr/iXdEK+gfnMJbJfnzbHrQ8eFnM+h/W4k9Msc0PiOR4nQwIXRzlkMqcqEDv8KmPDRAN0QdEDJXxA33ooTQGS7SPDVcnqFO4RQRkUu+U/gL+zvYciTuwm15GJNLfDMNP83wKbPtnFTNy6hrF0UN6ZLNedBva/VRoA6XIwv/vsbunhHMgI0UVUBRedbj0Kj4T83h26RDobphhE5Y6GvcX8598o/iL1qeiYbW58n+9rABshpeK2dmyJaZaHVsCFRu+/YcDtUv8NgleT2Sa6msvmip/iWyJKHNIOlj8M9vaEDg7fYhufzDV/dTOoVJiUSPfL4Tm+fksLAE3cjR80UTMdrcA/KBb0CKWKNU49zpSN9SGH3AsjatwjhPP6bCOVnxDtT+P/U/2ulCDXDDsPzO5GqOjeZwe/g5U6Jxkz6zKldHhgzRzFf0WpozPLY1/E0dj3aL3 X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: d02ccf3c-7142-41cc-57af-08dafd1be363 X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9417.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Jan 2023 08:29:04.9572 (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: UX4K1hjMkdYKOSltWsOWQgTb2Dz/FXKAggVmwum/0eEI2B7U9zfPCq77w3f/Ai0R681Mla3BK8/Gu33bngSomA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8065 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.6 at phobos.denx.de X-Virus-Status: Clean From: Peng Fan Simplify the clk root settings with an array Signed-off-by: Peng Fan --- arch/arm/include/asm/arch-imx9/clock.h | 6 ++++ arch/arm/mach-imx/imx9/clock.c | 38 +++++++++++++++----------- 2 files changed, 28 insertions(+), 16 deletions(-) diff --git a/arch/arm/include/asm/arch-imx9/clock.h b/arch/arm/include/asm/arch-imx9/clock.h index 336d8613181..1169ffd74d3 100644 --- a/arch/arm/include/asm/arch-imx9/clock.h +++ b/arch/arm/include/asm/arch-imx9/clock.h @@ -205,6 +205,12 @@ struct clk_root_map { u32 mux_type; }; +struct imx_clk_setting { + u32 clk_root; + enum ccm_clk_src src; + u32 div; +}; + int clock_init(void); u32 get_clk_src_rate(enum ccm_clk_src source); u32 get_lpuart_clk(void); diff --git a/arch/arm/mach-imx/imx9/clock.c b/arch/arm/mach-imx/imx9/clock.c index a0efee96e51..a5f95fbcb8a 100644 --- a/arch/arm/mach-imx/imx9/clock.c +++ b/arch/arm/mach-imx/imx9/clock.c @@ -680,36 +680,42 @@ void set_arm_clk(ulong freq) #endif -int clock_init(void) -{ - int i; - +struct imx_clk_setting imx_clk_settings[] = { /* Set A55 periphal to 333M */ - ccm_clk_root_cfg(ARM_A55_PERIPH_CLK_ROOT, SYS_PLL_PFD0, 3); + {ARM_A55_PERIPH_CLK_ROOT, SYS_PLL_PFD0, 3}, /* Set A55 mtr bus to 133M */ - ccm_clk_root_cfg(ARM_A55_MTR_BUS_CLK_ROOT, SYS_PLL_PFD1_DIV2, 3); - + {ARM_A55_MTR_BUS_CLK_ROOT, SYS_PLL_PFD1_DIV2, 3}, /* Sentinel to 200M */ - ccm_clk_root_cfg(SENTINEL_CLK_ROOT, SYS_PLL_PFD1_DIV2, 2); + {SENTINEL_CLK_ROOT, SYS_PLL_PFD1_DIV2, 2}, /* Bus_wakeup to 133M */ - ccm_clk_root_cfg(BUS_WAKEUP_CLK_ROOT, SYS_PLL_PFD1_DIV2, 3); + {BUS_WAKEUP_CLK_ROOT, SYS_PLL_PFD1_DIV2, 3}, /* Bus_AON to 133M */ - ccm_clk_root_cfg(BUS_AON_CLK_ROOT, SYS_PLL_PFD1_DIV2, 3); + {BUS_AON_CLK_ROOT, SYS_PLL_PFD1_DIV2, 3}, /* M33 to 200M */ - ccm_clk_root_cfg(M33_CLK_ROOT, SYS_PLL_PFD1_DIV2, 2); + {M33_CLK_ROOT, SYS_PLL_PFD1_DIV2, 2}, /* * WAKEUP_AXI to 312.5M, because of FEC only can support to 320M for * generating MII clock at 2.5M */ - ccm_clk_root_cfg(WAKEUP_AXI_CLK_ROOT, SYS_PLL_PFD2, 2); + {WAKEUP_AXI_CLK_ROOT, SYS_PLL_PFD2, 2}, /* SWO TRACE to 133M */ - ccm_clk_root_cfg(SWO_TRACE_CLK_ROOT, SYS_PLL_PFD1_DIV2, 3); + {SWO_TRACE_CLK_ROOT, SYS_PLL_PFD1_DIV2, 3}, /* M33 systetick to 24M */ - ccm_clk_root_cfg(M33_SYSTICK_CLK_ROOT, OSC_24M_CLK, 1); + {M33_SYSTICK_CLK_ROOT, OSC_24M_CLK, 1}, /* NIC to 400M */ - ccm_clk_root_cfg(NIC_CLK_ROOT, SYS_PLL_PFD1, 2); + {NIC_CLK_ROOT, SYS_PLL_PFD1, 2}, /* NIC_APB to 133M */ - ccm_clk_root_cfg(NIC_APB_CLK_ROOT, SYS_PLL_PFD1_DIV2, 3); + {NIC_APB_CLK_ROOT, SYS_PLL_PFD1_DIV2, 3} +}; + +int clock_init(void) +{ + int i; + + for (i = 0; i < ARRAY_SIZE(imx_clk_settings); i++) { + ccm_clk_root_cfg(imx_clk_settings[i].clk_root, + imx_clk_settings[i].src, imx_clk_settings[i].div); + } /* allow for non-secure access */ for (i = 0; i < OSCPLL_END; i++)