From mboxrd@z Thu Jan 1 00:00:00 1970 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 phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 49F9BC43334 for ; Mon, 27 Jun 2022 02:48:23 +0000 (UTC) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 6FC2E84523; Mon, 27 Jun 2022 04:43:50 +0200 (CEST) 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="RZ1t2JNz"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id EBD408451C; Mon, 27 Jun 2022 04:43:38 +0200 (CEST) Received: from EUR03-VE1-obe.outbound.protection.outlook.com (mail-eopbgr50042.outbound.protection.outlook.com [40.107.5.42]) (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 7CB058450D for ; Mon, 27 Jun 2022 04:43:36 +0200 (CEST) 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=SvGaGc31PuDKVm6uelytp7jW1G5v0HuzmwgoASMhG2J+9PQIAsNCYi6YuKBJjYQkLU6DaGiGamAYq9z2120mL4Xqn1Bl+4IHX+5cmAu1SCLxwYjb6MXJH1VVVh1xkNpqAS7OR9XlQXvTpN4mTRudkkhPGjDpigQp6EuRQOdBVJMw5+6gqRRnkzJoL0HKh6wONAdPkLlOq3kf9/O81i6tX9beBGtMateV5DvO2D7ZNYieqfvMhbM4pAVGriCwuH9wq2u5JXKxjkr/pQO3tATpkL/uaBEzy5dqc4ZS4PjgxvYEvIaIMwh9/MyL1ZUdaaGr7hrJzKZVTgpyZQrGzeoUHQ== 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=ShRN/6u+ekvuTWszb+cwfhhSCRz1VdBIA73L99I7CTs=; b=PQU9BN2djhT4dj66C9SuzJT9SGncZkGDwjm1uxHQQsKk0IPiBt5eO2rc9QSiuho06jWSI4ATryS0qBPGqD6GumrPrm5VD3amsc4z/2I+JVJs3fQQcoSDvGrvaf81FfG2G98TV39Iqpu94DHOV6QGV1MRmiByER3dbuwTwSR6yYIDYew+IM9XgQDpi2hueNRn6LliUi4BBZdUSBquX+3+1ISRcEgohCP4od9IlaeE2F23p2CYrUtOnzDBIsGmFFIQ/bofbx7upxJBmyLNrqGDgldRjV0weOgXxm429XsEXV9vCGmqdYVnnayLSOsWDLojO4b+fOGfkK+ONpD1LG2bbg== 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=ShRN/6u+ekvuTWszb+cwfhhSCRz1VdBIA73L99I7CTs=; b=RZ1t2JNz3mY6+gJBjSuGyIXjFUuAjl4WxUm/MMY1yh6yghnKeT/O1xGHPFk/RYXYmFvUHNmdqVFRi5THnrQRtf3VX2jfDTJMpdMmF8XuGEhpoS5zvMy1ktyNWgQRQ5Sx0MHzg5ejiGEhxoeShe3yugUtm3kgiUBEJtb/h+ZVSQc= 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 VI1PR04MB4109.eurprd04.prod.outlook.com (2603:10a6:803:46::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5373.18; Mon, 27 Jun 2022 02:43:34 +0000 Received: from DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::fdd4:8557:334b:180d]) by DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::fdd4:8557:334b:180d%6]) with mapi id 15.20.5373.018; Mon, 27 Jun 2022 02:43:34 +0000 From: "Peng Fan (OSS)" To: sbabic@denx.de, festevam@gmail.com, "NXP i.MX U-Boot Team" Cc: u-boot@lists.denx.de, Ye Li Subject: [PATCH V2 36/49] imx: imx9: clock: Add DDR clock support Date: Mon, 27 Jun 2022 11:24:42 +0800 Message-Id: <20220627032455.28280-37-peng.fan@oss.nxp.com> X-Mailer: git-send-email 2.36.0 In-Reply-To: <20220627032455.28280-1-peng.fan@oss.nxp.com> References: <20220627032455.28280-1-peng.fan@oss.nxp.com> Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: SI2PR02CA0020.apcprd02.prod.outlook.com (2603:1096:4:195::7) 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-Office365-Filtering-Correlation-Id: 96984671-8927-4235-e3ae-08da57e6d470 X-MS-TrafficTypeDiagnostic: VI1PR04MB4109:EE_ 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: 4YOHtSHKTVo9+EqZ2t4m0xN2wfJAuMgy4wm6KMIWD0jdZA7PxZ2j6CND17keu0fFE0zxs3WtO6Z7BpG3UbIHC/wPngGbk4l/YOpFMwIdlEbYogNcITvqeWkEEm9OtDLNBY0HapBPcQhTFM+hQGbwehA62on1XI+/10kTxVzH31nOC4VbxS+JeTFQtDblroZSottqFagY+z7RoIpCfBhzim7frXtJRQtXjC7A4lFiVMrZf1cOSt2ODylHiJvK1YMPQFbm3VnP4PUR57WeSe15XYkDTuy1CwIfl+2eurNLmm7dfvSaoX36jqm+OgTLTbru7OlfNFvv3QJ98U32zEa9TUxMZejJPhQUB5ZKR7LqYMFEgVAkisOD3pIQWFRb7ZHgT2Wj8UYbJQqKMwIj6YnYPiWa00ODO4Z1A24FKbjaY6/KV9QjSaRvKydpDqnevGMKZQhhget86FtT4DZ27ug0sPxKttGKiYQmyw/EEmmzvqHeYesUTt0fsBQ2RDLedAbfhTGMi9G0+sij9gwflUKrXT2NkRtJluiv2f79RyVoeelGdbYL8yx1JI3ezIRCK5fpeqax+V1JGj0Nm+e0O17g1PYKPnhwbR9wTS0oo7vhL0gsaLnyWYLqXeqdTIyaGRnGiCzhjHSZ/zvRsj0BzSrx5o5suRC/8nKa4GusZ8M2p4Ih5rzmWJ1wtJTrlhpAB0+LCvSrBPnNxjSEc6YViW9ModOUs96QNsZ4h404+h7g2RBGgYFldbAaNwyAnsFtbKah+A3Vclw7TbONp6Gwdp6iyZl+NZcoSjf1JJiKrT/Rh/w= 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:(13230016)(4636009)(366004)(396003)(346002)(39860400002)(376002)(136003)(1076003)(41300700001)(8936002)(2616005)(52116002)(83380400001)(6862004)(5660300002)(38350700002)(38100700002)(2906002)(6486002)(186003)(478600001)(6666004)(86362001)(316002)(26005)(6512007)(66476007)(66946007)(4326008)(8676002)(66556008)(6506007); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?F3pbuH/y57d85n0qbp7DkFRwIWsqp0uyEYGc5GrCK16S5LfyiPju7hf3OqgV?= =?us-ascii?Q?CFNpsrCy2fHsbkzQXWyhYp4LFe/y/1+KnXSHVIUGD8iYe3W5Pawu6ZL7bqhU?= =?us-ascii?Q?DcglIcmtfoNrgLmjFGtvU+snoUbgmqZKlaDvCYiFtLxYa5dst+VVr7DKHrbn?= =?us-ascii?Q?8UhfTNsl6FHT1PiAh/g200ur0urlI5dPjdrWn8aDZKPTrNoXd2Lw68h4HBGm?= =?us-ascii?Q?a1EXMHz1r48lcaVHxxQkZEqUsB0eAAiCdAzsCLrhAfe992jXJJWSxrohAnMf?= =?us-ascii?Q?KIvhjoVmBVL1suDEA2kvRmYTGtc64UaB/FAt0IIctjQ/LeQjX+iUfNqQ8h6u?= =?us-ascii?Q?ZcOB1TM0Qof17JFzArtmhi0sQ0qcKYw7ZjEsZgchEznORXh7UtFoxW0Q1cw+?= =?us-ascii?Q?yVPuviTpCp9szU86rspqSNK0Dye0jDZ8rPAlM6zCPqL5h+B1E76SnblaC9bE?= =?us-ascii?Q?6QGbJVroJRomQl6gdCvk64nulcpJq540jvg35uonhIP27epRK4F9sWw1CJin?= =?us-ascii?Q?RuKsIOpMv7N75MBC3QP12elBwpzGy2IDMnKtu+ZdVFAxSG8QbXmHbYhnJKBa?= =?us-ascii?Q?5Ol+LGNeZii+mUalD2Bxz8l8zM8/FXcS0ZqIkRlgwAMTs8mIqtfIrbqRUSqp?= =?us-ascii?Q?yKTYSrsMxbaI1GbsNJ9+H1YTjYRBj4wr3FMBMc+KlUbJ1Pw0rlxloORNcXPr?= =?us-ascii?Q?GzTnDJQ5hz0KTCsmNXmcDoST6+/V/XKBpoptitATExP4X3nAyELeMrDUavDM?= =?us-ascii?Q?t8E3iht961uBXwn5dWlO3DDrY7XNyhMM6++gE8naEJUygaxQT70i0JGfOxWH?= =?us-ascii?Q?I6eiD/5bhjzOsaM5aa30X/bylUHM61TV6fnQRFOrmjSrP5vV5X8aaQEOfVUM?= =?us-ascii?Q?4aJPS4q4d8M9dz+4UGC8CwiVxy5uVNIyUAJgajTIHHfvZ8qDZYZSxPXjeYeT?= =?us-ascii?Q?fQjnCSLcIqNQGTkpi5Spr9+qnmLzNYmIgUWHvw9SB5lkshCxScSz3kqrf31m?= =?us-ascii?Q?DazXpwiklI4RPdL9UtKZe36R7mnIS/6okoXdEATdmwGWrowHfKEqE3rsoGRA?= =?us-ascii?Q?BdW5WZ5ifoYkUonhRAiS/AmWMDNccflhg8DebjGc2clM2Rfq3JlHf70hej8p?= =?us-ascii?Q?Wj8IWJxZsfNW4VBIWtwlEZ+a+FGL41vnlxDJA6unikjfMmYOmhGfMmNr88Cf?= =?us-ascii?Q?gkrEx+6ySgH154C9aN1UoNt7W2kt91gK7rophuK2hR1afwMFdx0C5DySRkmx?= =?us-ascii?Q?5RVsXLt7Td8M0iTX5trZuWPI29HGdxDUg+C29x6zbhvqBwRAMUvYMg0+DtBB?= =?us-ascii?Q?Fk1NEzZ50Om5BfUwsNb+oN+CVb0PsSV8ezzRtSsdYtbTmhuB2A7zUgF4eYKJ?= =?us-ascii?Q?dvKG5i1f7n/3Yi0QGDiGDuS0HH+tdHt/AaDMygfopDXSUtri+YseC2/n9G8o?= =?us-ascii?Q?v1kuDewmjREPExS0MVHRZNnjNTixj+39Gf/k7kXXeV3L85HOxWFSIQPuwRK7?= =?us-ascii?Q?BXZTZujGPjxv1s3gTDOgqNVtwMl0rCe+dol79dommXdhlk819qY4jQonmYKd?= =?us-ascii?Q?10CvHke0RMYm6Ncl/RYTD4djjO7IuLkax4vG+tIG?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 96984671-8927-4235-e3ae-08da57e6d470 X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9417.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jun 2022 02:43:34.6170 (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: le4c0l5SFGwrEwssy8cD+pQejoeG8HiNMNvWENH/GDjyItDWvcF7GBsuil70eGO5xGAEmwF/ArZaOfM2A9+m8g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4109 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: Ye Li Implement the DDR driver clock interfaces for set DDR rate and bypass DDR PLL Signed-off-by: Ye Li Signed-off-by: Peng Fan --- arch/arm/include/asm/arch-imx9/clock.h | 3 ++ arch/arm/mach-imx/imx9/clock.c | 41 ++++++++++++++++++++++++++ 2 files changed, 44 insertions(+) diff --git a/arch/arm/include/asm/arch-imx9/clock.h b/arch/arm/include/asm/arch-imx9/clock.h index fcf04d66f05..d96f126a1d1 100644 --- a/arch/arm/include/asm/arch-imx9/clock.h +++ b/arch/arm/include/asm/arch-imx9/clock.h @@ -213,6 +213,9 @@ void init_clk_usdhc(u32 index); int enable_i2c_clk(unsigned char enable, u32 i2c_num); u32 imx_get_i2cclk(u32 i2c_num); u32 mxc_get_clock(enum mxc_clock clk); +void dram_pll_init(ulong pll_val); +void dram_enable_bypass(ulong clk_val); +void dram_disable_bypass(void); int ccm_clk_src_on(enum ccm_clk_src oscpll, bool enable); int ccm_clk_src_auto(enum ccm_clk_src oscpll, bool enable); diff --git a/arch/arm/mach-imx/imx9/clock.c b/arch/arm/mach-imx/imx9/clock.c index 55cbb40f328..5d2bc0d2f8f 100644 --- a/arch/arm/mach-imx/imx9/clock.c +++ b/arch/arm/mach-imx/imx9/clock.c @@ -626,6 +626,47 @@ void enable_usboh3_clk(unsigned char enable) } } +#ifdef CONFIG_SPL_BUILD +void dram_pll_init(ulong pll_val) +{ + configure_fracpll(DRAM_PLL_CLK, pll_val); +} + +void dram_enable_bypass(ulong clk_val) +{ + switch (clk_val) { + case MHZ(400): + ccm_clk_root_cfg(DRAM_ALT_CLK_ROOT, SYS_PLL_PFD1, 2); + break; + case MHZ(333): + ccm_clk_root_cfg(DRAM_ALT_CLK_ROOT, SYS_PLL_PFD0, 3); + break; + case MHZ(200): + ccm_clk_root_cfg(DRAM_ALT_CLK_ROOT, SYS_PLL_PFD1, 4); + break; + case MHZ(100): + ccm_clk_root_cfg(DRAM_ALT_CLK_ROOT, SYS_PLL_PFD1, 8); + break; + default: + printf("No matched freq table %lu\n", clk_val); + return; + } + + /* Set DRAM APB to 133Mhz */ + ccm_clk_root_cfg(DRAM_APB_CLK_ROOT, SYS_PLL_PFD1_DIV2, 3); + /* Switch from DRAM clock root from PLL to CCM */ + ccm_shared_gpr_set(SHARED_GPR_DRAM_CLK, SHARED_GPR_DRAM_CLK_SEL_CCM); +} + +void dram_disable_bypass(void) +{ + /* Set DRAM APB to 133Mhz */ + ccm_clk_root_cfg(DRAM_APB_CLK_ROOT, SYS_PLL_PFD1_DIV2, 3); + /* Switch from DRAM clock root from CCM to PLL */ + ccm_shared_gpr_set(SHARED_GPR_DRAM_CLK, SHARED_GPR_DRAM_CLK_SEL_PLL); +} +#endif + int clock_init(void) { int i; -- 2.36.0