Message ID | 20220627032455.28280-34-peng.fan@oss.nxp.com |
---|---|
State | Superseded |
Delegated to: | Stefano Babic |
Headers | show
Return-Path: <u-boot-bounces@lists.denx.de> X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.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=Ypb2ZIWR; dkim-atps=neutral Authentication-Results: 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=<UNKNOWN>) 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 RSA-PSS (2048 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4LWXG10GPfz9s0r for <incoming@patchwork.ozlabs.org>; Mon, 27 Jun 2022 12:47:52 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 2DBA584519; Mon, 27 Jun 2022 04:43:38 +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="Ypb2ZIWR"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 3269C844F2; Mon, 27 Jun 2022 04:43:30 +0200 (CEST) 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, T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.2 Received: from EUR02-VE1-obe.outbound.protection.outlook.com (mail-eopbgr20065.outbound.protection.outlook.com [40.107.2.65]) (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 63041844F6 for <u-boot@lists.denx.de>; Mon, 27 Jun 2022 04:43:27 +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=Cw8J8QOlxlqKQtiWbkwLwGPCgguJlsDXSDShJ9XKAVpOIDash4D7LsGAm8DONRXgHKw41fliZ/+mCw752vuKjpjsCpyrYseynl02Bww8VaUKoHvOabtQXukuio5bFehlZN6Vme/5JRfkbhsbpS2UV2Ls5n1wp6+9dtZvFfDgCRMWEnkjwtkR+hbjZrxR8lkzp/SkGH5UoyNL7vSSCmZsm2NWz+ZB1BJ8/2eHpxP7fMBnUwh75+QQWA1u0MQwqMMeqiygqPwp949X64y8vaHzG18KpYQatThR9jBWLAWbdnVJjyTAcsLg+DgJ0Ut9p8n5Zn/kn7i0sAy0Yh4nMKxSBQ== 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=sHWvLqoQK9HyJk0/AQHFfIob45dfvkAWTshFwDAtC0Y=; b=K8fxeKz/C/fLj4wVOeZPYn9ajhplkoZU0RfwVYxlcGjkP/XMfNwUU5zB+Eqo/n3KzTd82Drs39FeF3EofQV4WE6/nKrgt4oAhLkODoWsUj9iVohiOk367GwipcnqYS59nln2NZdLM7H+9L+7jfST5AnhroocQ5exQCYZbj3d5SZNanS14+sHRxdfzM1HkKrBq9+ys2sHorAQPyrAFBe+T+0fsC9xqG7QN9vJG1ulUx0Na+MDjj9JpbpRTyFmepxQf3UCkmQiAQhHc9Jdf25zA2OCt2EtLRCue2IJr7bOtV8HmFq+/Uv8CgiJ5Tdm9cOIcW7+MEw0xUwJ9qOKFRVB7Q== 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=sHWvLqoQK9HyJk0/AQHFfIob45dfvkAWTshFwDAtC0Y=; b=Ypb2ZIWRx5N/v/ZAZ9a1C2uoE9ccFTm6mAZkWOmHEstrce/JRwe8wluJ9zPkkqekeUsuCZN583mcMD4w7eTibXw+kmNXCZCtBxIe6qDRi6WJL8pHdVAsF2hHYTEsIjzOUI/I15yuKD0PpzWpMvigyulP0Zy3p/vfsJ9tCiobqzA= 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:25 +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:25 +0000 From: "Peng Fan (OSS)" <peng.fan@oss.nxp.com> To: sbabic@denx.de, festevam@gmail.com, "NXP i.MX U-Boot Team" <uboot-imx@nxp.com> Cc: u-boot@lists.denx.de, Peng Fan <peng.fan@nxp.com> Subject: [PATCH V2 33/49] imx: imx9: Add M33 release prepare function Date: Mon, 27 Jun 2022 11:24:39 +0800 Message-Id: <20220627032455.28280-34-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: 9efd75c5-ecdd-495a-2544-08da57e6ceed 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: r6gPDoZAtba2JT0vzMVJSS86YKdQQjr9y7Sp+oikLULwg5ah/PGffd7JGh2OEyzurAxut6ru62u8yVDE3oxbp2KH6DR7o+pYYpyMojTlm7QkZkXrTk5LAlGpjsDU7urRQH6F1F8R8ZSogbhGy3BrF0CdmM11+490G4475QEzl0rRR5GBIgVdeFHC2HkK1m0bq7WmQsHjx2YmjOOFGOmxrE35VSLqhB8N+wkiPCIEFBuMiv+OiRTaqiIGHzza1cnIRVjg11fyH4X5ylsMX+raOIDmTZCvbnips9AgzUKZMtU6OtEd5GO/H+wdTp3OgWKGqLOYjJe+z0vyPdZaA7zB+apTuoJ8+ORkbiKBoxAaZXthlHkjvnjv/sY6tYeHrm0QagLMrKixjofSoKswoaTc7YaLDJFth/ylKGq1apMP9mxRsVYEqXgMDLaHWE+oVBzuk3SV6CJqVa0Yjl5BVe0ueAMQss0K9K+vFD9pELgk1y47nZMYQR9KTzyYSos0ZW9vasb99b2S/hl9zI06BeXwFc/Tew3cln22dZ3U19aqpXWQlEuDyAkMJrQQMWweoYxPG7KfKrDAz9kpj5ifQm7GPtWic48O1s2Zx4INJEGKc+Dq/2O33KnqOSZSo9AO5QU+clQzMaLPjFlRSEnl1tqrdqiLuin7ZLqucxNUeq0tkTOTs1QsfTj/ao0nUd1UMgf1Z9Ge6un7FKYZCTQXy54tVTWHNrv41MWd1hcwMPALWj9ldA8/1U5cfod8imZDVNHnrxfhIBtHHFT2HrJC2tPdv0pcJJNDJ5HlQ6G8dbRQW+8= 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: VU1x2ARXhBiYjhylVmWfJqv9d/rPE4m83qdXcmA80iWhDeAq2ABQ8raxrGNDWUkF7QtRbZvxn4byVqnpG7RcG6jO3r8bdzS7GpUXkrpwd/k4VpPn5mAzto/IrtRIeumpcYJxG9gvLds1v5iO9Qt6kgTkW8yK6YAGrRrcShQV8c+WKtj5Ww4qz146bDABkYbQ+Ye6/nGRXuFxoWj5elfKz0uBWdk1YO4vuBIE1v50GagPUJv+26hvDvF3wnziHohfkygWpjihBDQTC94tRPFlKzDuaUbO+k16TmkdJ4+MElG1KNTAuIppwJZZ8qWb4HAt7veowzIroRJKB51U5eNg124rg28UZwo2FcT5oniTJl9Hx4BVYE/k+boyG5d1AaxzW8E1rtvJbsoM8ct7bLft2H9ZHbjFFCqFyCAvvSI1cVMb+t07G9ItheoBvlWB7/7UNJBjjyEeMEwMM9Ydy8KtHcBAV+pMl6VwoetnPS2+DjYvKrmX3ICLtih11bjjBl0Sz7wPojUVJ6h3VxaZMSOwCvMFKYG9BFb6qaT/9AIPGs79V5/C2JvZVRUbB8QFO5ry1com385oLexn84Iyq6wc+aIfiQi88pPkIIw4lCaG8GESvSkAE/ieZdoUfuHIN2ULxeUjrhexfrl798Mtr5vBoObrBmtm/MYoNfwP2zBz9ZOGx+r9gIqggKzQD+AeSQpoPVS3NzRLmTbgWt36vDmjmXpSOBCJxhkMFk87fGcfSsCpGKPoqIs2kqqPj3o+xOUchbfDrhQB7TFhBOEcYz+avwoBIifPbDtvPV4iyx9vzvuYE19C2ixXdXqB9T7vkg/L3ssgRR6o1CUa3iqXNeyd/BRKvcCqp2oUR1xyANEigzOGv1j88RWxDFb2VAlilNhbSQo16AXgdLStMqar0oj9imocLjBSRoVW0J0LEOkcSn0qkmUqDyfFA71MtVu4eNNAKDK4re3K2zwrz0w13ZI03d1Gk3nvybIycQ4IIrHDWeyhc9aHFoa9fcu8QIE0eDMvEoCbSDL+3yQ4ZfwxpSY/P3BlQVw+ejOWujNCGQhV7dxDK58FKo1OdtR7LiiTfgyt25waG7ykMgUO14HWKG/F7YJYq6Bt4W1v/KMeVNoQbweDRykeUwVV5sCEZvntilKJc/gGxa5nMbrno3f38IxJN8MMdKsG04mQb7T5w0HuiU6vNYV0n+rJXHfT2DJyGdQw5QZ/FNQwzOnYMzm41A3FWFltcW7zA+gUxHgEshIQamJBSQrjZEv1ABwT1yaM9LSUZRyfcibY0dZSpyO9vBy5hNgk/5tmxRpegIquxCuXIShoBoCato2YJv+maMM5f8XTSlrggtk8kidjpQLV9/9yrKgZFvIg0rWXr4gFQRxAQz5C8HZ2OMeW85FGyi9iQ3W/NSqEvAcMOw5FJsy/QD/C2Nm+0h39z8ULwvZieiw/TwhS0AD8jHgxDl4QuL1qX/ZmA0u2OIp24cmVNJQW5tWutkjIUhjASo4dfl9dhsZF6V+LKfH87oc8IeDYgHUs34BLLOXtP2c2BGZHZyu8f4G3QX3DS6LKDEOz6ufZJL5CkPzGR7ysXrZD6kGV+OkBEQ0L X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9efd75c5-ecdd-495a-2544-08da57e6ceed 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:25.3807 (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: 0ZXU1Fyen/gO7G8hUIbIWU+AEhQeuw3ASsabbHe505IY96vLCDDRoaXYWB+X4Nvfnroq/N2qUJgxSGbAy9slfw== 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 <u-boot.lists.denx.de> List-Unsubscribe: <https://lists.denx.de/options/u-boot>, <mailto:u-boot-request@lists.denx.de?subject=unsubscribe> List-Archive: <https://lists.denx.de/pipermail/u-boot/> List-Post: <mailto:u-boot@lists.denx.de> List-Help: <mailto:u-boot-request@lists.denx.de?subject=help> List-Subscribe: <https://lists.denx.de/listinfo/u-boot>, <mailto:u-boot-request@lists.denx.de?subject=subscribe> Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" <u-boot-bounces@lists.denx.de> X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de X-Virus-Status: Clean |
Series |
imx: support i.MX93
|
expand
|
diff --git a/arch/arm/include/asm/arch-imx9/sys_proto.h b/arch/arm/include/asm/arch-imx9/sys_proto.h index 5ae7a043398..ba97f92f5ae 100644 --- a/arch/arm/include/asm/arch-imx9/sys_proto.h +++ b/arch/arm/include/asm/arch-imx9/sys_proto.h @@ -9,4 +9,6 @@ #include <asm/mach-imx/sys_proto.h> void soc_power_init(void); +bool m33_is_rom_kicked(void); +int m33_prepare(void); #endif diff --git a/arch/arm/mach-imx/imx9/soc.c b/arch/arm/mach-imx/imx9/soc.c index 68f3ddd4287..2a29454d1eb 100644 --- a/arch/arm/mach-imx/imx9/soc.c +++ b/arch/arm/mach-imx/imx9/soc.c @@ -13,6 +13,7 @@ #include <asm/global_data.h> #include <asm/io.h> #include <asm/arch/clock.h> +#include <asm/arch/ccm_regs.h> #include <asm/arch/sys_proto.h> #include <asm/arch/trdc.h> #include <asm/mach-imx/boot_mode.h> @@ -378,3 +379,53 @@ void soc_power_init(void) disable_isolation(); } + +static bool m33_is_rom_kicked(void) +{ + struct blk_ctrl_s_aonmix_regs *s_regs = + (struct blk_ctrl_s_aonmix_regs *)BLK_CTRL_S_ANOMIX_BASE_ADDR; + + if (!(readl(&s_regs->m33_cfg) & BIT(2))) + return true; + + return false; +} + +int m33_prepare(void) +{ + struct src_mix_slice_regs *mix_regs = + (struct src_mix_slice_regs *)(ulong)(SRC_IPS_BASE_ADDR + 0x400 * (SRC_MIX_CM33 + 1)); + struct src_general_regs *global_regs = + (struct src_general_regs *)(ulong)SRC_GLOBAL_RBASE; + struct blk_ctrl_s_aonmix_regs *s_regs = + (struct blk_ctrl_s_aonmix_regs *)BLK_CTRL_S_ANOMIX_BASE_ADDR; + u32 val; + + if (m33_is_rom_kicked()) + return -EPERM; + + /* Release reset of M33 */ + setbits_le32(&global_regs->scr, BIT(0)); + + /* Check the reset released in M33 MIX func stat */ + val = readl(&mix_regs->func_stat); + while (!(val & SRC_MIX_SLICE_FUNC_STAT_RST_STAT)) + val = readl(&mix_regs->func_stat); + + /* Release Sentinel TROUT */ + ahab_release_m33_trout(); + + /* Mask WDOG1 IRQ from A55, we use it for M33 reset */ + setbits_le32(&s_regs->ca55_irq_mask[1], BIT(6)); + + /* Turn on WDOG1 clock */ + ccm_lpcg_on(CCGR_WDG1, 1); + + /* Set sentinel LP handshake for M33 reset */ + setbits_le32(&s_regs->lp_handshake[0], BIT(6)); + + /* Clear M33 TCM for ECC */ + memset((void *)(ulong)0x201e0000, 0, 0x40000); + + return 0; +}