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 E821DC433EF for ; Wed, 6 Apr 2022 05:51:53 +0000 (UTC) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id D45B383DB4; Wed, 6 Apr 2022 07:50:41 +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="KtXdzf/g"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id DB52A83CF3; Wed, 6 Apr 2022 07:50:18 +0200 (CEST) Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on20630.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e1a::630]) (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 EFE8983CF3 for ; Wed, 6 Apr 2022 07:50:03 +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=P46NmrL6EJJisP/UufMzqa4a0D45/8ZkMx5uFgWTVdY4lFIimSTZJjDuCnhOQhxAGg0biu+h1i/bdec5NtclpTDJPqwZkdSuDRf97nyhUUAcBGxDOaTecwtI29qgiGNhVAV1KlHVNWDetGTFVRSnmkTQvmpw7+pomMDY2cYSLzM0x5LAEkL9iKDE5WPdrD4dAN+UTwzK2Nb/cbU89DQS3dJee18yPtoelrZVzcMKP73t05gNK20kqsmk94C14Ut7GGXsl6ZAaSRZtBwbJh6dyH25+XRATkEZh/MC9U9vsrliHxweNnZzGBn6M5PNP85lqNIaTGqScJIEehUGJlJkVA== 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=TkrfertQmGBs8jHNG2FGxV1Nyh3qpg0bJCoh004Oqi4=; b=lpe2kacOZNkfzb6+kqD9qVVNkbEaUlp3cUUtCz0pMVe2S2geJzDzoAHL7PswxFWWwPxwZvpkjwTJ4UmuhrH/mN2sdkozrFM84J/m0Tx/t4YG24ILW7EZcGooNeKyZB1GPypUmM3i4LvrooSiCPz5UJlHon5lLb5ZtKUt5yu5ii87upifq+y3FeS0/5SstDBekrSyKMXNhknJ8Uu0Xr3BBkRSAjyIHTbszNjSIBkBTg8c6r9vqoHS0QyfPOO3FPb9wcac6bcfXcxAE4EhoogwXSbyAdlD52X1QK3lCAS0nGQ+XIzOk0tbArq2jKp/ZNsXDUQfIXSFYdxBAhzCaC8W5w== 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=TkrfertQmGBs8jHNG2FGxV1Nyh3qpg0bJCoh004Oqi4=; b=KtXdzf/gCN++CVEa57Uy9FG3X4y0hPgVxY7Wwx5pof0wrYenT80VYD+4lN4isnK5tStTlrMO14EobgCyG3sEMn7PY+D5BfTUE1qLYXsIjMxeYk2ro1/jj0fwRXh/gQaoT0k/Qsfwa2a3oT9gjlGr/DAhvdyIfTm3yjRLEoSc9yg= 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 VI1PR04MB7167.eurprd04.prod.outlook.com (2603:10a6:800:12a::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5123.31; Wed, 6 Apr 2022 05:49:50 +0000 Received: from DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::389f:e6eb:a7a2:61b6]) by DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::389f:e6eb:a7a2:61b6%7]) with mapi id 15.20.5123.031; Wed, 6 Apr 2022 05:49:50 +0000 From: "Peng Fan (OSS)" To: sbabic@denx.de Cc: festevam@gmail.com, u-boot@lists.denx.de, uboot-imx@nxp.com, Ye Li , Peng Fan Subject: [PATCH V2 08/26] imx: imx8ulp_evk: Skip init DDR for reboot in dual boot mode Date: Wed, 6 Apr 2022 14:30:13 +0800 Message-Id: <20220406063031.21960-9-peng.fan@oss.nxp.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220406063031.21960-1-peng.fan@oss.nxp.com> References: <20220406063031.21960-1-peng.fan@oss.nxp.com> Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: SG2PR04CA0153.apcprd04.prod.outlook.com (2603:1096:4::15) 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: cac6c3bb-4e8d-4ae3-972d-08da179143ae X-MS-TrafficTypeDiagnostic: VI1PR04MB7167:EE_ X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: NxNXrFizO093tozFZqgpanEFRH6gGSMGaWxWavvH9rd+NyNO0+Lfq40fIgsHHakrvjLj4hORpdaOqcjFkJlxsq6KYj0HwtpIq6+ORW2ASWC4+jMDEL6GuQaGlhAD+MyxHSwg4zKfFSPjqS743mmqTvkB/C1npZIBwjVgrKcuGK633WEU0YTrQvFWyNWFgH1euKxxdS7yxH2AHasrSXXOzL1+fhLda9nGGjITcC+JkzSBZ0yjqbBD/Voa+OwzsoENuxABn2lm5JyT/kvpbt0mcN5lUObR9pA04blyc/NXC3MurV81gXxnhSEzFafrA7Qw+MkxU/Cx4cPsFtrgRIEHMoIp1UkZwNMSjtLXUdrsycuz/Cr30eKdODRxUcbRP4EO9yyf6k8SP81YPuFpkDR5bXcJOtFAXUS5X8l5RaVWsbR61jDeXUnSt35v1sbH3z1qGgYIbXKrWLs3KkoWAJ0jiNPTcB7nHeKS0tlOfqkRGcIC1o7XguW++NN7ah4qPYMMoG7ZMcbtTlPnb+b90WNfVpSfavQyk2jX+TNaAraHJpwxet1OhVgqgfsVJWlFu2+tBkXXmZ/y4klDbDAmj+vBCiqTRSYvZ7oxQKXzLQ0sy8O8X7FpVdGeb38ItKEmxqzMu0qhSmCSX+rSWuHmI4ZPyjSn7P2TctzMBj3Y2qM/zr0XxrItOok6D2gUuQzrzc4coiReoN4xJVdCfWJX79KxoQ== 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:(13230001)(4636009)(366004)(54906003)(6916009)(2906002)(2616005)(5660300002)(508600001)(8676002)(1076003)(6486002)(4326008)(86362001)(66946007)(66556008)(66476007)(8936002)(26005)(186003)(6506007)(38100700002)(52116002)(316002)(6666004)(83380400001)(6512007)(38350700002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?KnyzIlaG4+D5o7bYsDLFRprc5Nj0mNh/M80zUCLENZ3FZ7izl35hvi8RSbRL?= =?us-ascii?Q?b4KTPjUFXwkTy3JFwzQhcIUmbf2VjO1KccPNLLWBJjPo1rH3rbsYaTTj+MLE?= =?us-ascii?Q?2cNMblMEIEExnKzAMSr0e/sqt5T9pvMj8kJVm2suBDYVuhhuoHthX0+fF+io?= =?us-ascii?Q?CpbbpWWNxX9FzrAZc3zYVL8TbZ5DC735X55EeN+yiCHQlac95uOg2rY0AJRc?= =?us-ascii?Q?5KuJOBTx8siiBEDrxTdY+6nJylfwRd2ZZHk+aizvOGYqLXDDtKetB6iHP8o3?= =?us-ascii?Q?MEDYNf1J+FPbSy5hC8z+uvABDNzuK7KKZ7c48Wk+3kQy6AbSTYhpYu585sMy?= =?us-ascii?Q?yhrqjxlH/39K1P+41rES22iMCnl8Qs9k5yoc5VHkf2lq54cmVmOzzF14/EfP?= =?us-ascii?Q?9zgYK5yJ3ns97HNPM8irLa5vQ1MmOfikyKr9Vg/p8gTiyNXg7QvvszmZPyQx?= =?us-ascii?Q?rGTsYwufQ5E2Faet482q55/mOSA9cgf5hDkaFKCITmmMaU6hwR9U8VlW+16d?= =?us-ascii?Q?6cjjzxcl1oi3vilsTtY6nz+zlNGX/8kRrR71MWao+SIsWYVwuNFV6I1lu0Iv?= =?us-ascii?Q?6ghCOpKY5ml8sVTGmrGDT9ljuHeUNvKB/U9uW2Hwp3B5H6Ync6wTWgMSXkNL?= =?us-ascii?Q?XAqK7Zn0Kkh4peP0RKz14mt0IpvQOrBFM/6/IfukWgPAWqldvcEJAWnXlHSu?= =?us-ascii?Q?45qDv3I9IKt5wZ1PTrOqCx5uFHMQV3e9F10WcV76B+aYN/o0Tyxe8EeyODYx?= =?us-ascii?Q?Hs0YQDQokf99LilJKMziR29USh2sNbApYXBtzTP+6yFvtALxe/4/Jm0TlToA?= =?us-ascii?Q?SHiYDxOviIRwqobKwyB7xrE9fhI/JzKPb8/wH9nEdWuT/tGjH9f7T8Vb+eXq?= =?us-ascii?Q?9tU2HSFYjWCO/A9cBNz0DZyGmhQIx/9CLQj7zJF1uUjPkNk9V73Sn7l8tkdK?= =?us-ascii?Q?ODctWXcCWTCV4PiRjmaPEAydyYGIz7gpF3DCnMiA/zDQelLYhiXRczX0WuuV?= =?us-ascii?Q?4jBQadaPQjCnWFtJ48Qxj4MEKqRo9mzL3mbAPDujbd63KxHMQHKgUSKDc2B8?= =?us-ascii?Q?E24rE3cnqj53DfhiA36nIjR3I+TIk28XaV+nJzaSCXQEmZT+qjUE2eRPabqF?= =?us-ascii?Q?CeBp2KYf5a/HYK/b2xhfdAgcWoXHImLIrPq+juheoYDZuW1k9RyQEi5H7D0m?= =?us-ascii?Q?S9M66oo1mSIOfCHf9uTCoE/R1NBMYoBvwIIMLG2ss0RINqGhZfCeYmf5hBw6?= =?us-ascii?Q?oe9pmXwkNt9+5C6rUXxKAHDHmTuxH2QPNgwgV94YxhFyjdqet9LOEWLyVUNS?= =?us-ascii?Q?haHtGBUWoh/KSXw5e+8Hl+XpN6yr+ArG8PPaX8L7vuNOmWM6vU/qa3gMr6sf?= =?us-ascii?Q?j3ggJ6M8wpoXQPhrGTXYwmcH3fF59ZsDvJccs3K1RVZ9Cz/4cVFXHX4p8QXf?= =?us-ascii?Q?fuXzSBCspUeH9wx3ctcnwz//RwwCWQkHZcwC8v1Z1ZMLl5fCa+lA1igd4is/?= =?us-ascii?Q?/XbFCcXDexmhU+q0zHWU1hn+i0P7w729I01dnM0cUe5Nn23FhmFjKZKBgJEG?= =?us-ascii?Q?TGaXOQEV1mLY+YU27ff/MTkjuJHePfkcpsHTlkXiohN8TwKI3AKsbmFFgU59?= =?us-ascii?Q?GKKscIj8hVr29XN+XDDpG2V8w6Q++RxGnDiIpMokR2hrUC5cwL/byi9qWe3C?= =?us-ascii?Q?JzFXdv0rwAcJr9i/Qk87VUOdkKNf7K63NhLZBVBcWFDdkLJ4RkTXOYROlfwg?= =?us-ascii?Q?rlws68pe6w=3D=3D?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: cac6c3bb-4e8d-4ae3-972d-08da179143ae X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9417.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Apr 2022 05:49:50.3932 (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: 1o8KqZgUSz2jBHvc0h6OFVhYxGOSWAwCErD1EoY66i/hIVrI+Esauk/hUucAvE2sUxBv5tmLHth61dlmUig4yQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7167 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.5 at phobos.denx.de X-Virus-Status: Clean From: Ye Li When M33 is LPAV owner in dual boot, DDR, PCC5, CGC2 won't be reset during APD reset. So no need to init DDR again after reboot, but need to reconfigure the PLL4 PFD/PFDDIV/LPAV NIC etc, because kernel may change or disable some of them. Reviewed-by: Peng Fan Signed-off-by: Ye Li Signed-off-by: Peng Fan --- arch/arm/include/asm/arch-imx8ulp/cgc.h | 2 +- arch/arm/mach-imx/imx8ulp/cgc.c | 20 +++++++++++--------- arch/arm/mach-imx/imx8ulp/clock.c | 2 +- board/freescale/imx8ulp_evk/spl.c | 12 ++++++++++-- 4 files changed, 23 insertions(+), 13 deletions(-) diff --git a/arch/arm/include/asm/arch-imx8ulp/cgc.h b/arch/arm/include/asm/arch-imx8ulp/cgc.h index e45f04624db..83a246b15a7 100644 --- a/arch/arm/include/asm/arch-imx8ulp/cgc.h +++ b/arch/arm/include/asm/arch-imx8ulp/cgc.h @@ -150,7 +150,7 @@ void cgc1_pll3_init(ulong freq); void cgc1_pll2_init(ulong freq); void cgc1_soscdiv_init(void); void cgc1_init_core_clk(ulong freq); -void cgc2_pll4_init(void); +void cgc2_pll4_init(bool pll4_reset); void cgc2_ddrclk_config(u32 src, u32 div); void cgc2_ddrclk_wait_unlock(void); u32 cgc1_sosc_div(enum cgc_clk clk); diff --git a/arch/arm/mach-imx/imx8ulp/cgc.c b/arch/arm/mach-imx/imx8ulp/cgc.c index 494ddb0f329..ccd977f1a5d 100644 --- a/arch/arm/mach-imx/imx8ulp/cgc.c +++ b/arch/arm/mach-imx/imx8ulp/cgc.c @@ -187,7 +187,7 @@ void cgc1_pll3_init(ulong freq) } } -void cgc2_pll4_init(void) +void cgc2_pll4_init(bool pll4_reset) { /* Disable PFD DIV and clear DIV */ writel(0x80808080, &cgc2_regs->pll4div_pfd0); @@ -196,16 +196,18 @@ void cgc2_pll4_init(void) /* Gate off and clear PFD */ writel(0x80808080, &cgc2_regs->pll4pfdcfg); - /* Disable PLL4 */ - writel(0x0, &cgc2_regs->pll4csr); + if (pll4_reset) { + /* Disable PLL4 */ + writel(0x0, &cgc2_regs->pll4csr); - /* Configure PLL4 to 528Mhz and clock source from SOSC */ - writel(22 << 16, &cgc2_regs->pll4cfg); - writel(0x1, &cgc2_regs->pll4csr); + /* Configure PLL4 to 528Mhz and clock source from SOSC */ + writel(22 << 16, &cgc2_regs->pll4cfg); + writel(0x1, &cgc2_regs->pll4csr); - /* wait for PLL4 output valid */ - while (!(readl(&cgc2_regs->pll4csr) & BIT(24))) - ; + /* wait for PLL4 output valid */ + while (!(readl(&cgc2_regs->pll4csr) & BIT(24))) + ; + } /* Enable all 4 PFDs */ setbits_le32(&cgc2_regs->pll4pfdcfg, 18 << 0); /* 528 */ diff --git a/arch/arm/mach-imx/imx8ulp/clock.c b/arch/arm/mach-imx/imx8ulp/clock.c index 46971578a91..69cccafbcef 100644 --- a/arch/arm/mach-imx/imx8ulp/clock.c +++ b/arch/arm/mach-imx/imx8ulp/clock.c @@ -101,7 +101,7 @@ void init_clk_ddr(void) writel(0xc0000000, PCC5_LPDDR4_ADDR); /* enable pll4 and ddrclk*/ - cgc2_pll4_init(); + cgc2_pll4_init(true); cgc2_ddrclk_config(4, 1); /* enable ddr pcc */ diff --git a/board/freescale/imx8ulp_evk/spl.c b/board/freescale/imx8ulp_evk/spl.c index d3cdad2d76a..e6949b5e431 100644 --- a/board/freescale/imx8ulp_evk/spl.c +++ b/board/freescale/imx8ulp_evk/spl.c @@ -24,8 +24,16 @@ DECLARE_GLOBAL_DATA_PTR; void spl_dram_init(void) { - init_clk_ddr(); - ddr_init(&dram_timing); + /* Reboot in dual boot setting no need to init ddr again */ + bool ddr_enable = pcc_clock_is_enable(5, LPDDR4_PCC5_SLOT); + + if (!ddr_enable) { + init_clk_ddr(); + ddr_init(&dram_timing); + } else { + /* reinit pfd/pfddiv and lpavnic except pll4*/ + cgc2_pll4_init(false); + } } u32 spl_boot_device(void) -- 2.35.1