From patchwork Fri Jun 2 06:45:38 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: 1789461 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=85.214.62.61; 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=hW0tdguh; dkim-atps=neutral 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 (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4QXXJp1LnLz20QH for ; Fri, 2 Jun 2023 15:54:50 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id CDDA9863C7; Fri, 2 Jun 2023 07:54: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=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="hW0tdguh"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id D3DDB84773; Fri, 2 Jun 2023 07:54:24 +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,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE,T_SPF_PERMERROR autolearn=unavailable autolearn_force=no version=3.4.2 Received: from EUR03-DBA-obe.outbound.protection.outlook.com (mail-dbaeur03on20602.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe1a::602]) (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 3C3B586399 for ; Fri, 2 Jun 2023 07:54:19 +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=Q/MaZMPIyV/GGff5m+pn4DOqWyLVtL6jMnlQFDj5nFacARf4mSVol/i2IlwASN/55VY4rAw8o62mEI9t2l30d6gfWofX2MTeRHFwrBJoqOfOxy1t5OxY58sLHLmxXCoNcUWb2NSqvSpEaggy2qkTcjIwCJhbYwAs86j6VSfXXkoBNUdfBThJteBy0L5eqMSxIvD7jRaImnxUMLj/Tu704D3oD6xRV9vkKGmJTlc56HL0Cqfqx+v78SuPwrA5mwcRIAiSw3/KXmN6Dz5UHWftbx3HwJWz4Otot1jKWGExyP9fEPvgl5ywYrdu6gA7qmg3GRPDQkD+5vinTXnuNdDsqg== 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=Opp1cI7qyw21kbbo0sK6tvoH0VpmgtoYc7ZGu9ynL0g=; b=JzYKCiedXWgGROObwtSKDroYu1J3V98yD+9P/Go9y0aL16Fn2sG7MhEE2wbNQh1Ho5ZTdJj7XDHlpIwFaiUmsfAG9YMvN+qU/GQDanXxTlb/zcunfqQnSI4JtYE+6DSzK05g2s3TEoN57KvqiHWI0y2hmNgL96cuJpBo03TUn9CIvAMavPOYJHzycB5RMnv8eJ0mqGannE/RDIAO1nkijJV0/6teHR9GBCoron95Ar9RVHFQAHZBf1MirE3f6GB31mUvlq7qugI6RmEkTrHaRPHBeoxhm2tmM21wagAP5n4tH6n2zDuA7Goof2mf5xoQu494L3zrl47LdCfn3RPD2g== 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=Opp1cI7qyw21kbbo0sK6tvoH0VpmgtoYc7ZGu9ynL0g=; b=hW0tdguhs8o3Lx+fVIccOB4R3FP8l0Qlb/NCd7u7LGzoGmrWCajp48sso9KmbZZEfmWmgBrViJBx14GLbNcbWINgT9dj0C05ecgb4G5OT0c9Nc2EIKU40sHTXcKke5BeghDIqujXfsJ0DCr361ftxf8UJi+jBPmG8XQnDRaFFiQ= 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 DU2PR04MB8983.eurprd04.prod.outlook.com (2603:10a6:10:2e2::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.24; Fri, 2 Jun 2023 05:54:17 +0000 Received: from DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::7b3d:4c2a:1636:da28]) by DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::7b3d:4c2a:1636:da28%6]) with mapi id 15.20.6455.020; Fri, 2 Jun 2023 05:54:16 +0000 From: "Peng Fan (OSS)" To: sbabic@denx.de, festevam@gmail.com, "NXP i.MX U-Boot Team" , Jaehoon Chung Cc: u-boot@lists.denx.de, Peng Fan Subject: [PATCH 01/30] imx: mach: correct SCU API usage Date: Fri, 2 Jun 2023 14:45:38 +0800 Message-Id: <20230602064607.17222-2-peng.fan@oss.nxp.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230602064607.17222-1-peng.fan@oss.nxp.com> References: <20230602064607.17222-1-peng.fan@oss.nxp.com> X-ClientProxiedBy: SG2PR06CA0194.apcprd06.prod.outlook.com (2603:1096:4:1::26) 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_|DU2PR04MB8983:EE_ X-MS-Office365-Filtering-Correlation-Id: 7f5b2c59-3008-4131-2995-08db632dcce4 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: t4Cd5XJCOvKxe/YFJ+J0j442cmztS0d09mpBQxjZHA/Y/EskZG6IsnrCwkM5B1XGDF+jcTjAZGC4khK5YP0GbsF6Ck/wVZgLyl5mPJmpgpl8i+AE8hvm+mGPxL1CX5gCTSqUjYp7pFLR5pdtqJ8B/ek1yqjsQUgBialft2xrUIaedgvl97rForgWmwqJZiVxU4B17TtMc/MSWNJA2jLznk1//XccQQxPqxGN3/wFCYLxCmr2OO7WE9QXcO0TCwtmKmEQTiE5TNyA7n+f2rHOyRuTCH8nQJBcq60q1U13hgeCc44N7vr6sZHSYJMUYyFEN29p0/EZ//IUQPruGOFwmeEgiDwyBd6az+VcWbwk8d1+feCfsr8DAwsSaWJyc5hEUaF9tMUsiEYXpfPc6TK5QZ0fZNCi153dTUrUYEjItHKV4kvoXFIBZLAHBp1f8YNTb6jHJ047FOGlLzlvOBtD/trRPGyyCmLBFMnWx6Z/bWsLpx8Jw5VnqNiQ41IrdLzuAIHiQXmO+a6TflWUCJgXcOJn/cRym1NO2pr2fwW98W7XmKQe6D+FoL4XN19PDsSPPxLSll8HPLhMu+jvGFVMryBMHpqyYaVkMxPyqt+Qmuoona4pV146YJxfuURAJLZH 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:(13230028)(4636009)(376002)(366004)(136003)(396003)(346002)(39860400002)(451199021)(30864003)(8936002)(52116002)(8676002)(38100700002)(86362001)(38350700002)(41300700001)(186003)(6486002)(2616005)(316002)(6506007)(6512007)(1076003)(26005)(6666004)(2906002)(478600001)(110136005)(83380400001)(5660300002)(4326008)(66946007)(66476007)(66556008); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 5b4Q0ScH+RZ2RD3zkY9QFxIX71ypZD4hsIdwLttfkst7K2B9vCrfBf59JmJyGE4qR9iC+saT4Z0WVB8e92rYqvxEeNt50vjlhjQd4wP9VtrEnUByfb6Y9ghjXWzrf268OYqam1Kk4zMuDInMOLTqaNhk1RA8xRWvvtLXw5QpuhwB9MjNWAW+Oq1gtXl6Lys/pqcfbE0iHVmW1gVjvu6sg+7bWeDOQG03+fwcoG4RlF2cRUWFJLiyxz168tu2pOwIFP2o3HJKKo/+tjKUrZj0C+2XClIeW35iUoNdYD7myKrrvDaamPoKFDLQEaTI+QmCZxDR5eZWay6NTM2sOJj4Ku8VW8o4e27d1KVDiAlJj9us6walX9YSgYaCG5pzqzAhsKWeTDf33lfFMgxTNcRd6xxkZEZ16MHNTG3qZp0OLFjoetHZ+myqowC8v84seSJWGrHBbAOMien5VtHI3iGLneDYx1RqnNsNpdzcYVouQM0SvVkhjmD+HmiQf8jVh2YrK4nTXzk2sAIoE9vKuODaYDeQPMeTIy9liQHeZ+HltHFw6SI98MV5F+aBZqnZ22n4JAdjKMQG2c5jrtB0mF4BDg07pQS77EetYImxsZhp0i6aKlebsO3uvHEUN78OFJ7F7hvU8wSMjXS0qtzXhrp5SlsQZwlBezmV0hOcjEqMhhZ57ADxcw348RGe6j9dNytuTikkduDB9iAbJieNIQD2Lu5usJOWCdhlqSHS0ffJX4a3vCBDeGD7OYAg5uPBZJOk2mpZzAhZyfDJn5/11hK4yjsDGYLUxgesBfRWzD6Ek1SF9JAePGZcLupI/YR+L+4LEJeOWE7Kv49suwaCfqBwrotxqRiRqDdGkACfvWLjh1ypMtB8E73spHsE7QhquNZB/IMpsfJz6LwyzpbvbECoX2uPWU4c9QznoZ833ry1B/napcnQRkrmKEuneEU+sFEGVCUe2p0totzp9s1/zgcLv4znPGKYSchpAHtgP8qvrJCGa38nv/QEBy4Y6YKD9AdAyTYoRXCtrUIy4r+OkVhSJYEGNgWmKB3LC/lazWbsIUCTb6AD5nI1Xpsfj6CJ6+kQK/BGlU9LTGd5GOgD5Gxs2CqN8cNpgo+1guzEPzk+8Y8rwwJ3MWOrxgadV9z0jO4qKvyV06wRBxM0ZnOrS0OKqDpR7emzZYJKVdMN2SyE4dUgcdTXi/ZKChNxIjhdf0xRxq/YygWjqgwNog+xl+kWj310sa3tbWG5+wmPt1ndvwUYATtbEI+6Nn7+Akyfjsb1ZdlzDvocTVelX6+kQVOwu5EU0mbNFZ0p8UcwJ3dOJTC+e1e6Qdd/q0jJ8CkFxszvUC9LB/AjTedSK+CTHlGzP9NLohAN19q/3aVLg3+Y1w3fBYeOOf98uV895omnjyyTqXFRCLZL3g8LSIEa5/N5tBcx7Qv+i7mPSYZ/+l/cVkWDTMdTon84WpYwWAQLkxw8ChWuHjGXs/f7OZtm/e2ZtfmpaJc7Y3glE6/KkkiPzkSATmxPE0Tjz3GLPCekpbxbyHumxOJYOcv+fPG3SXDpSAjm/xdckNRlbaZ7Ov0PVgE1JBCyaKvgC7NiZ6ysRAee X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7f5b2c59-3008-4131-2995-08db632dcce4 X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9417.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jun 2023 05:54:16.8662 (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: QFV0qVNaoaQpIU1VinCIPnb0tc79q3LNi26hEvxzZRz90/k/ElTOMXFyeoXvLwAz0KdY/03L0GKULMKgsfq/Pw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8983 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 From: Peng Fan The return value is int type, not sc_err_t(u8), correct the usage. Signed-off-by: Peng Fan --- arch/arm/mach-imx/cmd_dek.c | 2 +- arch/arm/mach-imx/imx8/ahab.c | 10 +- arch/arm/mach-imx/imx8/cpu.c | 6 +- arch/arm/mach-imx/imx8/fdt.c | 2 +- arch/arm/mach-imx/imx8/snvs_security_sc.c | 175 +++++++++--------- .../power/domain/imx8-power-domain-legacy.c | 9 +- 6 files changed, 98 insertions(+), 106 deletions(-) diff --git a/arch/arm/mach-imx/cmd_dek.c b/arch/arm/mach-imx/cmd_dek.c index 69ed57537b3..d77a49df860 100644 --- a/arch/arm/mach-imx/cmd_dek.c +++ b/arch/arm/mach-imx/cmd_dek.c @@ -154,7 +154,7 @@ error: static int blob_encap_dek(u32 src_addr, u32 dst_addr, u32 len) { - sc_err_t err; + int err; sc_rm_mr_t mr_input, mr_output; struct generate_key_blob_hdr hdr; u8 in_size, out_size; diff --git a/arch/arm/mach-imx/imx8/ahab.c b/arch/arm/mach-imx/imx8/ahab.c index 9addb824b6d..86b0e0b755f 100644 --- a/arch/arm/mach-imx/imx8/ahab.c +++ b/arch/arm/mach-imx/imx8/ahab.c @@ -147,7 +147,7 @@ int authenticate_os_container(ulong addr) } exit: - if (sc_seco_authenticate(-1, SC_SECO_REL_CONTAINER, 0) != SC_ERR_NONE) + if (sc_seco_authenticate(-1, SC_SECO_REL_CONTAINER, 0)) printf("Error: release container failed!\n"); return ret; @@ -263,7 +263,7 @@ static int do_ahab_status(struct cmd_tbl *cmdtp, int flag, int argc, u16 lc; err = sc_seco_chip_info(-1, &lc, NULL, NULL, NULL); - if (err != SC_ERR_NONE) { + if (err) { printf("Error in get lifecycle\n"); return -EIO; } @@ -271,7 +271,7 @@ static int do_ahab_status(struct cmd_tbl *cmdtp, int flag, int argc, display_life_cycle(lc); err = sc_seco_get_event(-1, idx, &event); - while (err == SC_ERR_NONE) { + while (!err) { printf("SECO Event[%u] = 0x%08X\n", idx, event); display_ahab_auth_event(event); @@ -312,7 +312,7 @@ static int do_ahab_close(struct cmd_tbl *cmdtp, int flag, int argc, return -EACCES; err = sc_seco_chip_info(-1, &lc, NULL, NULL, NULL); - if (err != SC_ERR_NONE) { + if (err) { printf("Error in get lifecycle\n"); return -EIO; } @@ -324,7 +324,7 @@ static int do_ahab_close(struct cmd_tbl *cmdtp, int flag, int argc, } err = sc_seco_forward_lifecycle(-1, 16); - if (err != SC_ERR_NONE) { + if (err) { printf("Error in forward lifecycle to OEM closed\n"); return -EIO; } diff --git a/arch/arm/mach-imx/imx8/cpu.c b/arch/arm/mach-imx/imx8/cpu.c index 7b292c07ef9..2b34077438f 100644 --- a/arch/arm/mach-imx/imx8/cpu.c +++ b/arch/arm/mach-imx/imx8/cpu.c @@ -195,7 +195,7 @@ enum boot_device get_boot_device(void) #define FUSE_UNIQUE_ID_WORD1 17 void get_board_serial(struct tag_serialnr *serialnr) { - sc_err_t err; + int err; u32 val1 = 0, val2 = 0; u32 word1, word2; @@ -206,13 +206,13 @@ void get_board_serial(struct tag_serialnr *serialnr) word2 = FUSE_UNIQUE_ID_WORD1; err = sc_misc_otp_fuse_read(-1, word1, &val1); - if (err != SC_ERR_NONE) { + if (err) { printf("%s fuse %d read error: %d\n", __func__, word1, err); return; } err = sc_misc_otp_fuse_read(-1, word2, &val2); - if (err != SC_ERR_NONE) { + if (err) { printf("%s fuse %d read error: %d\n", __func__, word2, err); return; } diff --git a/arch/arm/mach-imx/imx8/fdt.c b/arch/arm/mach-imx/imx8/fdt.c index 02b3ee5c111..491c8bb8c75 100644 --- a/arch/arm/mach-imx/imx8/fdt.c +++ b/arch/arm/mach-imx/imx8/fdt.c @@ -110,7 +110,7 @@ static int config_smmu_resource_sid(int rsrc, int sid) err = sc_rm_set_master_sid(-1, rsrc, sid); debug("set_master_sid rsrc=%d sid=0x%x err=%d\n", rsrc, sid, err); - if (err != SC_ERR_NONE) { + if (err) { if (!check_owned_resource(rsrc)) { printf("%s rsrc[%d] not owned\n", __func__, rsrc); return -1; diff --git a/arch/arm/mach-imx/imx8/snvs_security_sc.c b/arch/arm/mach-imx/imx8/snvs_security_sc.c index d7b20a1fcbf..1eaa68f8d5f 100644 --- a/arch/arm/mach-imx/imx8/snvs_security_sc.c +++ b/arch/arm/mach-imx/imx8/snvs_security_sc.c @@ -286,16 +286,15 @@ static int check_write_secvio_config(u32 id, u32 *_p1, u32 *_p2, u32 *_p3, u32 *_p4, u32 *_p5, u32 _cnt) { - int scierr = 0; + int err; u32 d1 = ptr_value(_p1); u32 d2 = ptr_value(_p2); u32 d3 = ptr_value(_p3); u32 d4 = ptr_value(_p4); u32 d5 = ptr_value(_p5); - scierr = sc_seco_secvio_config(-1, id, SC_WRITE_CONF, &d1, &d2, &d3, - &d4, &d4, _cnt); - if (scierr != SC_ERR_NONE) { + err = sc_seco_secvio_config(-1, id, SC_WRITE_CONF, &d1, &d2, &d3, &d4, &d4, _cnt); + if (err) { printf("Failed to set secvio configuration\n"); debug("Failed to set conf id 0x%x with values ", id); debug("0x%.8x 0x%.8x 0x%.8x 0x%.8x 0x%.8x (cnt: %d)\n", @@ -315,7 +314,7 @@ static int check_write_secvio_config(u32 id, u32 *_p1, u32 *_p2, *(u32 *)_p5 = d5; exit: - return scierr; + return err; } #define SC_CHECK_WRITE1(id, _p1) \ @@ -323,7 +322,7 @@ exit: static int apply_snvs_config(struct snvs_security_sc_conf *cnf) { - int scierr = 0; + int err = 0; debug("%s\n", __func__); @@ -365,92 +364,88 @@ static int apply_snvs_config(struct snvs_security_sc_conf *cnf) cnf->lp.act_tamper_routing_ctl1, cnf->lp.act_tamper_routing_ctl2); - scierr = check_write_secvio_config(SC_CONF_OFFSET_OF(lp.tamper_filt_cfg), - &cnf->lp.tamper_filt_cfg, - &cnf->lp.tamper_filt1_cfg, - &cnf->lp.tamper_filt2_cfg, NULL, - NULL, 3); - if (scierr != SC_ERR_NONE) + err = check_write_secvio_config(SC_CONF_OFFSET_OF(lp.tamper_filt_cfg), + &cnf->lp.tamper_filt_cfg, + &cnf->lp.tamper_filt1_cfg, + &cnf->lp.tamper_filt2_cfg, + NULL, NULL, 3); + if (err) goto exit; /* Configure AT */ - scierr = check_write_secvio_config(SC_CONF_OFFSET_OF(lp.act_tamper1_cfg), - &cnf->lp.act_tamper1_cfg, - &cnf->lp.act_tamper2_cfg, - &cnf->lp.act_tamper2_cfg, - &cnf->lp.act_tamper2_cfg, - &cnf->lp.act_tamper2_cfg, 5); - if (scierr != SC_ERR_NONE) + err = check_write_secvio_config(SC_CONF_OFFSET_OF(lp.act_tamper1_cfg), + &cnf->lp.act_tamper1_cfg, + &cnf->lp.act_tamper2_cfg, + &cnf->lp.act_tamper2_cfg, + &cnf->lp.act_tamper2_cfg, + &cnf->lp.act_tamper2_cfg, 5); + if (err) goto exit; /* Configure AT routing */ - scierr = check_write_secvio_config(SC_CONF_OFFSET_OF(lp.act_tamper_routing_ctl1), - &cnf->lp.act_tamper_routing_ctl1, - &cnf->lp.act_tamper_routing_ctl2, - NULL, NULL, NULL, 2); - if (scierr != SC_ERR_NONE) + err = check_write_secvio_config(SC_CONF_OFFSET_OF(lp.act_tamper_routing_ctl1), + &cnf->lp.act_tamper_routing_ctl1, + &cnf->lp.act_tamper_routing_ctl2, + NULL, NULL, NULL, 2); + if (err) goto exit; /* Configure AT frequency */ - scierr = SC_CHECK_WRITE1(SC_CONF_OFFSET_OF(lp.act_tamper_clk_ctl), - &cnf->lp.act_tamper_clk_ctl); - if (scierr != SC_ERR_NONE) + err = SC_CHECK_WRITE1(SC_CONF_OFFSET_OF(lp.act_tamper_clk_ctl), + &cnf->lp.act_tamper_clk_ctl); + if (err) goto exit; /* Activate the ATs */ - scierr = SC_CHECK_WRITE1(SC_CONF_OFFSET_OF(lp.act_tamper_ctl), - &cnf->lp.act_tamper_ctl); - if (scierr != SC_ERR_NONE) + err = SC_CHECK_WRITE1(SC_CONF_OFFSET_OF(lp.act_tamper_ctl), &cnf->lp.act_tamper_ctl); + if (err) goto exit; /* Activate the detectors */ - scierr = check_write_secvio_config(SC_CONF_OFFSET_OF(lp.tamper_det_cfg), - &cnf->lp.tamper_det_cfg, - &cnf->lp.tamper_det_cfg2, NULL, NULL, - NULL, 2); - if (scierr != SC_ERR_NONE) + err = check_write_secvio_config(SC_CONF_OFFSET_OF(lp.tamper_det_cfg), + &cnf->lp.tamper_det_cfg, + &cnf->lp.tamper_det_cfg2, NULL, NULL, NULL, 2); + if (err) goto exit; /* Configure LP secvio */ - scierr = SC_CHECK_WRITE1(SC_CONF_OFFSET_OF(lp.secvio_ctl), - &cnf->lp.secvio_ctl); - if (scierr != SC_ERR_NONE) + err = SC_CHECK_WRITE1(SC_CONF_OFFSET_OF(lp.secvio_ctl), &cnf->lp.secvio_ctl); + if (err) goto exit; /* Configure HP secvio */ - scierr = SC_CHECK_WRITE1(SC_CONF_OFFSET_OF(hp.secvio_ctl), - &cnf->hp.secvio_ctl); - if (scierr != SC_ERR_NONE) + err = SC_CHECK_WRITE1(SC_CONF_OFFSET_OF(hp.secvio_ctl), &cnf->hp.secvio_ctl); + if (err) goto exit; /* Lock access */ - scierr = SC_CHECK_WRITE1(SC_CONF_OFFSET_OF(hp.lock), &cnf->hp.lock); - if (scierr != SC_ERR_NONE) + err = SC_CHECK_WRITE1(SC_CONF_OFFSET_OF(hp.lock), &cnf->hp.lock); + if (err) goto exit; - scierr = SC_CHECK_WRITE1(SC_CONF_OFFSET_OF(lp.lock), &cnf->lp.lock); - if (scierr != SC_ERR_NONE) + err = SC_CHECK_WRITE1(SC_CONF_OFFSET_OF(lp.lock), &cnf->lp.lock); + if (err) goto exit; exit: - return (scierr == SC_ERR_NONE) ? 0 : -EIO; + return err; } static int dgo_write(u32 _id, u8 _access, u32 *_pdata) { - int scierr = sc_seco_secvio_dgo_config(-1, _id, _access, _pdata); + int err = sc_seco_secvio_dgo_config(-1, _id, _access, _pdata); - if (scierr != SC_ERR_NONE) { + if (err) { printf("Failed to set dgo configuration\n"); debug("Failed to set conf id 0x%x : 0x%.8x", _id, *_pdata); } - return scierr; + return err; } static int apply_snvs_dgo_config(struct snvs_dgo_conf *cnf) { - int scierr = 0; + int err; debug("%s\n", __func__); @@ -468,50 +463,50 @@ static int apply_snvs_dgo_config(struct snvs_dgo_conf *cnf) cnf->tamper_misc_ctl, cnf->tamper_core_volt_mon_ctl); - dgo_write(0x04, 1, &cnf->tamper_offset_ctl); - if (scierr != SC_ERR_NONE) + err = dgo_write(0x04, 1, &cnf->tamper_offset_ctl); + if (err) goto exit; - dgo_write(0x14, 1, &cnf->tamper_pull_ctl); - if (scierr != SC_ERR_NONE) + err = dgo_write(0x14, 1, &cnf->tamper_pull_ctl); + if (err) goto exit; - dgo_write(0x24, 1, &cnf->tamper_ana_test_ctl); - if (scierr != SC_ERR_NONE) + err = dgo_write(0x24, 1, &cnf->tamper_ana_test_ctl); + if (err) goto exit; - dgo_write(0x34, 1, &cnf->tamper_sensor_trim_ctl); - if (scierr != SC_ERR_NONE) + err = dgo_write(0x34, 1, &cnf->tamper_sensor_trim_ctl); + if (err) goto exit; - dgo_write(0x54, 1, &cnf->tamper_core_volt_mon_ctl); - if (scierr != SC_ERR_NONE) + err = dgo_write(0x54, 1, &cnf->tamper_core_volt_mon_ctl); + if (err) goto exit; /* Last as it could lock the writes */ - dgo_write(0x44, 1, &cnf->tamper_misc_ctl); - if (scierr != SC_ERR_NONE) + err = dgo_write(0x44, 1, &cnf->tamper_misc_ctl); + if (err) goto exit; exit: - return (scierr == SC_ERR_NONE) ? 0 : -EIO; + return err; } static int pad_write(u32 _pad, u32 _value) { - int scierr = sc_pad_set(-1, _pad, _value); + int err = sc_pad_set(-1, _pad, _value); - if (scierr != SC_ERR_NONE) { + if (err) { printf("Failed to set pad configuration\n"); debug("Failed to set conf pad 0x%x : 0x%.8x", _pad, _value); } - return scierr; + return err; } static int apply_tamper_pin_list_config(struct tamper_pin_cfg *confs, u32 size) { - int scierr = 0; + int err = 0; u32 idx; debug("%s\n", __func__); @@ -519,13 +514,13 @@ static int apply_tamper_pin_list_config(struct tamper_pin_cfg *confs, u32 size) for (idx = 0; idx < size; idx++) { debug("\t idx %d: pad %d: 0x%.8x\n", idx, confs[idx].pad, confs[idx].mux_conf); - pad_write(confs[idx].pad, 3 << 30 | confs[idx].mux_conf); - if (scierr != SC_ERR_NONE) + err = pad_write(confs[idx].pad, 3 << 30 | confs[idx].mux_conf); + if (err) goto exit; } exit: - return (scierr == SC_ERR_NONE) ? 0 : -EIO; + return err; } int examples(void) @@ -753,7 +748,7 @@ static char snvs_clear_status_help_text[] = static int do_snvs_clear_status(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) { - int scierr = 0; + int err; u32 idx = 0; struct snvs_security_sc_conf conf = {0}; @@ -764,20 +759,18 @@ static int do_snvs_clear_status(struct cmd_tbl *cmdtp, int flag, int argc, conf.lp.status = hextoul(argv[++idx], NULL); conf.lp.tamper_det_status = hextoul(argv[++idx], NULL); - scierr = check_write_secvio_config(SC_CONF_OFFSET_OF(lp.status), - &conf.lp.status, NULL, NULL, NULL, - NULL, 1); - if (scierr != SC_ERR_NONE) + err = check_write_secvio_config(SC_CONF_OFFSET_OF(lp.status), + &conf.lp.status, NULL, NULL, NULL, NULL, 1); + if (err) goto exit; - scierr = check_write_secvio_config(SC_CONF_OFFSET_OF(lp.tamper_det_status), - &conf.lp.tamper_det_status, NULL, - NULL, NULL, NULL, 1); - if (scierr != SC_ERR_NONE) + err = check_write_secvio_config(SC_CONF_OFFSET_OF(lp.tamper_det_status), + &conf.lp.tamper_det_status, NULL, NULL, NULL, NULL, 1); + if (err) goto exit; exit: - return (scierr == SC_ERR_NONE) ? 0 : 1; + return err; } U_BOOT_CMD(snvs_clear_status, @@ -793,7 +786,7 @@ static char snvs_sec_status_help_text[] = static int do_snvs_sec_status(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) { - int scierr; + int err; u32 idx; u32 data[5]; @@ -864,8 +857,8 @@ static int do_snvs_sec_status(struct cmd_tbl *cmdtp, int flag, int argc, for (idx = 0; idx < ARRAY_SIZE(pads); idx++) { u8 pad_id = pads[idx]; - scierr = sc_pad_get(-1, pad_id, &data[0]); - if (scierr == 0) + err = sc_pad_get(-1, pad_id, &data[0]); + if (!err) printf("\t- Pin %d: %.8x\n", pad_id, data[0]); else printf("Failed to read Pin %d\n", pad_id); @@ -876,8 +869,8 @@ static int do_snvs_sec_status(struct cmd_tbl *cmdtp, int flag, int argc, for (idx = 0; idx < ARRAY_SIZE(fuses); idx++) { u32 fuse_id = fuses[idx]; - scierr = sc_misc_otp_fuse_read(-1, fuse_id, &data[0]); - if (scierr == 0) + err = sc_misc_otp_fuse_read(-1, fuse_id, &data[0]); + if (!err) printf("\t- Fuse %d: %.8x\n", fuse_id, data[0]); else printf("Failed to read Fuse %d\n", fuse_id); @@ -888,10 +881,10 @@ static int do_snvs_sec_status(struct cmd_tbl *cmdtp, int flag, int argc, for (idx = 0; idx < ARRAY_SIZE(snvs); idx++) { struct snvs_reg *reg = &snvs[idx]; - scierr = sc_seco_secvio_config(-1, reg->id, 0, &data[0], - &data[1], &data[2], &data[3], - &data[4], reg->nb); - if (scierr == 0) { + err = sc_seco_secvio_config(-1, reg->id, 0, &data[0], + &data[1], &data[2], &data[3], + &data[4], reg->nb); + if (!err) { int subidx; printf("\t- SNVS %.2x(%d):", reg->id, reg->nb); @@ -908,8 +901,8 @@ static int do_snvs_sec_status(struct cmd_tbl *cmdtp, int flag, int argc, for (idx = 0; idx < ARRAY_SIZE(dgo); idx++) { u8 dgo_id = dgo[idx]; - scierr = sc_seco_secvio_dgo_config(-1, dgo_id, 0, &data[0]); - if (scierr == 0) + err = sc_seco_secvio_dgo_config(-1, dgo_id, 0, &data[0]); + if (!err) printf("\t- DGO %.2x: %.8x\n", dgo_id, data[0]); else printf("Failed to read DGO %d\n", dgo_id); diff --git a/drivers/power/domain/imx8-power-domain-legacy.c b/drivers/power/domain/imx8-power-domain-legacy.c index 37b0f95abac..c8ca2665752 100644 --- a/drivers/power/domain/imx8-power-domain-legacy.c +++ b/drivers/power/domain/imx8-power-domain-legacy.c @@ -89,7 +89,6 @@ static int imx8_power_domain_on(struct power_domain *power_domain) struct udevice *dev = power_domain->dev; struct imx8_power_domain_plat *pdata; struct imx8_power_domain_priv *ppriv; - sc_err_t ret; int err; struct power_domain parent_domain; @@ -117,11 +116,11 @@ static int imx8_power_domain_on(struct power_domain *power_domain) if (!sc_rm_is_resource_owned(-1, pdata->resource_id)) printf("%s [%d] not owned by curr partition\n", dev->name, pdata->resource_id); - ret = sc_pm_set_resource_power_mode(-1, pdata->resource_id, + err = sc_pm_set_resource_power_mode(-1, pdata->resource_id, SC_PM_PW_MODE_ON); - if (ret) { + if (err) { printf("Error: %s Power up failed! (error = %d)\n", - dev->name, ret); + dev->name, err); return -EIO; } } @@ -139,7 +138,7 @@ static int imx8_power_domain_off_node(struct power_domain *power_domain) struct imx8_power_domain_priv *ppriv; struct imx8_power_domain_priv *child_ppriv; struct imx8_power_domain_plat *pdata; - sc_err_t ret; + int ret; ppriv = dev_get_priv(dev); pdata = dev_get_plat(dev); From patchwork Fri Jun 2 06:45:39 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: 1789460 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=ZgGDel2W; 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 4QXXJY3MNmz20QH for ; Fri, 2 Jun 2023 15:54:37 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id B05D9847D3; Fri, 2 Jun 2023 07:54:25 +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="ZgGDel2W"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 1DBBF863BE; Fri, 2 Jun 2023 07:54:24 +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,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE,T_SPF_PERMERROR autolearn=ham autolearn_force=no version=3.4.2 Received: from EUR03-DBA-obe.outbound.protection.outlook.com (mail-dbaeur03on20627.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe1a::627]) (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 882FA847D3 for ; Fri, 2 Jun 2023 07:54:21 +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=MAA3wrbLTf0HCEcOlRlwLdYtUZiopcRQn0MOCVKd4KOrQfct/5KwMISLrRv/nwcekr4/mIj6s4+0g82DWctaCWo/nU8FEgXQnQG9Cg6c/SCdHg/ii5j9G/51SvZYEL4C2m6JyWEiDFdYIESF7KfC3S6LzdspDIGUZ0wekwz44cxiesQUFkzQweXFPW9EQomW6BfGoKH1NBpDH0nGALVEWfAvDz53YmFlaDCWxQL7byj9J+wavXB0ITRdQk6KvANKfLBMLZszrW/HyZiDqZIGgXSvmOAHJjIp9n+lQXqyE6whnmoAUpd4m5NCBKIZszFpetSpXCz+cSmhS4neZ9ed8A== 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=7SD2/xWG7LkkGj5sGD7NxGAe3pqqG4YgEAkzB6exP6o=; b=J4q/Uyy9yfpK5d1A6wHxfvr4A+1qWAGeE3LxXRr8gERwX3xbCIkCvaSD25SYa7ewn4ZRbjHPM0lUDEBLmHWhYw0KZkvz+mQr5fwp0XhujIB412LVei93OveIuSszGXK9hqAnjtA1HRvjR45FsmoDnI8NP0MYdZLQJoEezUtfgbW8Io4tsI9KCy1fl6tcaXimAlUOE4pTavYoT+iF8CJcJ2tbrsNlVfBH5H+/tjRiHXG5rafF02s6EShyRdTLPSFm8ka7toMuHA2sz29vrGt5xOxTq0GAR+ksYSnDYp0kT0MDGPhT3tcVvU4LwHaXsbMJsXnB8ZmA3+c4TBi0kCBssQ== 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=7SD2/xWG7LkkGj5sGD7NxGAe3pqqG4YgEAkzB6exP6o=; b=ZgGDel2W+xYHGRRC9Ja9nSlYsyYY4CbdCpgeiH5fvEa0jGjWVL18ZrsDkfhRqR9bBj+5wwGUhC0eXNGXwGX2BAT1Tvs2+mwaFUkY4ovbL8YiAR/HdTy92sxmeMR/Bj/I+sk9v+86XNffPGFIFd58IlD4McUisvIO5RefyIC/U2A= 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 DU2PR04MB8983.eurprd04.prod.outlook.com (2603:10a6:10:2e2::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.24; Fri, 2 Jun 2023 05:54:19 +0000 Received: from DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::7b3d:4c2a:1636:da28]) by DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::7b3d:4c2a:1636:da28%6]) with mapi id 15.20.6455.020; Fri, 2 Jun 2023 05:54:19 +0000 From: "Peng Fan (OSS)" To: sbabic@denx.de, festevam@gmail.com, Marcel Ziswiler Cc: u-boot@lists.denx.de, Peng Fan Subject: [PATCH 02/30] imx: toradex/apalis-imx8: correct SCU API usage Date: Fri, 2 Jun 2023 14:45:39 +0800 Message-Id: <20230602064607.17222-3-peng.fan@oss.nxp.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230602064607.17222-1-peng.fan@oss.nxp.com> References: <20230602064607.17222-1-peng.fan@oss.nxp.com> X-ClientProxiedBy: SG2PR06CA0194.apcprd06.prod.outlook.com (2603:1096:4:1::26) 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_|DU2PR04MB8983:EE_ X-MS-Office365-Filtering-Correlation-Id: 2175c71a-a688-4fc5-b82a-08db632dce87 X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-LD-Processed: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: haHvm+yXomsSg3CbRChebgP2rGEWLHnho1VZ4LNu6KcAjhquZJIh3DmRlTd7ryeITgslZXxdHPRs/tYRuNcEJfEYL1ciXViPU6KbhaQc55hl3l36tGGNbnMQpqNckxf89luFO7IoX8AKDlAPKPLy2PiKsPsXI60+AwguspgtMJUp2TtsezozARHF+hOM09gKEGi18/RS2uW6awnYiVila/tfN7ThHWK50UNbSm45JJC5ptH0ryb/+2XXEWl6NNBs9PuqQYd4OXBDFSWiexThqPje3dnQ+A06gE22nPQmBMao9zcPfze+H6eiq7QvBYJYtnVAV++FUhv/+UQUyEVJYxkkvGaUuxdwjVnN061vbPjlWmF0ShaP6sqlSrpCUi1O72eUXj3EJwMgzVv/7cER5uyUwtgeOow+o38BkbuQAIOZ7ZQlZCb6s3g8KQt4j76PSk1QjoqgjTd6r/9eTDDqJdvaHNJTRLMZo1iH6r1RG1aDUOnWNn1QmktUbdk/3Am4MGtSaXJlR4E9SlaFXd/O5+2pUjzuTc2qiRjuaUVxE7it8MLYosf47UqGJqJQX4O8Kq7ckMGe44IOjyxmzbKmQC2aFS8HPy4gcq/8zCMT+JshkYus5JlBxaf14DtxobiB 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:(13230028)(4636009)(346002)(39860400002)(396003)(136003)(366004)(376002)(451199021)(6916009)(4326008)(66476007)(66556008)(66946007)(83380400001)(5660300002)(86362001)(38350700002)(38100700002)(41300700001)(186003)(2616005)(6486002)(52116002)(8676002)(8936002)(2906002)(478600001)(6666004)(316002)(6512007)(1076003)(6506007)(26005); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: JoOwjc9OaYVG4cZafxW7zreTi34VWPw8RIkg96prbaAKA3hBTOdnu/DL/iKl8rSWx64xpgXo+jt913AhGFZ2t7OFWKlLzfYVfpqUIF/IGmQBe4fu3WUpLBYuaEfUZDzoZ30egYO27XxIeek8cAGaGWv+jd0qW/WPZ1eYIFaYC9IRApJJTVew/nZG8/0q4ctMbWFuW0wzkHT2yIza+1Alf4wKY4loI15XzhQK7aU5bRqGSNt4wtUw8XWvi4v1ez8ELqkDqMB0PvJBzPkjNqYlHl+ea9m28otbukvO5QfzY6YTGbqvP9P8GytbHbjzCq3P7Vky5sX/oR6KdsYLnzJ8By+hwV/mJeVGAlwkmsd2CozWUz8B58XefKJZqBEwpLkNtBPf00VIOl/AxtWpwl87MSY5lanWVLAEt90m/Mnj93XuPBdxgs0OxtvwP0JCSUwGahdOn5rUfgtUJh7qBr8Wa5LR8dRGQAcQ9VN6w5jPp9EY2ZHJU3NLcGcrrJ7eKLjVM7iM6Re5nBUAwXA9rRjYWq6cj2ZwRjQSEEJ/lEfu47pdD0T2ATwaBsQpAOLSEidp1bligVYRjKh7+KeoP7NGkodauCfiJkGIvMWSHFS4s83E5YxZJfG7fypHqxel7+r2vUb8dmHJTcqWGQKO+gQNBix2Ds6qTX/RYHaLe1pxQK1hs8EaJ0KhZWSeZhHhieF5PnM+Ga82rQvitMw+NCDSWFUOwCYsPHMqD4aUOQ4iOYD9I1K+jCy/BlNPLkwtlJLNRKgK9bivLoI7qKWImp3zbFqzwNlsjz5cB9wcCVKu9CyRWjbl0k/cZiI99RBofwuk7fy2QxM5zNTyuydI8G/C4JOF/tPyNbIfCKw1ToIY4JQYJNtf0vO9UERehL1nKNlKemdsHl/vVdDqA9GcYVPoQVWhagxEpZFTgKfL4eXAY/GZBMCU1IErMD3fVMX2luh0BYpPXbvXFC90XohRvsS/NdrRC9nZmNqw6HyQWyfB4nQuwwg5S6EbxbfwCAQ41ObadIVjAc1d1E/0SXzKYGsNNP2WULyrtp+zNeZe51Lvq5k/P9/OP3RqX1ENvfxVLA9V88VwmcqIAKCDemK13A+0lm4cynbK+CZVfV/EmS6Rv7pWfitsLFUE6Zgy7wEIQAKqboa0yEAGYYzZn7E88P0VI8FqHIZApG3eXstMnCTZJUIsD4WwOIaz8KwKr38JWsD+8LkrFJvmTsOur+TQHRqtIQVxyfc4qreL5sBrUakoGorKKz4Tq3sVpiDffAkW9Mwp+fSAsECjjZiewpi//B0oft0WsUx1s6pdyv7ujkFaZzI7/boLPb9gs7bwrIzDoqMHePI6IT2GP0Sbs5ztC1HZ/47OfoM+wH6yqTGRorzmvNQldHd0B9LMaWW87xqltb4dtWpC2qM6HKrJl7Uyq7BHUF8VAbNOsDWi/IeTq1ytJoHn0FcOUKtCrnb5onwYN/VHOx/5bavAhJArMNDHOaugmZwmB75IernckGdegjzX2Xiy8/Agh2XTk1AOUNrbK3mwVokbf9VSzs4A0SgOLBPuVUIevXjHGpcAvHdqfmh7kvd6NW2FefIkhN+1ipQz9u74 X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2175c71a-a688-4fc5-b82a-08db632dce87 X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9417.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jun 2023 05:54:19.4919 (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: ewDWA9rsh1yKj1+YirlgWvbgwe+9I8S918JPJbCYZd1p3jW87MEppVGig9ATjA2cCLH6MRR7WVB8WFmlpaiXXQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8983 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 From: Peng Fan The return value is int type, not sc_err_t(u8), correct the usage. Signed-off-by: Peng Fan --- board/toradex/apalis-imx8/apalis-imx8.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/board/toradex/apalis-imx8/apalis-imx8.c b/board/toradex/apalis-imx8/apalis-imx8.c index aa76c486eec..e2bbaba8b8c 100644 --- a/board/toradex/apalis-imx8/apalis-imx8.c +++ b/board/toradex/apalis-imx8/apalis-imx8.c @@ -85,18 +85,18 @@ static void setup_iomux_uart(void) static uint32_t do_get_tdx_user_fuse(int a, int b) { - sc_err_t sciErr; + int sciErr; u32 val_a = 0; u32 val_b = 0; sciErr = sc_misc_otp_fuse_read(-1, a, &val_a); - if (sciErr != SC_ERR_NONE) { + if (sciErr) { printf("Error reading out user fuse %d\n", a); return 0; } sciErr = sc_misc_otp_fuse_read(-1, b, &val_b); - if (sciErr != SC_ERR_NONE) { + if (sciErr) { printf("Error reading out user fuse %d\n", b); return 0; } @@ -131,9 +131,9 @@ void board_mem_get_layout(u64 *phys_sdram_1_start, { u32 is_quadplus = 0, val = 0; struct tdx_user_fuses tdxramfuses; - sc_err_t scierr = sc_misc_otp_fuse_read(-1, 6, &val); + int scierr = sc_misc_otp_fuse_read(-1, 6, &val); - if (scierr == SC_ERR_NONE) { + if (scierr) { /* QP has one A72 core disabled */ is_quadplus = ((val >> 4) & 0x3) != 0x0; } From patchwork Fri Jun 2 06:45:40 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: 1789462 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=85.214.62.61; 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=T8+MRK0B; dkim-atps=neutral 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 (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4QXXK56m8Cz20Tj for ; Fri, 2 Jun 2023 15:55:05 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id DFC07863D7; Fri, 2 Jun 2023 07:54:29 +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="T8+MRK0B"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 42F95863AF; Fri, 2 Jun 2023 07:54:26 +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,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE,T_SPF_PERMERROR autolearn=ham autolearn_force=no version=3.4.2 Received: from EUR03-DBA-obe.outbound.protection.outlook.com (mail-dbaeur03on2062f.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe1a::62f]) (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 CFA52856C4 for ; Fri, 2 Jun 2023 07:54:23 +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=AgeQTfD9jjNBXNVi9QhFZ1l5LNL5YnsCTc8G9sHVKudn8bjNwtNJNelR/nxGEgIqv56niQHWYAQmDlUKZNHultusMhUnfxWmiMFzYOhiDlHv2w5Q76cS7J5yPjTdve8mCGoEA63cy0SQue9u5ypg0SCpR4ALQaRroV/MZqDBWWohqZGzzy/JkI13FJKzJkIxvAQJMV1oVNbZjNBLH7wZQ3NYUCRQoJuy3oGarcLT4tjWk3KNYFfA6+/AAqjdX46TC+1UeNv3PdC1P0aL+K6Qld/6J/3ZXBx6VBwwRXlBIlvwKO+RKUIr97H21+3K+LQAOFlMeDEK4Fd+nIS7+spmEg== 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=LqxX6UQGvHAaCleKJfrjDspB2iYkLpDYrJY+04eMYx0=; b=VcZR4121XdRErml9EJL9B/E2KBONlW1XNCnUB5vy5eJkuApA3E9uKFyIB1su6qE7qO/NfGIAkgYUoArSx4Uw07Ee8UKgGHhSouVmCuqKAgQUDBH23T5JA1dJe+RNaqQTKfwdNLMnFYpXCdcjsva1I1aW9sMycqz9Y5tdiZfpQ0jh/vtOMFnngYWhlj2BnE+a8EU9FsZyAbBtj/WGhAH/cW7O7uUeZOeLvSTLQzHtOuKmMkSqoheAhFDO3b0RHuwfcF8K1f/xZhgrDOpzSWAZiwAdb9i6CmoNqLnUmgwXXIIQsKvh+Lfh0rUWgr9Phr3SNcZ5hPjJPaDZRD+mT3UYuQ== 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=LqxX6UQGvHAaCleKJfrjDspB2iYkLpDYrJY+04eMYx0=; b=T8+MRK0B6IqhIo+HPBj/Y+Vumqi+QZ/sOq3i3YkqFo4bXSYDQ9UD99CvBfSPa3SbpUoujX8BWArlrpCWfBMwa1LFEu8HuMtU53lAMdUeD3ekZDHbfRDwm25HeiIPSZXAkV7ZkSIxFdA12nJkcgKTh8vPVFol29bKFuw6JHXDhOA= 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 DU2PR04MB8983.eurprd04.prod.outlook.com (2603:10a6:10:2e2::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.24; Fri, 2 Jun 2023 05:54:22 +0000 Received: from DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::7b3d:4c2a:1636:da28]) by DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::7b3d:4c2a:1636:da28%6]) with mapi id 15.20.6455.020; Fri, 2 Jun 2023 05:54:22 +0000 From: "Peng Fan (OSS)" To: sbabic@denx.de, festevam@gmail.com, Marcel Ziswiler Cc: u-boot@lists.denx.de, Peng Fan Subject: [PATCH 03/30] imx: toradex/colibri-imx8x: correct SCU API usage Date: Fri, 2 Jun 2023 14:45:40 +0800 Message-Id: <20230602064607.17222-4-peng.fan@oss.nxp.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230602064607.17222-1-peng.fan@oss.nxp.com> References: <20230602064607.17222-1-peng.fan@oss.nxp.com> X-ClientProxiedBy: SG2PR06CA0194.apcprd06.prod.outlook.com (2603:1096:4:1::26) 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_|DU2PR04MB8983:EE_ X-MS-Office365-Filtering-Correlation-Id: 51415c93-a3a9-44a2-212c-08db632dd024 X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-LD-Processed: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: C7QGcWfbOfve3oZg2Po+ug6ea2Ho7sD8Ugg7G+B/RzgFEqF9NxcObnE2MS+nkY8pnVf9MsJ1CgR3q1CphNEmcIQDG5PUHDxq5JpnogCFEaD+jmcKklpm8/2XnibNCnJzkr0JBKD0wtihhIIRGUUKzKVEKBXC8ULrbfP6KbkmhdBDfXrr2cNoBUiUszf7rOcISud3/TzSVlrgh8nik/GhjT16LphsjX0r+DPs94dKSWGzL9gQlwvlFx9KNBgeW94eD2Tug/kdalYvRDdgwxfaGcRgS5JV71eK2GDmZA+NVVWf7vceVRZOONh5vh26RWIV1/vI1vFcXKCnzJWrS4vEv6Kh5DLNOfAulG34KIUpzXWCa/4kmRXU9SNgxDxnR2bFoQa1XK3HhTFV75sMrwXY7TYDa8ua5A/fRdQq8L9UHVBwPjAAd4BrlPQFmqMWWOuANWnM5cOp9UHnQRckN9O2vB7n8JoV3ye76umE1rG3dPVoVOJmiADbmQ/1/fGyZL3xW9ZMiprgFX0vE1bPb5hah5dryUwjmqDEZ/5m3qoLK+b06K9DJ1vhUX0FKv1gi+eQfeIsnTRIs7WjJOzMlx9Hpiev533FoDXZNVroffUTyw5ehhE5N5kTOX5oF3+xcPq0 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:(13230028)(4636009)(346002)(39860400002)(396003)(136003)(366004)(376002)(451199021)(6916009)(4326008)(66476007)(66556008)(66946007)(83380400001)(5660300002)(86362001)(38350700002)(38100700002)(41300700001)(186003)(2616005)(6486002)(52116002)(8676002)(8936002)(2906002)(478600001)(6666004)(316002)(6512007)(1076003)(6506007)(26005); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: x2dOs9E3+Tfn8Md33LR/XuZIhzcqPecHhRZJ1kedLFzQmEqGOmeKXyIte3zx1m5ueu28xUZzPVGEBkaCCok250/KB4jxinYVKxycrDXq/X21OKyKUrxDVE76OQfJSmjeA4zd7x6k/TWlyHlddPUhrIclP9Y2xL4nkrQ838FF+NQ6H3JwMR43TA1JMSNDRpTnFctSUe/gcWYgY9WyjfLMntK5sFcGvrSTWHleK05Z337Jd+kTpTD/EM+GiH2pq5AOlfbVwQI/zIm7el1Qy7leLPk22RH+jfQBlvgSI7ON/fkRR4lsOubgxyE0ssynANpxaoQUK2WLIxUKw8y4HWQoXWxmWIIXOB4p510eq9IpllusIeEB0q2eKgL00cIPlChWXLXQkJL4uE9Bk/9i0SIOOKDbeYdE/diKFmWMO7VUtPf13YMS85WkfzoNShLP6fX9lXAdr69MaGue1pVe98gIzdgZjr+fasGerkRLTQR6+UfZ2FrvD0gzWiDwasSfsIohWAQI9BN/Ho2SXk0nGS1zGT1nUp61RJPrt7HlbWCYFhR4O9cKI7uJJmXr2LJ2T9b3KHg1U57ChYuqq4W+RpW/FIXLsS/st0GMEP7/jQKvFkWc+IpbnWod7zfWGB8sgSsKJMynzFEm8cFy8PwoGtGv8iApp/UYQo+BkNqxGS9ovKJaEfNBrNk5anO/FoXbsVpKmVkDVJs4ixGShAqlox+A3JWjnXnA5YytcjoD6rTD8cMs+sdmaTUwwOONu+22js2smMs8iS71o4BDK2WMjG1onG8V/8p/a/lx/fTJWWOaiw6QJl2HVgqc5qV7ieUtl3/SzuHn/dzY/4xdpIs5kCiMf45ViSKkrNr1rD916Bb4RLCi37RJ0NVq44toMt+p6DBAiP9daVjD3PGKA1pvngyEXWE/7yJCCsx7Ir7w3m4F2BAgnpWC3VmsWa489BNpYfZY8cZK9QdZ8olqARdEfRLM8oe4weTPpu/7Umf4nj/e3rUOUECmwjYsPuRMCbJbz+hpG9FR4QSPEbCNiEc/OT/k8qzzPLppnEpkUEq7mBQGVw2VsLT1wtIc+GivvA6yye66YGLPczmJEKxZ65WUThzk0tV/q3++hveISwV9ODCoY8SP4eP0COnL1zf63r1BSPMaiCmBxM5iVme3psNznB0RAI9SptQHUJctQQM9gJYJRI24HqsO5cMrWXUC9rSobaJBHmNT38vAh9PyJG+i0M9/k2+XRLm1yCya30pFp2wL0GYMiN2wtvsH/3ZnFyGZ6KWSUNMHHTHMe0BQs9n4NKvTdn6pzKCxnzKTQjLtwXKGGpsJIrkh/iDPfR7J2H4EbNUja6/IkiUFMN6blypD+A8dBk5TFpM3GSKkhweWA3RK8nr8wc0QUUei4ZmoVVOfjbITlw47O5QmatbBnyaOPI51t+xF77UKQpJGfeLSpZo6cSTM0/gHmMoimL3itNWSRrNbb/lFtdTRXvPl1J2KO4EC3FKrYLFYyctDW48PlzPGlDd5QEPVAkpiVczm11pgwl4o/OZW2ZL53OjDz/MMF62Xa6a7ewSqUuK5H8+fGoyTMt4e8mAExccTQquDQKLJnh0j X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 51415c93-a3a9-44a2-212c-08db632dd024 X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9417.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jun 2023 05:54:22.1681 (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: 3W3a/t9ZZxwva530fGi2K3pNAMsCDji16ItMTYoF6anBmApJLQ5tgLy/MZtuh+pvB9fw9HQ8Dw90/GlieZzsRw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8983 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 From: Peng Fan The return value is int type, not sc_err_t(u8), correct the usage. Signed-off-by: Peng Fan --- board/toradex/colibri-imx8x/colibri-imx8x.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/board/toradex/colibri-imx8x/colibri-imx8x.c b/board/toradex/colibri-imx8x/colibri-imx8x.c index 52fc7a391bb..29efd8c6a53 100644 --- a/board/toradex/colibri-imx8x/colibri-imx8x.c +++ b/board/toradex/colibri-imx8x/colibri-imx8x.c @@ -43,9 +43,9 @@ static void setup_iomux_uart(void) static int is_imx8dx(void) { u32 val = 0; - sc_err_t sc_err = sc_misc_otp_fuse_read(-1, 6, &val); + int sc_err = sc_misc_otp_fuse_read(-1, 6, &val); - if (sc_err == SC_ERR_NONE) { + if (sc_err) { /* DX has two A35 cores disabled */ return (val & 0xf) != 0x0; } @@ -70,7 +70,7 @@ void board_mem_get_layout(u64 *phys_sdram_1_start, int board_early_init_f(void) { sc_pm_clock_rate_t rate; - sc_err_t err = 0; + int err; /* * This works around that having only UART3 up the baudrate is 1.2M @@ -78,13 +78,13 @@ int board_early_init_f(void) */ rate = 80000000; err = sc_pm_set_clock_rate(-1, SC_R_UART_0, SC_PM_CLK_PER, &rate); - if (err != SC_ERR_NONE) + if (err) return 0; /* Set UART3 clock root to 80 MHz and enable it */ rate = SC_80MHZ; err = sc_pm_setup_uart(SC_R_UART_3, rate); - if (err != SC_ERR_NONE) + if (err) return 0; setup_iomux_uart(); From patchwork Fri Jun 2 06:45:41 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: 1789463 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=85.214.62.61; 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=OMZUE6LZ; dkim-atps=neutral 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 (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4QXXKM3Hqbz20Q4 for ; Fri, 2 Jun 2023 15:55:19 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id C0FF7865B0; Fri, 2 Jun 2023 07:54:31 +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="OMZUE6LZ"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id B107B8638B; Fri, 2 Jun 2023 07:54:28 +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,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE,T_SPF_PERMERROR autolearn=ham autolearn_force=no version=3.4.2 Received: from EUR03-DBA-obe.outbound.protection.outlook.com (mail-dbaeur03on20619.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe1a::619]) (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 7D6FE863BA for ; Fri, 2 Jun 2023 07:54:26 +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=AkOXiJDHuVEvAxMnkV9kljZ76Ss/fnhZF+utMehyIc/dPFpS2bO+QeBjXSKC8+vZ/pudvBVAddVlAEpVaTjGMDDCrUfmSkGMOSYrfZqa9fFF8O4KAvOgldmOQlJRcq72PGqoZsvNAiJLEz9bZiHiPPAZuhyGuxwXZrDrcn1jffy6UjeNYOgMymXB1XFKfNtDxCw+dIVdsqiZXfo4RUYMdtLOX9hVJuWanFQKpChNHHUZh2G+FcBN1TKa9ydJfTTtbyvUsJLCpwHO7gCZXAQZVX+rmuSCOlqo1JybupLvG1g7pYKkpj7fqZ+SxajqU1R9X34TgGrFo5vDQQVGBevEqw== 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=Q2mbvm/Vnm9EixSD0wrKawIgxBbQdK04+6RflQuw76g=; b=LDw3pLrtO9uvR6ZOKPg3+CnCAVzdcfX3LrzyLHfwDO6wUlfBL9aka+5iinVI7G/IAgb54ABQPQgWJF0JvUio5f8BMWs1v4PjPgNtIz9xl/scDkkbB6ITve3PkCW6AAn7GgUqJPZW95N3OUZpYzJCmbriDkGyC1Wrmj5FjcXbrO9yHmMt6v6wV78+Jn9iPq3FV17bfAfxVO5xFEvgBUVs2yKq4AfgxkqK4I5TH5K5RNOeKaiZrEjWxBnmoGqC7HLRkFk4cS1er2e+CQQd3eUn5Sl0fds3mTxYCXyTnlNkvuWELAO2l2KMuyPwH2+ItHNrZB3Eq1YFdTnWXQarV/1x1g== 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=Q2mbvm/Vnm9EixSD0wrKawIgxBbQdK04+6RflQuw76g=; b=OMZUE6LZg3eUsKA81H0Oq13QaEQOUUNvKsjNyB0nPwjKFLzLK4QLEJWw0vTQDpoLDO10ntNLAN0G1BEzrbhQmvjNRuKKCdSyJT2D/X41ZN1fw2ubPAGF94rRYVZHgM9eSmUEjIcJtJsnHZVUQoHy23jzruW2tQiAbUqHo4axp18= 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 DU2PR04MB8983.eurprd04.prod.outlook.com (2603:10a6:10:2e2::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.24; Fri, 2 Jun 2023 05:54:25 +0000 Received: from DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::7b3d:4c2a:1636:da28]) by DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::7b3d:4c2a:1636:da28%6]) with mapi id 15.20.6455.020; Fri, 2 Jun 2023 05:54:25 +0000 From: "Peng Fan (OSS)" To: sbabic@denx.de, festevam@gmail.com, Anatolij Gustschin Cc: u-boot@lists.denx.de, Peng Fan Subject: [PATCH 04/30] imx: siemens/capricorn: correct SCU API usage Date: Fri, 2 Jun 2023 14:45:41 +0800 Message-Id: <20230602064607.17222-5-peng.fan@oss.nxp.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230602064607.17222-1-peng.fan@oss.nxp.com> References: <20230602064607.17222-1-peng.fan@oss.nxp.com> X-ClientProxiedBy: SG2PR06CA0194.apcprd06.prod.outlook.com (2603:1096:4:1::26) 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_|DU2PR04MB8983:EE_ X-MS-Office365-Filtering-Correlation-Id: a1edeb10-d8db-459b-5958-08db632dd1d8 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: Kbpjt+ZQx6AQ0TLUqHPoVzAiXMjAV+8b7TFFwKWsCitjWmaGj6quyQu5hbe3lOdahAklBwqlu2aPmgEhL9p87KLsOfkq2Ni/2a4rRTlmJo77t6K4sVPtRlpsvkF4kj1GCzfZMPVf/qRpXr48jPhpei/2YHxQmIxm7Ew+tXt+43VYEhLOEDR4ANZzmGWgzfns3WFXW/pTGTIdgcGGt9kBVllp0Z10cH/iluaWIybuiPwtSdbSNXs/fHgv0g62YjksdAh9IcsLbT6ph/VfmTt84UnjnfVOpkIyZcHKA3k+kmDF49xT531L0irNq6hOeGzS5/nlQP2yjYJt0Vm23eLvkZQnnJEbe1fEtcVmLHj8Ss+LSdukKr7e2WK4kO1NzEHMWFuzjm2tbAiEPoEkKsh2A3Zoxv0rEhW2sKYg4YQ81FJctjgtOTPl79NmbEC/o4KOTvUNNK3lSSa30lPWEM6rvklKrxfTM3tA+tb0cmB3Y7kgmQzPBVc9FWSmi46XiUu2BIUOtQ4bF/XMdrIfg8CJIJzpE2LT+J8Dkx6prGezJhyuXB7IlKPk7hd9W1wb/32kbTQXs+WUlUjkVKgr7+25JlNBSYoSkvMVlUs/5KYlH1rrjvo0HVlVF9lEl8KNlhJ+ 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:(13230028)(4636009)(346002)(39860400002)(396003)(136003)(366004)(376002)(451199021)(6916009)(4326008)(66476007)(66556008)(66946007)(83380400001)(5660300002)(86362001)(38350700002)(38100700002)(41300700001)(186003)(2616005)(6486002)(52116002)(8676002)(8936002)(2906002)(478600001)(6666004)(316002)(6512007)(1076003)(6506007)(26005); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: EXIRHfNvSqlYAR3OI27iFQad+KwofOt+xkK9ky8zaGyCe/qQKRXZ1Jm5kQcEV1F4bOftlnyNY5u9qUbdz6xp9euJ1AYEFUeuFDXHowfh1q5g2Vxq1AwWyZzg27HntLIkCXFiG2phPZEVolC/vmaqoypKjIiQMxssIaSBuy+39AVDZTnWfT24ILbZCL60ZrbCPhqTqB2auydAWQU35YE7QdPnjqUeSd/qOO24ldHi/3dI9r2/jFwJD8E7ljgGoNB+DeD+NNLASGXgXN3jLEi63oK4nZBPXcxjniuIW06HgeMDWJb5qHkBHCmkQp+PF6SHk2Vu4YApBghiv7rmvVfwTrAZz6rKv69KUXSH+K6HenjPXy5axwrfPC6gYB7i/T/eBxgdMW/8W0HtSH1pSKFUy3UIXgj1N9Eb5w9HoTyqgMx/2dOoaETRHMYVuCTNi54kxiEf5ay8RdFwLTmFRb3WYGh4F2lmHO5/evJokyYY669bexMXPGCHFUG0mKoYepqa7gBhoGiegWq/5UIaFKc5nRfQkC6xnpwcUhSSP+ALOccYZM/JrgFjonjSO/poskAGvMMgI1+7fcgXxAXY2sPjMk1a3Gz0Y/3/9vpkR81bdCij+d/wxHk5rT4+KjZZqQzuc4HuTXAUZCkVzOIdJXXfnmVbqC2MWFE2ieHK2PV19PTTcnqMB+yvtxLYFLszZ66Iq7ixJKLSVttXwCvJhE02cbOy/RBcjKKX0pSbhOE0QwjSlDkcasn6sjZdvRXkfMhtUY1S6Sl+6t77mvyxBkeXozBTwXqj9Z3bd1TOEGjyRkxo43mbG26/9cJMNA7ySbQyEtfHMli3FDQxtymaqlfb54KIo6iT4BT2+CXHylDf0BwZZoKcLz+3/ste9UZJKIzNsWAb7l0QD4C9HupBRFzDjZJKUs+hko49NgxkB0iWoIhzDtHT4WFm/2IWXpotzfD1JJ1EGuTvHrphZk/AxBt//xxDzdTZDL3Td8KbVjlj4glR9oW0r//s+pyeSH6NjM8HDbYjuBeTrBIzEQXGuIjUpFvEG9c3Ax3IYBDFzYc5+TsImtCCwAU/tcmTtvpb9mPf92izJn17I01+YkldMDFLPZiZSYT8cNWVr9NkE3p6//1////RkMFoe0lKavxj7synDAhsZjIB6La3Wt4bNupEv7nSJHQDhfQMfrKEq42oSaLKVtJP35LXbLROCWvDdcMB/GpD3H1BPLvbfPm6UjA9qrwGaOu5a5IFHHmczf3P8jzgtbHaHEIt6V0F0HAZFw7oEQKI93sNSnNXjFCbKPu2vgopuJKE68YlsBoc8NkEG9T5+TsUWZGWwoiJqNLFH0vbNEqrM+DVlmKm+FLNqZLXEw/pTDfmTyHke8hRMpebTyU779o46MapT6FwgLgVqMJfBoBeCf/XYNXY9ZutDNyFiw1TnQkKNSSrKJjHaQD8yq89VhQiR2Ly0te2QM+XZvHlS44Qv0F4rexoxZxp/8swb5pys21X61A9ew/NJtUZUbSvTBOwvlt8cZ94UF+zgNmS9L3HYEF7WSTMXsSi0oOcZPscPMi8CTKAnxKCKTjzCKBuA67SexETES8/Tzti5J50 X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: a1edeb10-d8db-459b-5958-08db632dd1d8 X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9417.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jun 2023 05:54:25.0414 (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: XyNsQW3YPsOBk3crLwobxdYxLZ3lbW2igfQd+73Y05X5h6NgGwu8byBkaThH1Aws2VRoTJq3k5kBE8xKtMc5TA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8983 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 From: Peng Fan The return value is int type, not sc_err_t(u8), correct the usage. Signed-off-by: Peng Fan --- board/siemens/capricorn/board.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/board/siemens/capricorn/board.c b/board/siemens/capricorn/board.c index a0c62e0fc4c..924c88e8fab 100644 --- a/board/siemens/capricorn/board.c +++ b/board/siemens/capricorn/board.c @@ -147,7 +147,7 @@ static void enet_device_phy_reset(void) int setup_gpr_fec(void) { sc_ipc_t ipc_handle = -1; - sc_err_t err = 0; + int err = 0; unsigned int test; /* @@ -175,35 +175,35 @@ int setup_gpr_fec(void) */ err = sc_misc_set_control(ipc_handle, SC_R_ENET_1, SC_C_TXCLK, 1); - if (err != SC_ERR_NONE) + if (err) printf("Error in setting up SC_C %d\n\r", SC_C_TXCLK); sc_misc_get_control(ipc_handle, SC_R_ENET_1, SC_C_TXCLK, &test); debug("TEST SC_C %d-->%d\n\r", SC_C_TXCLK, test); err = sc_misc_set_control(ipc_handle, SC_R_ENET_1, SC_C_CLKDIV, 0); - if (err != SC_ERR_NONE) + if (err) printf("Error in setting up SC_C %d\n\r", SC_C_CLKDIV); sc_misc_get_control(ipc_handle, SC_R_ENET_1, SC_C_CLKDIV, &test); debug("TEST SC_C %d-->%d\n\r", SC_C_CLKDIV, test); err = sc_misc_set_control(ipc_handle, SC_R_ENET_1, SC_C_DISABLE_50, 0); - if (err != SC_ERR_NONE) + if (err) printf("Error in setting up SC_C %d\n\r", SC_C_DISABLE_50); sc_misc_get_control(ipc_handle, SC_R_ENET_1, SC_C_TXCLK, &test); debug("TEST SC_C %d-->%d\n\r", SC_C_DISABLE_50, test); err = sc_misc_set_control(ipc_handle, SC_R_ENET_1, SC_C_DISABLE_125, 1); - if (err != SC_ERR_NONE) + if (err) printf("Error in setting up SC_C %d\n\r", SC_C_DISABLE_125); sc_misc_get_control(ipc_handle, SC_R_ENET_1, SC_C_TXCLK, &test); debug("TEST SC_C %d-->%d\n\r", SC_C_DISABLE_125, test); err = sc_misc_set_control(ipc_handle, SC_R_ENET_1, SC_C_SEL_125, 1); - if (err != SC_ERR_NONE) + if (err) printf("Error in setting up SC_C %d\n\r", SC_C_SEL_125); sc_misc_get_control(ipc_handle, SC_R_ENET_1, SC_C_SEL_125, &test); From patchwork Fri Jun 2 06:45:42 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: 1789464 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=WCbmhhRf; 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 4QXXKd31jLz20Q4 for ; Fri, 2 Jun 2023 15:55:33 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 4203F865CA; Fri, 2 Jun 2023 07:54:34 +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="WCbmhhRf"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 26302865CA; Fri, 2 Jun 2023 07:54:32 +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,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE,T_SPF_PERMERROR autolearn=ham autolearn_force=no version=3.4.2 Received: from EUR03-DBA-obe.outbound.protection.outlook.com (mail-dbaeur03on20621.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe1a::621]) (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 4361D847BD for ; Fri, 2 Jun 2023 07:54:29 +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=N+32lMKbr9NY7e+c/Yl+WLck+jnCeJSvdPj4lUFLkwAdPCHyd4kJ8+ZchgyEANjI2AZaBX3Jd10V2Xl6fOjTDOc6PwHsvZ1pP9d9hwn4b0jWUx5rVkGgCkW0XJLZNzCdzZuo0YEGRE3mX+zTlgVICcEiIW8j4BQQPVjvU2gezbBHnAOgRcG1rwxSJfit+xNw42clnhPs+ETuKDKdMJvfDg/3xDPfBU0lyO2DDaHrtpvsK+B4QpFt54GGT6kwNzjDlTpnDkC2yQuej3Ayn6rnAvcOcPpc6QVeaqXs/dhMaohE4wVh7FEO9x3x5nNf5MK8Bimn6v+0aAZnkz5npyU8NA== 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=jzQoUTIB+6Lzd0lRqALPYGHLwNGuMnt+CP+ryrCnKNY=; b=Z3vsH8OufVKKeM17k70CuY6zlyGdJbxut+SYcpAfi/UjvBjyZdBq1Ve/MKCpZmSEKEA62gZwtxsuZlWRPgyR/AtVzqXyBZwYxPti03DO65GKPgAM6fd7SIgcZEzpF560d/q3dRa2JtLRf1fKGJNdE4/OBid9nyI9IY0yEWrj/I0ujJFl8NKLjN7fPptz9gICRYdJxRBsSZnpkbIp+LylFXZlsc1L1G4e2WAoAGbLMQJztibV7CxkFVcHyLAGJ+Q+p3xYxVFu42NIVhQNrjAybPJ2O6MSzJmrPRdPTVC3tf4zBwsOt4uoZVo66Iss1/QN5Un+f61Gz7tZ3kS07eWwfQ== 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=jzQoUTIB+6Lzd0lRqALPYGHLwNGuMnt+CP+ryrCnKNY=; b=WCbmhhRfWHkr2EhSALtcP5Dy6RTsfkQvBbySiV8WiKZK/4HEyb44+qcgKIN47syWUumhT93VQ+D9Op5+rHCGy71gZJi2N4m8Ew/WYTVtFw+OmhZ/a6Rc0JJrlxY8ZFQzSDUdr6XpMLGXoztX339jMoP4bOYTdDAqTDAxGOY2DSY= 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 DU2PR04MB8983.eurprd04.prod.outlook.com (2603:10a6:10:2e2::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.24; Fri, 2 Jun 2023 05:54:27 +0000 Received: from DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::7b3d:4c2a:1636:da28]) by DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::7b3d:4c2a:1636:da28%6]) with mapi id 15.20.6455.020; Fri, 2 Jun 2023 05:54:27 +0000 From: "Peng Fan (OSS)" To: sbabic@denx.de, festevam@gmail.com, Oliver Graute Cc: u-boot@lists.denx.de, Peng Fan Subject: [PATCH 05/30] imx: advantech: correct SCU API usage Date: Fri, 2 Jun 2023 14:45:42 +0800 Message-Id: <20230602064607.17222-6-peng.fan@oss.nxp.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230602064607.17222-1-peng.fan@oss.nxp.com> References: <20230602064607.17222-1-peng.fan@oss.nxp.com> X-ClientProxiedBy: SG2PR06CA0194.apcprd06.prod.outlook.com (2603:1096:4:1::26) 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_|DU2PR04MB8983:EE_ X-MS-Office365-Filtering-Correlation-Id: 6cc5b318-7c8f-44c5-fae6-08db632dd36f X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-LD-Processed: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Bh3dIT1sNfT6v3/xyP9i6IUNVrvpJeUqBLjr8x2v5s8ns0eLiAOFlf5dKfYFdGl27qtvexU34ss8K3kFPnw8ZSoBkCMpJWXQ2sLbvPqgya7azNF2v9L9u4jIQ3FxvYLfRsmg8G9u6xQcjMPhknlosxOXdEmaCSWdieaVrBJP7H1rfpOSTECT1/LM6cIbFXd736jh7RWFGYlzwVav87SORQ8FGdt5S3zwhLOKMCN05MLmGBCMGbUswX9d09SkQZcrBttu2cdEwf7dIbezwT61D2g4MkW6owu6ak1cMY+1dpZNHXWM/abfUR+s5cg3dVNxecJMGc5nGYg+v6tgCZxg4fM69S9Y9a8Cm1Bb9scialq8iJVvFeN9cJ9i1qnYBb9MN8x3w6eNTKD1Ml9sItNSd7zhYykQOjNe34VDm89ZjZqX2H1A4JtHO9zylkea0GmurWmmHbXkDvag4Zd/eGUUVzf8et1+/fUPpCoVHUuDpQA43Jirqx6eNf9J9AzdcxFl634WPs6JEhcony5LCjnlcU3rx73QzDnETf9t/Myoe559yK+KKOwgDGEWl8co7xisxJaHqJK4o0GMx+Xd1N+f58OCDWOYMvduEQepT6GjVmnRkWUAhLWphz+11nId5Kjd 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:(13230028)(4636009)(346002)(39860400002)(396003)(136003)(366004)(376002)(451199021)(6916009)(4326008)(66476007)(66556008)(66946007)(83380400001)(5660300002)(86362001)(38350700002)(38100700002)(41300700001)(186003)(2616005)(6486002)(52116002)(8676002)(8936002)(2906002)(478600001)(6666004)(316002)(6512007)(1076003)(6506007)(26005); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: i4jbOyAZah5DTN5qJjlWFfI9qe8i6BPIsrNCM+EEsPZhoNKYHaXMSZ9gjSOKu4Vs2PzxAqa/3QVNe3ioX/vWIMbjsDrkGxWt3DW+0fFbEijVZf4zH+dY2NhJXVUcuQMz/CdA7ffZjDGQyq2fsRhWDB2zeZU/WsszBVkQMkc0w6pYLOYvT5HUzgkvoIvpPDEGH+iYcHEjWdyptL2TyjrDyzy4Pw2bC6q1oUGiQPBd6MwOTaZ43w6NNClY4f9IN5WsTOL68aYzWB6dCo5pjbkO5hDjE4GOGOwY0g2ymg5AfXWKgxzy9a9cEOtl1X2KTLzh/yQiYaRwnEVo9XU5Eaf9tggdehDj4qer7/wvpgtdVgvvtd/n5ev4G9lbqB6gLasYSe3vX8wLpNxxsxQvH+coYyTGK1meELlU3v7xqWaDxfHfkVHxyIfLSF01PQAbA3JFBSc/jwha4O1ewOn1MdpfDAj6+WjV6q2DUq+rgF1A5Xz7IbCfHL50XqB02CMZK9gH8YK2iLqaXJ3EAt4DJKDaojq0Rs6ccqO0FA9HojGOGW1JwMrd+mt0Ug1UnLqkcA+wyCnJblRtvHBliufsMSUPBFnNOIkQvIdEEqUClwy1GL7T/xhRgaej4kTd3Wscy3mXoZ1ZNFQwGJMH+uOF1PpPy1eNLKzaYFC26DHtjqXDeC7u9NhUHhm5R89CTh9pjVpGVhzGfpPezldxIMXTCxneieRJrKzvCaQFs5Myi0YUCHI2cLRRVyrKK/te5nP5nTtX/NnklS4C2opazsVdK9FSuKhP6aCSe1hvnSUYAtIKbeuhvkkkG2Cvq/SW6C0WfgII5740LXroeaqkFR8Xm6mUIKvyI1suMBDlBY/P6NaF4dGxrLOSbC2F+wR8jqpanl+QEwYf8T87OUS4wvlonXhfTQv2mQbBeBE44ajTNKmVh26GJCfv4j4g8qZffsCrf71z7F7acgGosTPRefVsBMHABzjjuY4BSfAJH8drYueqFoX66jv7jtbJ+NKocBr0NHG77m/ISpBHnVL/sRX186ODiziaCYRbgylMVXheTJ/KQMSpHCoG4YN2Ko9ucqhu9hKNHkUR+DnPdyYUlycqjqp7Ufbzf36XY+ih9BzobHgIYTF5V3de7mz4QRSesYIe8A5iuTY08X5vDAeYqHsl1wTnk7XoC2sf1q6LzlvmLFeQ8F4dee8gHAAZAUOPCeBYQFkv7zg2YIAFx4gDKCPNGtjUc9pnEDASI7RoU+14zNVy0jcHcpiRvpO0acn0r9Z0QJc77n9nqEbNiv0pyhO7Z9O0r/90V3eRePNrYPrObb281m9wBT5WBR1lKPXRWgrhkTW/2TMGeTZZmF4w1XRGsQFOOdHQiVz1JK409MKsKsly5ujoN+CTERbLJxVMM5fVwr0iIgp2hzuAo8g/yKPHJtqQ8YmD/9sZvk2DQNJ94C7lTGnUx1/qY0LYYdxA6eJEwHEaws1cN8Z1ycfaFNmbUd/ThCkcKy7FbrkyH5qRTGlFeFa9qVSvKfy7EgzNLpkBHFwC99o8ZoCRBcLSCJtfDgoT/Fh7ockV17XXxWBnYYENP5aH2eJofSENcvGd2k+HmY/c X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6cc5b318-7c8f-44c5-fae6-08db632dd36f X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9417.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jun 2023 05:54:27.6996 (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: 3MJFHFUyJ5ewC6N4fMO0elEiInvoTK8yxisBbdC6me0Xka4v0AFHGrfiLeO4YSaaNa8V+2mgBaewN6hHV+llGQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8983 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 From: Peng Fan The return value is int type, not sc_err_t(u8), correct the usage. Signed-off-by: Peng Fan Tested-by: Oliver Graute Reviewed-by: Oliver Graute --- board/advantech/imx8qm_dmsse20_a1/spl.c | 6 +++--- board/advantech/imx8qm_rom7720_a1/spl.c | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/board/advantech/imx8qm_dmsse20_a1/spl.c b/board/advantech/imx8qm_dmsse20_a1/spl.c index 7f2e972425b..f36caece7d7 100644 --- a/board/advantech/imx8qm_dmsse20_a1/spl.c +++ b/board/advantech/imx8qm_dmsse20_a1/spl.c @@ -111,7 +111,7 @@ int board_mmc_init(struct bd_info *bis) switch (i) { case 0: ret = sc_pm_set_resource_power_mode(-1, SC_R_SDHC_0, SC_PM_PW_MODE_ON); - if (ret != SC_ERR_NONE) + if (ret) return ret; imx8_iomux_setup_multiple_pads(emmc0, ARRAY_SIZE(emmc0)); @@ -120,10 +120,10 @@ int board_mmc_init(struct bd_info *bis) break; case 1: ret = sc_pm_set_resource_power_mode(-1, SC_R_SDHC_2, SC_PM_PW_MODE_ON); - if (ret != SC_ERR_NONE) + if (ret) return ret; ret = sc_pm_set_resource_power_mode(-1, SC_R_GPIO_4, SC_PM_PW_MODE_ON); - if (ret != SC_ERR_NONE) + if (ret) return ret; imx8_iomux_setup_multiple_pads(usdhc2_sd, ARRAY_SIZE(usdhc2_sd)); diff --git a/board/advantech/imx8qm_rom7720_a1/spl.c b/board/advantech/imx8qm_rom7720_a1/spl.c index b602437c35b..922bb0b7d43 100644 --- a/board/advantech/imx8qm_rom7720_a1/spl.c +++ b/board/advantech/imx8qm_rom7720_a1/spl.c @@ -112,7 +112,7 @@ int board_mmc_init(struct bd_info *bis) switch (i) { case 0: ret = sc_pm_set_resource_power_mode(-1, SC_R_SDHC_0, SC_PM_PW_MODE_ON); - if (ret != SC_ERR_NONE) + if (ret) return ret; imx8_iomux_setup_multiple_pads(emmc0, ARRAY_SIZE(emmc0)); @@ -121,10 +121,10 @@ int board_mmc_init(struct bd_info *bis) break; case 1: ret = sc_pm_set_resource_power_mode(-1, SC_R_SDHC_2, SC_PM_PW_MODE_ON); - if (ret != SC_ERR_NONE) + if (ret) return ret; ret = sc_pm_set_resource_power_mode(-1, SC_R_GPIO_4, SC_PM_PW_MODE_ON); - if (ret != SC_ERR_NONE) + if (ret) return ret; imx8_iomux_setup_multiple_pads(usdhc2_sd, ARRAY_SIZE(usdhc2_sd)); From patchwork Fri Jun 2 06:45:43 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: 1789465 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=lf8gTxvA; 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 4QXXKv0W9Pz20Q4 for ; Fri, 2 Jun 2023 15:55:47 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 7404A86449; Fri, 2 Jun 2023 07:54:37 +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="lf8gTxvA"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 69BB78640D; Fri, 2 Jun 2023 07:54:35 +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,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE,T_SPF_PERMERROR autolearn=ham autolearn_force=no version=3.4.2 Received: from EUR03-DBA-obe.outbound.protection.outlook.com (mail-dbaeur03on2062d.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe1a::62d]) (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 58748863BA for ; Fri, 2 Jun 2023 07:54:32 +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=OH1CuUb6Gwjcf6BCJa5baa/Ntn93Pv8rjT91xKCic1mKzf74Xfq2+4PYMA3YNM31zU4N1td8+UlxPBLh2zcF6//pr5kOfOzTAZn79GmzOgoWQErAys4TAH40XojHrsku6kvA3dal1i0gdpSbg4ECeIVCZbW9ClffCCGdgs3z0s6oCQQKjYMAfeWVBQfnR9TmIDvkVeZEUWbjjDFskhYklxbQnaG4QVpfnzDm/rsyRnuhzLAm92U8MRMDvrhGcJF0c7LJCg/pQnaqJnCIB+VzLp4IUMWSb7PwehFLO9VcN6RfRah0nwjEeKD7KH5DRMVvjJ9LDzREFLoJ9WQvyw8UXQ== 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=Q7pcEY7jpfnc0D+WIsGd1aC06FCU8PFarVYDqFIH44g=; b=IHikBbGIGW/sXmvXbadN9BvZCIsPxIPCbpOb20IpPQNB70lEmrHXzmHs211H08phmrner5itHkUKyunvTZpA32ydOtsZnEdwp5dkoOUXT/NR9LqR4Qnkn6Isn5+KBwfUVxjgpP8xiMHTzJXkooeRZelto7reLWlGquQ724hmcOJ2fpkWufhehk6C9I52mXo6AZ8CKV0WsnIG0V8/Ogz6NRWXg8x9Q/aX9odDMtPx7bTpEKkFZ8L7CXpCLEKxPXpaJal1UFDjTrsStd7uOV7zedttwQtp6pidkZPFvoF6f463cQMRG+6lhAnwWhStPMa7sPEf96hZWoEC4xY8HAViqw== 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=Q7pcEY7jpfnc0D+WIsGd1aC06FCU8PFarVYDqFIH44g=; b=lf8gTxvA/GVqoIGuyg06NrTVqTh7n1NwsThXkE5zaYbUtR97EgyYj+hqI7wrmhUdA5MvqCUkmqTmJTEzgkPJBESqd/JW3060cAe0ULKtZwWEQhDiPLoHx9gW+v6PnTyxIf1mrQn8toTVhtCVklF+Htty6p1Ef7bl9OtfeVAvDvM= 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 DU2PR04MB8983.eurprd04.prod.outlook.com (2603:10a6:10:2e2::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.24; Fri, 2 Jun 2023 05:54:30 +0000 Received: from DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::7b3d:4c2a:1636:da28]) by DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::7b3d:4c2a:1636:da28%6]) with mapi id 15.20.6455.020; Fri, 2 Jun 2023 05:54:30 +0000 From: "Peng Fan (OSS)" To: sbabic@denx.de, festevam@gmail.com, Oliver Graute Cc: u-boot@lists.denx.de, Peng Fan Subject: [PATCH 06/30] imx: congatec/cgtqmx8: correct SCU API usage Date: Fri, 2 Jun 2023 14:45:43 +0800 Message-Id: <20230602064607.17222-7-peng.fan@oss.nxp.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230602064607.17222-1-peng.fan@oss.nxp.com> References: <20230602064607.17222-1-peng.fan@oss.nxp.com> X-ClientProxiedBy: SG2PR06CA0194.apcprd06.prod.outlook.com (2603:1096:4:1::26) 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_|DU2PR04MB8983:EE_ X-MS-Office365-Filtering-Correlation-Id: c979ec4d-7c3c-466b-153f-08db632dd4fe X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-LD-Processed: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: pDXmc8mW2D7QmPrN/LhksBmb7n6MZTKFrQjldhMkCHV4e0bvOQJ1X05u9QNEzZQ+f07WCEg5JczVktMR+5NMDJJmE7jFEXy7dsholKfKvYI6Id/g5qVovCUsJutjDL9M7r85r7W9sFavdx2ehdjWJsCcN1nlUA7mWOHj0uuTHIukSHx0ilzZfw3CDNoFq0oDbl56j3NY4sktcSMIBB1IiF9/q9S9Rs6Y++4C9Iy3pthMLsDoQzjTXXfMeTh4wOHWoDvZlm1a7mln6doExchZaBCkqv0I6dVg0qb8wMyNMw4/8SE718mWPL5PnMpK7JFMTF7extzo6jpKZVewlbBORyJcFRXxiuDJNYa5YHPj4raHmiNeImCImBHywtKX1seqKPT34khFKOK1GzNH6Lz8SLH5zjpy0MDdIlg5S1Od3tEMliU2GO8Nh/N0tM3MOuHy1KoAhUaE7ou5+bS8D65onmz005c67GLaKU85Ea7xB7J9fE83XulAdvRR/3gs1oq2gks+MmsodQl071KlyZXrKGqmYHcaVgc2d+sX7hvJp7A/S7hUa/KKHrG+Ku9XTqVLhi3DHQN1PZbFCDErP1lfVCrKYS5ESndR7MP7yHF+VAp9Blzk/B+bNu9PWXy5knqq 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:(13230028)(4636009)(346002)(39860400002)(396003)(136003)(366004)(376002)(451199021)(6916009)(4326008)(66476007)(66556008)(66946007)(83380400001)(5660300002)(86362001)(38350700002)(38100700002)(41300700001)(186003)(2616005)(6486002)(52116002)(8676002)(8936002)(2906002)(478600001)(6666004)(316002)(6512007)(1076003)(6506007)(26005); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: B8ljGRj08sjBbAa5jrCUC5J3MbxNW4+sVOhGPTW6g3SI8V257kdZspN8/rDwETTETEh0yT/2u6CAL3QbMxtMoY34xCf4sO75kdTS/3OSdIsiNFoF2+3SB97zbFdSWjFGxMBP8S8VAHxJxdcr6N+a/BfGQZ47oRtxYY2fEcVigX2RZKVArQzGxHeNQQRFD0quHGomwKHF0z0ZVs36Lxq2Km9veFmgR8y9woWrFn+Y5JFmjZcsfbLRUULvWCo7pRVnUi7/hjOKdDWFS+1qX1O7BRNvuHSmDuarveAaluTtm/9bS8IiFY18OaI69sfzGR9A/eXfYv3Gsm+B0UR+9yiLevOyDz6MuVV0FTervPDN2U602o8eFU77XQnlfvGs5ZBu2aUP6je7HwIX6ure576NFffkPitzGZylCgzdC9WWv6AEL00cMPz5pSY88C4y4Lgsqq/R45gbSTLmDMw3Q2/KRoLrMpQyxzmJ17cYFkoZOhXRD4/6AjwoYiRUNYvGF7oAM09P9qLfCmYVlKjxN0UdhHQZmExs7tmGChuUqYT6YfutIX/nBfqBf2zSpClDqh9RLNVFFq30VQnA9OvHh3+aKkDaCllvz/EIRDvGTaSX+NIriJ6NK/WrzhkuhgZXmTAgrlpDgIdIXHuAAN+1xaWi03g0f5ONU34g5YK+rUH7B0RHQPQ34OoZO5Bl9I1/lNku7zrpYM8WhcTHT+hNPXRhh2xRu1C0SxvgG24mEjh/5qGJBBoQvFi5RI2y3/XWSc4yXgtdj2xyXPV4yAEoNlLXeISleazXyn1unfFn5LCC4ROHLXbwvL4Zl67EKrfQIvtPE4VwZEOolVepXRVsM7gUzzYKk6EtpHo5BxskDq0FUkWR9hHIzBIJBfhVhw6n2VM7+gCz9hoIBBMghwj7hnhFXzO6QlMH143skCziSBr8yorreGjeoD+b9s9WLf0cEI2SeXfBj7NUfzFInzlWhGJeyE7zouYm/zY7DsvtimpKiRqPvNhgErI1+uJL9vSImBoQNy6usE9X9RSSaY53oP4oAAw44qsLD4LzNcX3ebnE1NzHJvmpr8oNutFnWzBQ9L6m1um4FvFrDI7+JXRBVhGK1AwJQvq/J7Ts1nNvFYqJTPSlCiO/ggn8Khvq2e/y5BuczZuGN+nZ3tgLu0SI2KIxN/oDxURGBKmwXoIBdTcwQh042mN0PKjJgkM+5oWNTngiXyu3k0SYd9u2qn17+NS2ddr3gm4jFbwqo/ytlOIMAeiCrXAfuM6vkXRMrM/+E7VENTzy6S2sazDlQpjRHF/SvDQ55a+Pv+zy+sMtne8MRzLBKHpgLReW1tIEtgA8i4mtl1898TxsVl3ahoA+CALydAe3ccGcY36W3ex7LXwFv7T+C+CF42Exkuk9Ic+pzAZXb3RdDjFLl2nA0KEXk0uNOEp2jd6Q5m88oo4tUu4X3+WgT0lhb7xFrcS12gitQALtaxlh7+AaqlkrPqiiNmFzov1sYfEZRAyMyvymC4CLe9cbn+EZXgL/ahX2K02Rgy1DQsB/TWYu+fE/UBCq69FyynPykxCa32hKoe8kLrUhqhpgxUY0N/MnCE4K2omAFFhd X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: c979ec4d-7c3c-466b-153f-08db632dd4fe X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9417.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jun 2023 05:54:30.4327 (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: hQb2eFGLT974NoQeTV5Gg5/WFLI74y2867G8KeUrKp1N/q12DefreUU05kTjA0Gsj20KhbUd75fWpPFhYmGa4g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8983 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 From: Peng Fan The return value is int type, not sc_err_t(u8), correct the usage. Signed-off-by: Peng Fan Tested-by: Oliver Graute Reviewed-by: Oliver Graute --- board/congatec/cgtqmx8/cgtqmx8.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/board/congatec/cgtqmx8/cgtqmx8.c b/board/congatec/cgtqmx8/cgtqmx8.c index bedd1e03308..26189ff66f5 100644 --- a/board/congatec/cgtqmx8/cgtqmx8.c +++ b/board/congatec/cgtqmx8/cgtqmx8.c @@ -79,7 +79,7 @@ static void setup_iomux_uart(void) int board_early_init_f(void) { /* sc_ipc_t ipcHndl = 0; */ - sc_err_t scierr = 0; + int scierr; /* When start u-boot in XEN VM, directly return */ /* if (IS_ENABLED(CONFIG_XEN)) */ @@ -89,19 +89,19 @@ int board_early_init_f(void) /* Power up UART0, this is very early while power domain is not working */ scierr = sc_pm_set_resource_power_mode(-1, SC_R_UART_0, SC_PM_PW_MODE_ON); - if (scierr != SC_ERR_NONE) + if (scierr) return 0; /* Set UART0 clock root to 80 MHz */ sc_pm_clock_rate_t rate = 80000000; scierr = sc_pm_set_clock_rate(-1, SC_R_UART_0, 2, &rate); - if (scierr != SC_ERR_NONE) + if (scierr) return 0; /* Enable UART0 clock root */ scierr = sc_pm_clock_enable(-1, SC_R_UART_0, 2, true, false); - if (scierr != SC_ERR_NONE) + if (scierr) return 0; setup_iomux_uart(); From patchwork Fri Jun 2 06:45:44 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: 1789466 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=SoKskyhS; 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 4QXXL82gcwz20Q4 for ; Fri, 2 Jun 2023 15:56:00 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id EE0CE8638B; Fri, 2 Jun 2023 07:54:48 +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="SoKskyhS"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 53396865C5; Fri, 2 Jun 2023 07:54:41 +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,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE,T_SPF_PERMERROR autolearn=unavailable autolearn_force=no version=3.4.2 Received: from EUR03-DBA-obe.outbound.protection.outlook.com (mail-dbaeur03on2060e.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe1a::60e]) (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 590B686437 for ; Fri, 2 Jun 2023 07:54:35 +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=HYz/gpHok2d+EYZy2YKTXqTBILtv+yP5wxRwM5lsJ/tCS3EO4TRUVYZKxcWFKjoyhuyyY2ruaSMONItsIAWv/1xztLSirYhj7m5veLTc6OIHz+vTJl8CzbnqT541wAJku6MgPTxyuRroz43Nog9QwnP+fnIobKQhRbOuJQ4EdRDm1veV/kFC8KhJ+WnT66JDY/Eljk1HAjxGEq0s06Wn9Hhoavv0h7h2q6zGjCUexBqOn/3jeMTyxBbD8r9lEYuCPwsKlUAs6Ra7uqv+GWBGSuluul35wmglSbw2O8UJo8oYAcMf+8wgXkYpLADr2QXcniHiW8EyOgYUKLynEWFzaA== 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=QocA6hrkYIpsfgHISa0ZHThZ49fSYTxlqhutz17Wzmw=; b=nM2hRx2wQGf7jS4Smd+CqBmUGjxQ83Hz6KmDmjdoamosxpYwyo4dzPg7H7uEVmN6oxiRGpmcSHmVxcGrM/JPWRIjLuiI48YXiWU4RyXpDjATDbbCEq451L303bcQP4Mls6WU4RHFKBA50lR+e93AhGYpeJbrs6nPlSNZjz0pYRyXqKUtQXKZ8+PaDkMpPMyGoWLdHwSvpfK6xlAcEUwonOOVLrv6GDJuXhjf/OzHnuWX25DTFh06wNhejwAM2+cjitdKWL+LuBDdu6R5KGWIFDawjEWWXIbso2RbfmkHFgPy4s+HQ1P4dsuzVzDPGIkaUSDjVLiHVyTrfk5xhnA+Wg== 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=QocA6hrkYIpsfgHISa0ZHThZ49fSYTxlqhutz17Wzmw=; b=SoKskyhSR1YwOWqRob9FgJaN+qQKq97g9dEDjYj0rEcXANLtHioI4Z9eL83Encmxcufr46zTKrRFc2WzIJas0dWGJ2QfN49d1r1/daUJjZRAuxm8y9jsh0J/Q3gLzaUApQMWmPMyyjBSWhVAOVjva73IOjRQ2FYmidDdqMtYSi8= 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 DU2PR04MB8983.eurprd04.prod.outlook.com (2603:10a6:10:2e2::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.24; Fri, 2 Jun 2023 05:54:33 +0000 Received: from DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::7b3d:4c2a:1636:da28]) by DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::7b3d:4c2a:1636:da28%6]) with mapi id 15.20.6455.020; Fri, 2 Jun 2023 05:54:33 +0000 From: "Peng Fan (OSS)" To: sbabic@denx.de, festevam@gmail.com Cc: u-boot@lists.denx.de, Peng Fan Subject: [PATCH 07/30] imx: scu_api: update to version 1.16 and add more APIs Date: Fri, 2 Jun 2023 14:45:44 +0800 Message-Id: <20230602064607.17222-8-peng.fan@oss.nxp.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230602064607.17222-1-peng.fan@oss.nxp.com> References: <20230602064607.17222-1-peng.fan@oss.nxp.com> X-ClientProxiedBy: SG2PR06CA0194.apcprd06.prod.outlook.com (2603:1096:4:1::26) 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_|DU2PR04MB8983:EE_ X-MS-Office365-Filtering-Correlation-Id: 2c9b103c-fa7c-4d8a-94f7-08db632dd6ad 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: 5dKrsTXzBu5XvSaZm3ZZGITs7IuDuHtpBu7cWTWsavFA2D4qOEhI2b87CCgWuYHZJpZ2biSngT/gTdNj02XZWwLzlsYj/BNpfVZ1UaLQjjatZuUinlOgzeEAxKDUfzLBefYYXiHLmhsNr0EursoxyLanQ9zBmirLLra/FUk6bZXyRh4A6HJHeGNjSKDYkrMSyc2TOZ1ZrXpBcGd/TOCgSNX8JBPlyeOsaGPrUN0P8aVA7f1Vn9TS+IWF6wQvqdyazFHGrzr5peVhuahKUGnNJcnGewM/8upfNS4XQq832TBVqk/lanOyv8JdSslann0SQOBjDAUfwGqbSuiY9kmrV9gp2sz0NmdA6k1B5Ibv7byy38Mc4TWLbvX3Y1dusdKrqZfd0CPyOJldUzPTi0OBNfwrExERsjYEjD1yi4nhedhQ9Uwb4KlB05WUpbp9Ox/2RXXDW9obI42JEUNxKdeMAzE0yWnO/TwsbZitEdfp72o2BWgxoNd6xPaPW/1oo6kEVGXoQCRzMRnLMl3AQI1IrCpgMkdXazcLOi+7Va2fbvbG1+AxMDaHAnK+UwTgkI4F5jm4yrZUlP3bBoR0QkHopbxADivft0oJbLkUpxzmz+8J2jdjuR76zFvPYhSN560V 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:(13230028)(4636009)(346002)(39860400002)(396003)(136003)(366004)(376002)(451199021)(4326008)(66476007)(66556008)(66946007)(83380400001)(5660300002)(86362001)(38350700002)(38100700002)(41300700001)(186003)(2616005)(6486002)(52116002)(8676002)(8936002)(30864003)(2906002)(15650500001)(478600001)(6666004)(316002)(6512007)(1076003)(6506007)(26005); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: P8GktieRIXDGCUuIfxxPENhlZrYMxoiq+tAkiSp8BWJGrs4hYZu6A22IIByFkza69tPuAMzJLtaEKCnP7FXHxVQlGV6bX9xEKGC0EcONc4Idmhp5uuCx7Mn5ymKOC2UPCAeY2tX7vGrRo2P/AGE2bpEXlbT4niWKQfXxY6u+60fo/GCsPoh1Itbse2Md7RlIL4l7rCy/hp2D1j3Gt/getScIJZSqg1s7jHxKtfmPwtXmd2QJvLdrjPqkx3BCAcL8NjmzACz1VMO6REogIpyu8B669iadmug5uMpnymBUwmdiuOp1El6rsyHxVEv9wnOG4q9mBlt7ZArMcMKwN4BHeFWCM+wbM9UwBWm2J8HI4Q0I1jskYoG0NyNhLzfx/KCDEg3e+dvOjUNXYmnZJM0YxNw9kJ1EAUZlOdDeH2GnWGrN3IGeapO65ohDT1NV60WFp9Bz/Ttj+Xzm9FwETay0WF+3OyVZlriJKX+LnF442tX7SQc5VG9vQ+wPvN3I7huMOY63It6y257jL8pRVvlHckHQ6Vf5a3xQnmjpFPwm3TByDiTsIDtlYIL1loMRjHdo+dP8/quNYeQvFDohPAhPyzaWrwypWXE4r0dtSQ6T23/PNHFjUkX9rIyKb4KAPlxFtdY5kibUjtceoJde/SOecTVb8nHkuUE3Lcj1bUwSoZBX4BocvXTrDtS1VSLVxFosTPEitZtshHPe3PpHL03802YNuALyHuYA7/c7QohUIeEfX2ZJ9VWoLCxgGfI2wnngV+6BAMSoThVvr1ctdUBcyzyz7850BUqaWxz61eV1VZbJ0a/unHndQKqC2bN1xDCieTLvtlvgLTcbrqH8sr8yFNfk3OhCX+ZkvHFwPPNg3AiKoIAjkGqqrUD652BEIdq2CarmvAltR5Rg7ZyrdQlj+18xwHpicp24V9IjNYnXS9ZAyUOTCebnA+wtq1Dc4DA5gTA7xnnh0Qa6JWJGT/waI8z3r817LvY/5eKUIUpUYWpfA3bjJ55q8QnnJZekqmVzIAY9DDPhMfK5lvwE+Ciulzk0kt/FtknyszWhud91XkROeuMmy7iLoLK9xSUnfAJVNLq8oCWSlQo4HqKwkTZBhZCh7BSaazldk43cx+MsFxR+cYSTQA7sfkyuze5b7vdPaMJ6LUyPbvkaAblRp2sZhrwD3xwI8mvtZrT/UKAPDGcDVh03RMFKxMQfV+88i8ex+ppo1cRJr48BcKMfZkl84jRmKpUEAzyw/piK0gSFe71+RAP8j1hzzPGiLpflY25lzPXajsZdGlfx+RoDwEmQVC25ls+mYHsyrSVNTC0Z912G26kP4TudbldjNRTqpZblmsnKRDv5IxXUvCwgUnn9KwsdhgH/TumrU+TFDFt4Y/POZgOKwEpH6+Fi+SlGeAxgXArqJfsHnFolUP6SLcNBx2RuJQTIMak+MZYNUAbtPWD54wUkl88vdp8JDlbpXBNwQi8GmN4tuzDSytgLCV6ib8KHP4TvKoHWFyHYWU6wS+ItBzIf1Mi7/M1I6thjJ13K1P+EtCRUVrLE/5t8pt3w6HDWdnHwo9fkI/sL4SHAH3wSH2GaocTArRsxoIrT3ox1 X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2c9b103c-fa7c-4d8a-94f7-08db632dd6ad X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9417.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jun 2023 05:54:33.2461 (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: iMLL1nqAdN1ljFv6DbUlX+BOHtHmJVMc1cgtBp2QOrs/4KaN6ZEX6KrDWzB+lHrbku+UvKVE7O8fthyj2XOQ1g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8983 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 From: Peng Fan Upgrade SCFW API to 1.16 Add more APIs: sc_misc_get_button_status sc_pm_reboot sc_seco_v2x_build_info Signed-off-by: Peng Fan --- drivers/misc/imx8/scu_api.c | 78 ++++++++++++++++++++ include/firmware/imx/sci/rpc.h | 27 ++++--- include/firmware/imx/sci/sci.h | 24 ++++++ include/firmware/imx/sci/svc/misc/api.h | 42 ++++++++--- include/firmware/imx/sci/svc/pm/api.h | 94 ++++++++++++++++++++++++ include/firmware/imx/sci/svc/rm/api.h | 14 ++-- include/firmware/imx/sci/svc/seco/api.h | 5 +- include/firmware/imx/sci/svc/timer/api.h | 33 +++++++++ 8 files changed, 287 insertions(+), 30 deletions(-) create mode 100644 include/firmware/imx/sci/svc/timer/api.h diff --git a/drivers/misc/imx8/scu_api.c b/drivers/misc/imx8/scu_api.c index dfede7f1d5f..3e3002ba6df 100644 --- a/drivers/misc/imx8/scu_api.c +++ b/drivers/misc/imx8/scu_api.c @@ -481,6 +481,22 @@ int sc_misc_get_temp(sc_ipc_t ipc, sc_rsrc_t resource, sc_misc_temp_t temp, return 0; } +void sc_misc_get_button_status(sc_ipc_t ipc, sc_bool_t *status) +{ + struct sc_rpc_msg_s msg; + struct udevice *dev = gd->arch.scu_dev; + + RPC_VER(&msg) = SC_RPC_VERSION; + RPC_SIZE(&msg) = 1U; + RPC_SVC(&msg) = (u8)(SC_RPC_SVC_MISC); + RPC_FUNC(&msg) = (u8)(MISC_FUNC_GET_BUTTON_STATUS); + + misc_call(dev, SC_FALSE, &msg, 1U, &msg, 1U); + + if (status) + *status = (sc_bool_t)(!!(RPC_U8(&msg, 0U))); +} + /* RM */ sc_bool_t sc_rm_is_memreg_owned(sc_ipc_t ipc, sc_rm_mr_t mr) { @@ -851,6 +867,21 @@ int sc_pm_cpu_start(sc_ipc_t ipc, sc_rsrc_t resource, sc_bool_t enable, return ret; } +void sc_pm_reboot(sc_ipc_t ipc, sc_pm_reset_type_t type) +{ + struct udevice *dev = gd->arch.scu_dev; + struct sc_rpc_msg_s msg; + int size = sizeof(struct sc_rpc_msg_s); + + RPC_VER(&msg) = SC_RPC_VERSION; + RPC_SVC(&msg) = (u8)(SC_RPC_SVC_PM); + RPC_FUNC(&msg) = (u8)(PM_FUNC_REBOOT); + RPC_U8(&msg, 0U) = (u8)(type); + RPC_SIZE(&msg) = 2U; + + misc_call(dev, SC_TRUE, &msg, size, &msg, size); +} + int sc_pm_get_resource_power_mode(sc_ipc_t ipc, sc_rsrc_t resource, sc_pm_power_mode_t *mode) { @@ -877,6 +908,28 @@ int sc_pm_get_resource_power_mode(sc_ipc_t ipc, sc_rsrc_t resource, return ret; } +int sc_timer_set_wdog_window(sc_ipc_t ipc, sc_timer_wdog_time_t window) +{ + struct udevice *dev = gd->arch.scu_dev; + struct sc_rpc_msg_s msg; + int size = sizeof(struct sc_rpc_msg_s); + int ret; + + RPC_VER(&msg) = SC_RPC_VERSION; + RPC_SIZE(&msg) = 2U; + RPC_SVC(&msg) = (u8)(SC_RPC_SVC_TIMER); + RPC_FUNC(&msg) = (u8)(TIMER_FUNC_SET_WDOG_WINDOW); + + RPC_U32(&msg, 0U) = (u32)(window); + + ret = misc_call(dev, SC_FALSE, &msg, size, &msg, size); + if (ret) + printf("%s: window:%u: res:%d\n", + __func__, window, RPC_R8(&msg)); + + return ret; +} + int sc_seco_authenticate(sc_ipc_t ipc, sc_seco_auth_cmd_t cmd, sc_faddr_t addr) { @@ -974,6 +1027,31 @@ void sc_seco_build_info(sc_ipc_t ipc, u32 *version, u32 *commit) *commit = RPC_U32(&msg, 4U); } +int sc_seco_v2x_build_info(sc_ipc_t ipc, u32 *version, u32 *commit) +{ + struct udevice *dev = gd->arch.scu_dev; + struct sc_rpc_msg_s msg; + int size = sizeof(struct sc_rpc_msg_s); + int ret; + + RPC_VER(&msg) = SC_RPC_VERSION; + RPC_SIZE(&msg) = 1U; + RPC_SVC(&msg) = (u8)(SC_RPC_SVC_SECO); + RPC_FUNC(&msg) = (u8)(SECO_FUNC_V2X_BUILD_INFO); + + ret = misc_call(dev, SC_FALSE, &msg, size, &msg, size); + if (ret) + printf("%s: res:%d\n", __func__, RPC_R8(&msg)); + + if (version) + *version = RPC_U32(&msg, 0U); + + if (commit) + *commit = RPC_U32(&msg, 4U); + + return ret; +} + int sc_seco_get_event(sc_ipc_t ipc, u8 idx, u32 *event) { struct udevice *dev = gd->arch.scu_dev; diff --git a/include/firmware/imx/sci/rpc.h b/include/firmware/imx/sci/rpc.h index 39de7f0e3e0..85af6f3996e 100644 --- a/include/firmware/imx/sci/rpc.h +++ b/include/firmware/imx/sci/rpc.h @@ -23,12 +23,12 @@ #define RPC_FUNC(MSG) ((MSG)->func) #define RPC_R8(MSG) ((MSG)->func) #define RPC_I64(MSG, IDX) ((s64)(RPC_U32((MSG), (IDX))) << 32ULL) | \ - (s64)(RPC_U32((MSG), (IDX) + 4U)) + (s64)(RPC_U32((MSG), (IDX) + 4U)) #define RPC_I32(MSG, IDX) ((MSG)->DATA.i32[(IDX) / 4U]) #define RPC_I16(MSG, IDX) ((MSG)->DATA.i16[(IDX) / 2U]) #define RPC_I8(MSG, IDX) ((MSG)->DATA.i8[(IDX)]) #define RPC_U64(MSG, IDX) ((u64)(RPC_U32((MSG), (IDX))) << 32ULL) | \ - (u64)(RPC_U32((MSG), (IDX) + 4U)) + (u64)(RPC_U32((MSG), (IDX) + 4U)) #define RPC_U32(MSG, IDX) ((MSG)->DATA.u32[(IDX) / 4U]) #define RPC_U16(MSG, IDX) ((MSG)->DATA.u16[(IDX) / 2U]) #define RPC_U8(MSG, IDX) ((MSG)->DATA.u8[(IDX)]) @@ -67,7 +67,9 @@ struct sc_rpc_msg_s { #define PM_FUNC_SET_SYS_POWER_MODE 19U #define PM_FUNC_SET_PARTITION_POWER_MODE 1U #define PM_FUNC_GET_SYS_POWER_MODE 2U +#define PM_FUNC_PARTITION_WAKE 28U #define PM_FUNC_SET_RESOURCE_POWER_MODE 3U +#define PM_FUNC_SET_RESOURCE_POWER_MODE_ALL 22U #define PM_FUNC_GET_RESOURCE_POWER_MODE 4U #define PM_FUNC_REQ_LOW_POWER_MODE 16U #define PM_FUNC_REQ_CPU_LOW_POWER_MODE 20U @@ -81,13 +83,16 @@ struct sc_rpc_msg_s { #define PM_FUNC_GET_CLOCK_PARENT 15U #define PM_FUNC_RESET 13U #define PM_FUNC_RESET_REASON 10U +#define PM_FUNC_GET_RESET_PART 26U #define PM_FUNC_BOOT 8U +#define PM_FUNC_SET_BOOT_PARM 27U #define PM_FUNC_REBOOT 9U #define PM_FUNC_REBOOT_PARTITION 12U +#define PM_FUNC_REBOOT_CONTINUE 25U #define PM_FUNC_CPU_START 11U #define PM_FUNC_CPU_RESET 23U #define PM_FUNC_RESOURCE_RESET 29U -#define PM_FUNC_IS_PARTITION_STARTED 24U +#define PM_FUNC_IS_PARTITION_STARTED 24U /* MISC RPC */ #define MISC_FUNC_UNKNOWN 0 @@ -95,16 +100,10 @@ struct sc_rpc_msg_s { #define MISC_FUNC_GET_CONTROL 2U #define MISC_FUNC_SET_MAX_DMA_GROUP 4U #define MISC_FUNC_SET_DMA_GROUP 5U -#define MISC_FUNC_SECO_IMAGE_LOAD 8U -#define MISC_FUNC_SECO_AUTHENTICATE 9U -#define MISC_FUNC_SECO_FUSE_WRITE 20U -#define MISC_FUNC_SECO_ENABLE_DEBUG 21U -#define MISC_FUNC_SECO_FORWARD_LIFECYCLE 22U -#define MISC_FUNC_SECO_RETURN_LIFECYCLE 23U -#define MISC_FUNC_SECO_BUILD_INFO 24U #define MISC_FUNC_DEBUG_OUT 10U #define MISC_FUNC_WAVEFORM_CAPTURE 6U #define MISC_FUNC_BUILD_INFO 15U +#define MISC_FUNC_API_VER 35U #define MISC_FUNC_UNIQUE_ID 19U #define MISC_FUNC_SET_ARI 3U #define MISC_FUNC_BOOT_STATUS 7U @@ -114,8 +113,11 @@ struct sc_rpc_msg_s { #define MISC_FUNC_SET_TEMP 12U #define MISC_FUNC_GET_TEMP 13U #define MISC_FUNC_GET_BOOT_DEV 16U +#define MISC_FUNC_GET_BOOT_TYPE 33U +#define MISC_FUNC_GET_BOOT_CONTAINER 36U #define MISC_FUNC_GET_BUTTON_STATUS 18U -#define MISC_FUNC_GET_BOOT_CONTAINER 36U +#define MISC_FUNC_ROMPATCH_CHECKSUM 26U +#define MISC_FUNC_BOARD_IOCTL 34U /* PAD RPC */ #define PAD_FUNC_UNKNOWN 0 @@ -160,6 +162,7 @@ struct sc_rpc_msg_s { #define RM_FUNC_GET_RESOURCE_INFO 16U #define RM_FUNC_MEMREG_ALLOC 17U #define RM_FUNC_MEMREG_SPLIT 29U +#define RM_FUNC_MEMREG_FRAG 32U #define RM_FUNC_MEMREG_FREE 18U #define RM_FUNC_FIND_MEMREG 30U #define RM_FUNC_ASSIGN_MEMREG 19U @@ -190,6 +193,7 @@ struct sc_rpc_msg_s { #define SECO_FUNC_UPDATE_MPMR 14U /* Index for seco_update_mpmr() RPC call */ #define SECO_FUNC_GET_MP_SIGN 15U /* Index for seco_get_mp_sign() RPC call */ #define SECO_FUNC_BUILD_INFO 16U /* Index for seco_build_info() RPC call */ +#define SECO_FUNC_V2X_BUILD_INFO 30U /* Index for sc_seco_v2x_build_info() RPC call */ #define SECO_FUNC_CHIP_INFO 17U /* Index for seco_chip_info() RPC call */ #define SECO_FUNC_ENABLE_DEBUG 18U /* Index for seco_enable_debug() RPC call */ #define SECO_FUNC_GET_EVENT 19U /* Index for seco_get_event() RPC call */ @@ -210,6 +214,7 @@ struct sc_rpc_msg_s { #define TIMER_FUNC_UNKNOWN 0 /* Unknown function */ #define TIMER_FUNC_SET_WDOG_TIMEOUT 1U /* Index for sc_timer_set_wdog_timeout() RPC call */ #define TIMER_FUNC_SET_WDOG_PRE_TIMEOUT 12U /* Index for sc_timer_set_wdog_pre_timeout() RPC call */ +#define TIMER_FUNC_SET_WDOG_WINDOW 19U /* Index for sc_timer_set_wdog_window() RPC call */ #define TIMER_FUNC_START_WDOG 2U /* Index for sc_timer_start_wdog() RPC call */ #define TIMER_FUNC_STOP_WDOG 3U /* Index for sc_timer_stop_wdog() RPC call */ #define TIMER_FUNC_PING_WDOG 4U /* Index for sc_timer_ping_wdog() RPC call */ diff --git a/include/firmware/imx/sci/sci.h b/include/firmware/imx/sci/sci.h index 61c8211b443..f832982b3de 100644 --- a/include/firmware/imx/sci/sci.h +++ b/include/firmware/imx/sci/sci.h @@ -13,6 +13,7 @@ #include #include #include +#include #include #include #include @@ -73,6 +74,7 @@ int sc_pm_set_clock_parent(sc_ipc_t ipc, sc_rsrc_t resource, sc_pm_clk_t clk, sc_pm_clk_parent_t parent); int sc_pm_cpu_start(sc_ipc_t ipc, sc_rsrc_t resource, sc_bool_t enable, sc_faddr_t address); +void sc_pm_reboot(sc_ipc_t ipc, sc_pm_reset_type_t type); sc_bool_t sc_pm_is_partition_started(sc_ipc_t ipc, sc_rm_pt_t pt); int sc_pm_resource_reset(sc_ipc_t ipc, sc_rsrc_t resource); @@ -88,6 +90,7 @@ void sc_misc_build_info(sc_ipc_t ipc, u32 *build, u32 *commit); int sc_misc_otp_fuse_read(sc_ipc_t ipc, u32 word, u32 *val); int sc_misc_get_temp(sc_ipc_t ipc, sc_rsrc_t resource, sc_misc_temp_t temp, s16 *celsius, s8 *tenths); +void sc_misc_get_button_status(sc_ipc_t ipc, sc_bool_t *status); /* RM API */ sc_bool_t sc_rm_is_memreg_owned(sc_ipc_t ipc, sc_rm_mr_t mr); @@ -117,6 +120,9 @@ int sc_pad_get(sc_ipc_t ipc, sc_pad_t pad, uint32_t *val); /* SMMU API */ int sc_rm_set_master_sid(sc_ipc_t ipc, sc_rsrc_t resource, sc_rm_sid_t sid); +/* Timer API */ +int sc_timer_set_wdog_window(sc_ipc_t ipc, sc_timer_wdog_time_t window); + /* SECO API */ int sc_seco_authenticate(sc_ipc_t ipc, sc_seco_auth_cmd_t cmd, sc_faddr_t addr); @@ -124,6 +130,7 @@ int sc_seco_forward_lifecycle(sc_ipc_t ipc, u32 change); int sc_seco_chip_info(sc_ipc_t ipc, u16 *lc, u16 *monotonic, u32 *uid_l, u32 *uid_h); void sc_seco_build_info(sc_ipc_t ipc, u32 *version, u32 *commit); +int sc_seco_v2x_build_info(sc_ipc_t ipc, u32 *version, u32 *commit); int sc_seco_get_event(sc_ipc_t ipc, u8 idx, u32 *event); int sc_seco_gen_key_blob(sc_ipc_t ipc, u32 id, sc_faddr_t load_addr, sc_faddr_t export_addr, u16 max_size); @@ -374,6 +381,23 @@ static inline int sc_seco_secvio_config(sc_ipc_t ipc, u8 id, u8 access, u32 *dat return -EOPNOTSUPP; } +static inline void sc_pm_reboot(sc_ipc_t ipc, sc_pm_reset_type_t type) +{ +} + +static inline int sc_seco_v2x_build_info(sc_ipc_t ipc, u32 *version, u32 *commit) +{ + return -EOPNOTSUPP; +} + +static inline void sc_misc_get_button_status(sc_ipc_t ipc, sc_bool_t *status) +{ +} + +static inline int sc_timer_set_wdog_window(sc_ipc_t ipc, sc_timer_wdog_time_t window) +{ + return -EOPNOTSUPP; +} #endif #endif diff --git a/include/firmware/imx/sci/svc/misc/api.h b/include/firmware/imx/sci/svc/misc/api.h index 3629eb68d7a..a4b92b86cc6 100644 --- a/include/firmware/imx/sci/svc/misc/api.h +++ b/include/firmware/imx/sci/svc/misc/api.h @@ -5,27 +5,45 @@ #ifndef SC_MISC_API_H #define SC_MISC_API_H +/* Defines for type widths */ +#define SC_MISC_DMA_GRP_W 5U /* Width of sc_misc_dma_group_t */ +/* Max DMA channel priority group */ +#define SC_MISC_DMA_GRP_MAX 31U /* Defines for sc_misc_boot_status_t */ #define SC_MISC_BOOT_STATUS_SUCCESS 0U /* Success */ #define SC_MISC_BOOT_STATUS_SECURITY 1U /* Security violation */ -/* Defines for sc_misc_seco_auth_cmd_t */ -#define SC_MISC_SECO_AUTH_SECO_FW 0U /* SECO Firmware */ -#define SC_MISC_SECO_AUTH_HDMI_TX_FW 1U /* HDMI TX Firmware */ -#define SC_MISC_SECO_AUTH_HDMI_RX_FW 2U /* HDMI RX Firmware */ - /* Defines for sc_misc_temp_t */ -#define SC_MISC_TEMP 0U /* Temp sensor */ -#define SC_MISC_TEMP_HIGH 1U /* Temp high alarm */ -#define SC_MISC_TEMP_LOW 2U /* Temp low alarm */ +#define SC_MISC_TEMP 0U /* Temp sensor */ +#define SC_MISC_TEMP_HIGH 1U /* Temp high alarm */ +#define SC_MISC_TEMP_LOW 2U /* Temp low alarm */ + +/* Defines for sc_misc_bt_t */ +#define SC_MISC_BT_PRIMARY 0U /* Primary boot */ +#define SC_MISC_BT_SECONDARY 1U /* Secondary boot */ +#define SC_MISC_BT_RECOVERY 2U /* Recovery boot */ +#define SC_MISC_BT_MANUFACTURE 3U /* Manufacture boot */ +#define SC_MISC_BT_SERIAL 4U /* Serial boot */ +/* Types */ -/* Defines for sc_misc_seco_auth_cmd_t */ -#define SC_MISC_AUTH_CONTAINER 0U /* Authenticate container */ -#define SC_MISC_VERIFY_IMAGE 1U /* Verify image */ -#define SC_MISC_REL_CONTAINER 2U /* Release container */ +/* + * This type is used to store a DMA channel priority group. + */ +typedef u8 sc_misc_dma_group_t; +/* + * This type is used report boot status. + */ typedef u8 sc_misc_boot_status_t; + +/* + * This type is used report boot status. + */ typedef u8 sc_misc_temp_t; +/* + * This type is used report the boot type. + */ +typedef u8 sc_misc_bt_t; #endif /* SC_MISC_API_H */ diff --git a/include/firmware/imx/sci/svc/pm/api.h b/include/firmware/imx/sci/svc/pm/api.h index 9008b85c6f6..d1b085d7f87 100644 --- a/include/firmware/imx/sci/svc/pm/api.h +++ b/include/firmware/imx/sci/svc/pm/api.h @@ -6,6 +6,14 @@ #ifndef SC_PM_API_H #define SC_PM_API_H +#include +/* Defines for type widths */ +#define SC_PM_POWER_MODE_W 2U /* Width of sc_pm_power_mode_t */ +#define SC_PM_CLOCK_MODE_W 3U /* Width of sc_pm_clock_mode_t */ +#define SC_PM_RESET_TYPE_W 2U /* Width of sc_pm_reset_type_t */ +#define SC_PM_RESET_REASON_W 4U /* Width of sc_pm_reset_reason_t */ +/* Defines for ALL parameters */ +#define SC_PM_CLK_ALL ((sc_pm_clk_t)UINT8_MAX) /* All clocks */ /* Defines for sc_pm_power_mode_t */ #define SC_PM_PW_MODE_OFF 0U /* Power off */ #define SC_PM_PW_MODE_STBY 1U /* Power in standby */ @@ -35,10 +43,96 @@ #define SC_PM_CLK_MODE_AUTOGATE_HW 4U /* Clock is in HW autogate mode */ #define SC_PM_CLK_MODE_AUTOGATE_SW_HW 5U /* Clock is in SW-HW autogate mode */ +/* Defines for sc_pm_clk_parent_t */ +#define SC_PM_PARENT_XTAL 0U /*!< Parent is XTAL. */ +#define SC_PM_PARENT_PLL0 1U /*!< Parent is PLL0 */ +#define SC_PM_PARENT_PLL1 2U /*!< Parent is PLL1 or PLL0/2 */ +#define SC_PM_PARENT_PLL2 3U /*!< Parent in PLL2 or PLL0/4 */ +#define SC_PM_PARENT_BYPS 4U /*!< Parent is a bypass clock. */ + +/* Defines for sc_pm_reset_type_t */ +#define SC_PM_RESET_TYPE_COLD 0U /* Cold reset */ +#define SC_PM_RESET_TYPE_WARM 1U /* Warm reset */ +#define SC_PM_RESET_TYPE_BOARD 2U /* Board reset */ + +/* Defines for sc_pm_reset_reason_t */ +#define SC_PM_RESET_REASON_POR 0U /* Power on reset */ +#define SC_PM_RESET_REASON_JTAG 1U /* JTAG reset */ +#define SC_PM_RESET_REASON_SW 2U /* Software reset */ +#define SC_PM_RESET_REASON_WDOG 3U /* Partition watchdog reset */ +#define SC_PM_RESET_REASON_LOCKUP 4U /* SCU lockup reset */ +#define SC_PM_RESET_REASON_SNVS 5U /* SNVS reset */ +#define SC_PM_RESET_REASON_TEMP 6U /* Temp panic reset */ +#define SC_PM_RESET_REASON_MSI 7U /* MSI reset */ +#define SC_PM_RESET_REASON_UECC 8U /* ECC reset */ +#define SC_PM_RESET_REASON_SCFW_WDOG 9U /* SCFW watchdog reset */ +#define SC_PM_RESET_REASON_ROM_WDOG 10U /* SCU ROM watchdog reset */ +#define SC_PM_RESET_REASON_SECO 11U /* SECO reset */ +#define SC_PM_RESET_REASON_SCFW_FAULT 12U /* SCFW fault reset */ + +/* Defines for sc_pm_sys_if_t */ +#define SC_PM_SYS_IF_INTERCONNECT 0U /* System interconnect */ +#define SC_PM_SYS_IF_MU 1U /* AP -> SCU message units */ +#define SC_PM_SYS_IF_OCMEM 2U /* On-chip memory (ROM/OCRAM) */ +#define SC_PM_SYS_IF_DDR 3U /* DDR memory */ + +/* Defines for sc_pm_wake_src_t */ +/* No wake source, used for self-kill */ +#define SC_PM_WAKE_SRC_NONE 0U +/* Wakeup from SCU to resume CPU (IRQSTEER & GIC powered down) */ +#define SC_PM_WAKE_SRC_SCU 1U +/* Wakeup from IRQSTEER to resume CPU (GIC powered down) */ +#define SC_PM_WAKE_SRC_IRQSTEER 2U +/* Wakeup from IRQSTEER+GIC to wake CPU (GIC clock gated) */ +#define SC_PM_WAKE_SRC_IRQSTEER_GIC 3U +/* Wakeup from GIC to wake CPU */ +#define SC_PM_WAKE_SRC_GIC 4U +/* Types */ + +/* + * This type is used to declare a power mode. Note resources only use + * SC_PM_PW_MODE_OFF and SC_PM_PW_MODE_ON. The other modes are used only + * as system power modes. + */ typedef u8 sc_pm_power_mode_t; + +/* + * This type is used to declare a clock. + */ typedef u8 sc_pm_clk_t; + +/* + * This type is used to declare a clock mode. + */ typedef u8 sc_pm_clk_mode_t; + +/* + * This type is used to declare the clock parent. + */ typedef u8 sc_pm_clk_parent_t; + +/* + * This type is used to declare clock rates. + */ typedef u32 sc_pm_clock_rate_t; +/* + * This type is used to declare a desired reset type. + */ +typedef u8 sc_pm_reset_type_t; + +/* + * This type is used to declare a reason for a reset. + */ +typedef u8 sc_pm_reset_reason_t; + +/* + * This type is used to specify a system-level interface to be power managed. + */ +typedef u8 sc_pm_sys_if_t; + +/* + * This type is used to specify a wake source for CPU resources. + */ +typedef u8 sc_pm_wake_src_t; #endif /* SC_PM_API_H */ diff --git a/include/firmware/imx/sci/svc/rm/api.h b/include/firmware/imx/sci/svc/rm/api.h index 163d81403c5..f4e9abcd9b3 100644 --- a/include/firmware/imx/sci/svc/rm/api.h +++ b/include/firmware/imx/sci/svc/rm/api.h @@ -38,32 +38,36 @@ /* Types */ -/*! +/* * This type is used to declare a resource partition. */ typedef u8 sc_rm_pt_t; -/*! +/* * This type is used to declare a memory region. */ typedef u8 sc_rm_mr_t; -/*! +/* * This type is used to declare a resource domain ID used by the * isolation HW. */ typedef u8 sc_rm_did_t; -/*! +/* * This type is used to declare an SMMU StreamID. */ typedef u16 sc_rm_sid_t; -/*! +/* * This type is a used to declare master transaction attributes. */ typedef u8 sc_rm_spa_t; +/* + * This type is used to declare a resource/memory region access permission. + * Refer to the XRDC2 Block Guide for more information. + */ typedef u8 sc_rm_perm_t; #endif /* SC_RM_API_H */ diff --git a/include/firmware/imx/sci/svc/seco/api.h b/include/firmware/imx/sci/svc/seco/api.h index 6e9c302315b..7d4b6b92e17 100644 --- a/include/firmware/imx/sci/svc/seco/api.h +++ b/include/firmware/imx/sci/svc/seco/api.h @@ -17,6 +17,7 @@ #define SC_SECO_AUTH_SECO_FW 3U /* SECO Firmware */ #define SC_SECO_AUTH_HDMI_TX_FW 4U /* HDMI TX Firmware */ #define SC_SECO_AUTH_HDMI_RX_FW 5U /* HDMI RX Firmware */ +#define SC_SECO_EVERIFY_IMAGE 6U /* Enhanced verify image */ #define SC_SECO_RNG_STAT_UNAVAILABLE 0U /* Unable to initialize the RNG */ #define SC_SECO_RNG_STAT_INPROGRESS 1U /* Initialization is on-going */ @@ -24,12 +25,12 @@ /* Types */ -/*! +/* * This type is used to issue SECO authenticate commands. */ typedef u8 sc_seco_auth_cmd_t; -/*! +/* * This type is used to return the RNG initialization status. */ typedef u32 sc_seco_rng_stat_t; diff --git a/include/firmware/imx/sci/svc/timer/api.h b/include/firmware/imx/sci/svc/timer/api.h new file mode 100644 index 00000000000..c2fe34aa751 --- /dev/null +++ b/include/firmware/imx/sci/svc/timer/api.h @@ -0,0 +1,33 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ +/* + * Copyright 2018-2019 NXP + */ + +#ifndef SC_TIMER_API_H +#define SC_TIMER_API_H + +/* Defines */ + +/* Defines for type widths */ +#define SC_TIMER_ACTION_W 3U /* Width of sc_timer_wdog_action_t */ + +/* Defines for sc_timer_wdog_action_t */ +#define SC_TIMER_WDOG_ACTION_PARTITION 0U /* Reset partition */ +#define SC_TIMER_WDOG_ACTION_WARM 1U /* Warm reset system */ +#define SC_TIMER_WDOG_ACTION_COLD 2U /* Cold reset system */ +#define SC_TIMER_WDOG_ACTION_BOARD 3U /* Reset board */ +#define SC_TIMER_WDOG_ACTION_IRQ 4U /* Only generate IRQs */ + +/* Types */ + +/* + * This type is used to configure the watchdog action. + */ +typedef u8 sc_timer_wdog_action_t; + +/* + * This type is used to declare a watchdog time value in milliseconds. + */ +typedef u32 sc_timer_wdog_time_t; + +#endif /* SC_TIMER_API_H */ From patchwork Fri Jun 2 06:45:45 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: 1789468 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=U+i5j1ig; 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 4QXXLg12KRz20Q4 for ; Fri, 2 Jun 2023 15:56:27 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id C76DB865D7; Fri, 2 Jun 2023 07:54:53 +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="U+i5j1ig"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 10371865C5; Fri, 2 Jun 2023 07:54:47 +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=-0.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FORGED_SPF_HELO,SPF_HELO_PASS,T_SCC_BODY_TEXT_LINE, T_SPF_PERMERROR autolearn=no autolearn_force=no version=3.4.2 Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on0625.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe02::625]) (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 821368638B for ; Fri, 2 Jun 2023 07:54:40 +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=N6yCQcegM3xOulDo+gnhz805vOnlh6F7bOxnyrYIpqy5t98VAS8cPQIrSotIlq1e+E0pUZLIG978w2GvCfRXRq/zo1tepur5R5aNu1hNo9oC5zmmRkNX/MbXm8tdDi+JIXw8ZoyS8KMvxf6L2E2i1q7CveVzBKlGgd6bYRnKScfFvsA1fS8CF3oGdE7BZMvLMxK6E8e7VkQ0sgRn65aWxFly8G4R3rS6OtOyaAL+6fvgqY+FLoCP87nHOiNOOnja18DvY+qrVhWzICxiQN8yYEtSqefXDqxKaNCJnajNj48F9nWJW71b6uTBvxhtNBqW4BD7nT+IL6ZPvrW3yAaH1A== 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=Hp9BIgNkFBMXCr9XmUvdG03L6vlsRLkPKpWsn8+q9YU=; b=GhjSEGBAb678Pslh7Rw4hUeUuP3WT+BaygRBrSKK7mD6AmAoYB6w8WLENOu+KeGZWFwsrTgMn5fmpmKdFUdbew0SUfDHsaC/are0NVHscZUAen8mosXCguAynfSfOl7XRusckt+fn5l7Lw/OyYVZvArMvV/s2oyCAaii8IxpuGWgbgoxIdgOUmR562/tBDlLIFXXtbrXXQPWxfBKxTMtGALF2lwG6Wt6DOTyRnrYum8AiMnEC4510/ySnF6CMk1jOZxyoIPSsdeWXJoO+eUPNpFjHjvkD3Pga/myJEmIqdb6nD3zapYaw3cEWagB+C4Kher/dJRd1F+T/8ysqwszYw== 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=Hp9BIgNkFBMXCr9XmUvdG03L6vlsRLkPKpWsn8+q9YU=; b=U+i5j1ig3qirdZ9s1EHIZdckgsDQ5+mnHwIz8pQFOg/sobiONIhpEg2ELqS4vxd/2GI4rw9XC4HsNAlrqmKbIntAMONsLS7WErtWB4MVVK5umG0fRb/OA8oJUvd1ArWyV+e//uWyUVyJD17ZSOT/rSo0E/b+ZQkVW8nLfhV7YGk= 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 AM8PR04MB7362.eurprd04.prod.outlook.com (2603:10a6:20b:1c5::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.24; Fri, 2 Jun 2023 05:54:37 +0000 Received: from DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::7b3d:4c2a:1636:da28]) by DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::7b3d:4c2a:1636:da28%6]) with mapi id 15.20.6455.020; Fri, 2 Jun 2023 05:54:37 +0000 From: "Peng Fan (OSS)" To: sbabic@denx.de, festevam@gmail.com, Bharat Gooty , Rayagonda Kokatanur , "NXP i.MX U-Boot Team" , Peng Fan Cc: u-boot@lists.denx.de Subject: [PATCH 08/30] imx: use generic name ele(EdgeLockSecure Enclave) Date: Fri, 2 Jun 2023 14:45:45 +0800 Message-Id: <20230602064607.17222-9-peng.fan@oss.nxp.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230602064607.17222-1-peng.fan@oss.nxp.com> References: <20230602064607.17222-1-peng.fan@oss.nxp.com> X-ClientProxiedBy: SG2PR06CA0194.apcprd06.prod.outlook.com (2603:1096:4:1::26) 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_|AM8PR04MB7362:EE_ X-MS-Office365-Filtering-Correlation-Id: 2303fe46-2894-49d8-2c45-08db632dd931 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: mNFd6DPQT4N8qYBrYwWrxDvhSdkQ/xPxjGRx3ScbFRA3MA44iwfa/RTnN1XGW8IpYoLQV2xOlY+IYnhgJSau0zyDKiSyEaWoL/Gh165UF3JsLMsk2KO0c0tnMgUlPSo2qoWHLpbdnDK9LCYQ3bOhK4VhxMcsKO3vX10jC+Jk34udlMH3lc6omuIzawo+EIv+AI+vg6BGjCQznq4HLGT4t1IOh3DpaB2E6iMAF95TDCUBv9whr9lVrP9Uf3eLO3G08/hjP8Fxy651YoFif3Litze5H4mxZVW+RjE6b6KjtItvAjVKEEc9zy9nJNnH+gUfMsmtpwVhhobyVokdWhNp+CU8BL7nEgiPAMKlGL7oct3NbE5KVbztzWtiUWSN0VVqH7ifBfZeerdVBLWxWrWFXX/AeEGqjEUaaTHc0JIlVP+QpPLztA0IRKFhB44EJVO0SHNiG1FtPRhoHF/5YppbbMyiunOUySuDQ4PSNN/MKNTn+BA1haffMwLWoctOU2W0dVXc5RLhiOb1EvVATOw4a55Zj1iVwWwlf6DGZg9z4MgiOXQcxZ7dIkH3paEsCraN175dus0LvNYQbg8nTM4boTxjn+8FlIh2MI+BRekAmJR4xOrOlkOaj2wfvUNrFo3YePYlan6tZNVYM10+FMZ83w== 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:(13230028)(4636009)(346002)(376002)(366004)(39860400002)(396003)(136003)(451199021)(83380400001)(66556008)(66476007)(52116002)(6512007)(1076003)(26005)(6486002)(6666004)(6506007)(478600001)(2616005)(110136005)(186003)(86362001)(2906002)(30864003)(5660300002)(8936002)(8676002)(41300700001)(4326008)(66946007)(38350700002)(38100700002)(316002)(41533002)(579004); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: OZZsy9Vd64dtkO+An/CkGNG4YUqaIuYiLzbEktzWysq6XihZ4ZN0rF7zynFxhm2lYanUdGNcy3HyjuSaR7L1/eakNI4RrLVHZhFWljFX6EsQnVAQUAlJQ7Tv7AGfobFeJveKxtnu1lRhZAIo2LHUU88xJX5EPyhk9vL6AIgrJeZffHEa5ezJelUwnwmNz4w+kZ0Erl7VzyjeEjWifOrUbyFc/CEyorYAbM/vPgsPXeMIltj3D/KGVk5JGEdZX6uow61qVZgGnOseXUelC/9iQH1+4LjThBvKTVAgPZ/67IR5FJDFAl1VCgvgd7IAWFFZJVWuEcM49QEbEpiA2CDKPG0/cnIzo3owxKhgZgxQhQAdiwy/OVCLdNBPpNfcZpbKUQ+YJTyOK0SHAhhv78ZB0mEPyXd3/Ru8f1dXxOL1/AYA2xdF6vYtV+emYMjxm+F6fV3F7tXj/a9B/G7wrhTEszDa7FO4K5xq/AQk6/sEjRNUB8nH1W6jrE2fjQJaTvCaC5Rr1lbvEgntE+fR0g2jynVK+VM9UHKzJOwHrIRodZjit0phrObisabw78vNQ0ci37HfrAJf59TrIl0p7aekHblf+vWKKMAZ9UY4bSqJk61lj1FnY/B+M/RC5nSt55Jq6N5L6ComNG1nRVejM80oQrzbq8mU77yOqidSBlmdyTEg8rgjbhqi+YKDKRBJsuvf7E7+hORGPcW/vtbxanO/1A/wGsWmb8Lx87S5oyfeoBXAgrzNYGoGZzquGU8KuRlmNChKh2Wxlcnn8SLHrYF5gnE47Slh4Ofy/h/HpNoHGjEg6ecEoaca6OZbu+P77O9+QUJZ0krUWgeth8UJLH68dbf9fS/OymcO7WzEeYm6tImoXjJ7ZVd/vWmhO+kdfRnpri5b2P1G+fMpO/Xd0lomAJGtnR/NCEGFHbV+TnOK/cNG/VszGQ7AN8wbfZKTrrAHRhvoaAsGsHrJITo9WqVzKgHqd7Feimh8O4wpKG3Ffx1AIVhgUazBkGjp3KpQqQHlhe6g92SU3xtyxb3MXVRSJ/6Y5a9BekgL2UjE58yNVBZ42/+6VKL2Q62MNtYHjJVIEqTDVDMWld9OqwAbJy7pxBDjdeaKCuhRaY3cbxO22bk+Nnf6oNfZtZ1YNR5Y4CsWvRMIHabEMGwtmFyV7RwE1dw/7f5foInzD7FVPCTjWuX3i+7ERdP+MW2K8IZBpi7JWuKtwK5iT4K3sqViQHAaX9RRDBnFs74LLQwN52h9N+ik5BbevRYjVWS/nE75D5GqakRrmORVl5NKjKlaV9QKyozYngs3/8GX741X3tWtoEHS6rOwO1++/h5GXCRbYDoif2CKAJnOYqOvnT7Lx6ne/I0Y6SQNN+0cXAVRV2Gyv9VAOeUMVfmIzFaLvHDGVUWxsxyPU36VfNtQH7Nd+gFIjeT+UXwqYoHrVUkGjc9JcKr6R2YFm3YCehNdLVvnTBdi/yGWl8V0LsXVtAA5htT5fft1VPcpWLfYjpN/5eV+RFeTuUwUaElv3AsiSnr30btCnclcUW6TX4HOBQQ9jHfWe8XtijzjvjkLEk/Tvjlw4JCiD0hRkaOjkEKKMPOX7EJn X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2303fe46-2894-49d8-2c45-08db632dd931 X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9417.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jun 2023 05:54:37.4756 (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: n/CweCPLVIWn6RcGzRHelmlISbIcQZyUFNG8NWTS7/SonKQnL65IaKe3mpqFQkzVBtOnELsB4h7F22h2esu2UA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7362 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 From: Peng Fan Per NXP requirement, we rename all the NXP EdgeLock Secure Enclave code including comment, folder and API name to ELE to align. Signed-off-by: Peng Fan --- arch/arm/Kconfig | 4 +- arch/arm/include/asm/arch-imx9/ccm_regs.h | 2 +- arch/arm/include/asm/global_data.h | 4 +- .../asm/mach-imx/{s400_api.h => ele_api.h} | 48 +++-- arch/arm/mach-imx/ele_ahab.c | 15 +- arch/arm/mach-imx/imx8ulp/rdc.c | 18 +- arch/arm/mach-imx/imx8ulp/soc.c | 16 +- arch/arm/mach-imx/imx8ulp/upower/upower_hal.c | 6 +- arch/arm/mach-imx/imx9/clock.c | 8 +- arch/arm/mach-imx/imx9/clock_root.c | 2 +- arch/arm/mach-imx/imx9/soc.c | 16 +- arch/arm/mach-imx/imx9/trdc.c | 14 +- board/freescale/imx8ulp_evk/spl.c | 10 +- board/freescale/imx93_evk/spl.c | 1 - drivers/misc/Kconfig | 4 +- drivers/misc/Makefile | 2 +- drivers/misc/{sentinel => imx_ele}/Makefile | 2 +- .../s400_api.c => imx_ele/ele_api.c} | 200 +++++++++--------- .../{sentinel/s4mu.c => imx_ele/ele_mu.c} | 14 +- drivers/misc/{sentinel => imx_ele}/fuse.c | 40 ++-- 20 files changed, 213 insertions(+), 213 deletions(-) rename arch/arm/include/asm/mach-imx/{s400_api.h => ele_api.h} (78%) rename drivers/misc/{sentinel => imx_ele}/Makefile (71%) rename drivers/misc/{sentinel/s400_api.c => imx_ele/ele_api.c} (63%) rename drivers/misc/{sentinel/s4mu.c => imx_ele/ele_mu.c} (93%) rename drivers/misc/{sentinel => imx_ele}/fuse.c (84%) diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 99264a64780..913bc0ae45a 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -882,7 +882,7 @@ config ARCH_IMX8ULP select SUPPORT_SPL select GPIO_EXTRA_HEADER select MISC - select IMX_SENTINEL + select IMX_ELE imply CMD_DM config ARCH_IMX9 @@ -894,7 +894,7 @@ config ARCH_IMX9 select SUPPORT_SPL select GPIO_EXTRA_HEADER select MISC - select IMX_SENTINEL + select IMX_ELE imply CMD_DM config ARCH_IMXRT diff --git a/arch/arm/include/asm/arch-imx9/ccm_regs.h b/arch/arm/include/asm/arch-imx9/ccm_regs.h index d326a6ea516..f6ec8fda3e6 100644 --- a/arch/arm/include/asm/arch-imx9/ccm_regs.h +++ b/arch/arm/include/asm/arch-imx9/ccm_regs.h @@ -12,7 +12,7 @@ #define ARM_A55_MTR_BUS_CLK_ROOT 1 #define ARM_A55_CLK_ROOT 2 #define M33_CLK_ROOT 3 -#define SENTINEL_CLK_ROOT 4 +#define ELE_CLK_ROOT 4 #define BUS_WAKEUP_CLK_ROOT 5 #define BUS_AON_CLK_ROOT 6 #define WAKEUP_AXI_CLK_ROOT 7 diff --git a/arch/arm/include/asm/global_data.h b/arch/arm/include/asm/global_data.h index 0c130757110..2a222c53882 100644 --- a/arch/arm/include/asm/global_data.h +++ b/arch/arm/include/asm/global_data.h @@ -92,8 +92,8 @@ struct arch_global_data { struct udevice *scu_dev; #endif -#ifdef CONFIG_IMX_SENTINEL - struct udevice *s400_dev; +#ifdef CONFIG_IMX_ELE + struct udevice *ele_dev; u32 soc_rev; u32 lifecycle; u32 uid[4]; diff --git a/arch/arm/include/asm/mach-imx/s400_api.h b/arch/arm/include/asm/mach-imx/ele_api.h similarity index 78% rename from arch/arm/include/asm/mach-imx/s400_api.h rename to arch/arm/include/asm/mach-imx/ele_api.h index 5582ff1a254..120da0854e4 100644 --- a/arch/arm/include/asm/mach-imx/s400_api.h +++ b/arch/arm/include/asm/mach-imx/ele_api.h @@ -3,12 +3,12 @@ * Copyright 2021 NXP */ -#ifndef __S400_API_H__ -#define __S400_API_H__ +#ifndef __ELE_API_H__ +#define __ELE_API_H__ -#define AHAB_VERSION 0x6 -#define AHAB_CMD_TAG 0x17 -#define AHAB_RESP_TAG 0xe1 +#define ELE_VERSION 0x6 +#define ELE_CMD_TAG 0x17 +#define ELE_RESP_TAG 0xe1 /* ELE commands */ #define ELE_PING_REQ (0x01) @@ -24,6 +24,8 @@ #define ELE_GET_FW_VERSION_REQ (0x9D) #define ELE_RET_LIFECYCLE_UP_REQ (0xA0) #define ELE_GET_EVENTS_REQ (0xA2) +#define ELE_START_RNG (0xA3) +#define ELE_GENERATE_DEK_BLOB (0xAF) #define ELE_ENABLE_PATCH_REQ (0xC3) #define ELE_RELEASE_RDC_REQ (0xC4) #define ELE_GET_FW_STATUS_REQ (0xC5) @@ -109,17 +111,17 @@ #define ELE_SUCCESS_IND (0xD6) #define ELE_FAILURE_IND (0x29) -#define S400_MAX_MSG 255U +#define ELE_MAX_MSG 255U -struct sentinel_msg { +struct ele_msg { u8 version; u8 size; u8 command; u8 tag; - u32 data[(S400_MAX_MSG - 1U)]; + u32 data[(ELE_MAX_MSG - 1U)]; }; -struct sentinel_get_info_data { +struct ele_get_info_data { u32 hdr; u32 soc; u32 lc; @@ -130,19 +132,19 @@ struct sentinel_get_info_data { u32 state; }; -int ahab_release_rdc(u8 core_id, u8 xrdc, u32 *response); -int ahab_auth_oem_ctnr(ulong ctnr_addr, u32 *response); -int ahab_release_container(u32 *response); -int ahab_verify_image(u32 img_id, u32 *response); -int ahab_forward_lifecycle(u16 life_cycle, u32 *response); -int ahab_write_fuse(u16 fuse_id, u32 fuse_val, bool lock, u32 *response); -int ahab_read_common_fuse(u16 fuse_id, u32 *fuse_words, u32 fuse_num, u32 *response); -int ahab_release_caam(u32 core_did, u32 *response); -int ahab_get_fw_version(u32 *fw_version, u32 *sha1, u32 *response); -int ahab_dump_buffer(u32 *buffer, u32 buffer_length); -int ahab_get_info(struct sentinel_get_info_data *info, u32 *response); -int ahab_get_fw_status(u32 *status, u32 *response); -int ahab_release_m33_trout(void); -int ahab_get_events(u32 *events, u32 *events_cnt, u32 *response); +int ele_release_rdc(u8 core_id, u8 xrdc, u32 *response); +int ele_auth_oem_ctnr(ulong ctnr_addr, u32 *response); +int ele_release_container(u32 *response); +int ele_verify_image(u32 img_id, u32 *response); +int ele_forward_lifecycle(u16 life_cycle, u32 *response); +int ele_write_fuse(u16 fuse_id, u32 fuse_val, bool lock, u32 *response); +int ele_read_common_fuse(u16 fuse_id, u32 *fuse_words, u32 fuse_num, u32 *response); +int ele_release_caam(u32 core_did, u32 *response); +int ele_get_fw_version(u32 *fw_version, u32 *sha1, u32 *response); +int ele_get_events(u32 *events, u32 *events_cnt, u32 *response); +int ele_dump_buffer(u32 *buffer, u32 buffer_length); +int ele_get_info(struct ele_get_info_data *info, u32 *response); +int ele_get_fw_status(u32 *status, u32 *response); +int ele_release_m33_trout(void); #endif diff --git a/arch/arm/mach-imx/ele_ahab.c b/arch/arm/mach-imx/ele_ahab.c index 99fc5402719..9bb37919638 100644 --- a/arch/arm/mach-imx/ele_ahab.c +++ b/arch/arm/mach-imx/ele_ahab.c @@ -7,14 +7,13 @@ #include #include #include -#include +#include #include #include #include #include #include #include -#include #include DECLARE_GLOBAL_DATA_PTR; @@ -267,7 +266,7 @@ int ahab_auth_cntr_hdr(struct container_hdr *container, u16 length) flush_dcache_range(IMG_CONTAINER_BASE, IMG_CONTAINER_BASE + ALIGN(length, CONFIG_SYS_CACHELINE_SIZE) - 1); - err = ahab_auth_oem_ctnr(IMG_CONTAINER_BASE, &resp); + err = ele_auth_oem_ctnr(IMG_CONTAINER_BASE, &resp); if (err) { printf("Authenticate container hdr failed, return %d, resp 0x%x\n", err, resp); @@ -282,7 +281,7 @@ int ahab_auth_release(void) int err; u32 resp; - err = ahab_release_container(&resp); + err = ele_release_container(&resp); if (err) { printf("Error: release container failed, resp 0x%x!\n", resp); display_ahab_auth_ind(resp); @@ -296,7 +295,7 @@ int ahab_verify_cntr_image(struct boot_img_t *img, int image_index) int err; u32 resp; - err = ahab_verify_image(image_index, &resp); + err = ele_verify_image(image_index, &resp); if (err) { printf("Authenticate img %d failed, return %d, resp 0x%x\n", image_index, err, resp); @@ -485,7 +484,7 @@ static int do_ahab_close(struct cmd_tbl *cmdtp, int flag, int argc, return -EPERM; } - err = ahab_forward_lifecycle(8, &resp); + err = ele_forward_lifecycle(8, &resp); if (err != 0) { printf("Error in forward lifecycle to OEM closed\n"); return -EIO; @@ -502,7 +501,7 @@ int ahab_dump(void) int ret, i = 0; do { - ret = ahab_dump_buffer(buffer, 32); + ret = ele_dump_buffer(buffer, 32); if (ret < 0) { printf("Error in dump AHAB log\n"); return -EIO; @@ -547,7 +546,7 @@ static int do_ahab_status(struct cmd_tbl *cmdtp, int flag, int argc, char *const display_life_cycle(lc); - ret = ahab_get_events(events, &cnt, NULL); + ret = ele_get_events(events, &cnt, NULL); if (ret) { printf("Get ELE EVENTS error %d\n", ret); return CMD_RET_FAILURE; diff --git a/arch/arm/mach-imx/imx8ulp/rdc.c b/arch/arm/mach-imx/imx8ulp/rdc.c index 50b097b035a..cfc09e79cbd 100644 --- a/arch/arm/mach-imx/imx8ulp/rdc.c +++ b/arch/arm/mach-imx/imx8ulp/rdc.c @@ -9,7 +9,7 @@ #include #include #include -#include +#include #include #include @@ -203,12 +203,12 @@ int xrdc_config_msc(u32 msc, u32 index, u32 dom, u32 perm) int release_rdc(enum rdc_type type) { ulong s_mu_base = 0x27020000UL; - struct sentinel_msg msg; + struct ele_msg msg; int ret; u32 rdc_id = (type == RDC_XRDC) ? 0x78 : 0x74; - msg.version = AHAB_VERSION; - msg.tag = AHAB_CMD_TAG; + msg.version = ELE_VERSION; + msg.tag = ELE_CMD_TAG; msg.size = 2; msg.command = ELE_RELEASE_RDC_REQ; msg.data[0] = (rdc_id << 8) | 0x2; /* A35 XRDC */ @@ -266,7 +266,7 @@ void xrdc_mrc_region_set_access(int mrc_index, u32 addr, u32 access) mrgd[4] |= ((access & 0xFFF) << 16); } - /* not handle other cases, since S400 only set ACCESS1 and 2 */ + /* not handle other cases, since ELE only set ACCESS1 and 2 */ writel(mrgd[4], xrdc_base + off + 0x10); return; } @@ -295,7 +295,7 @@ void xrdc_init_mda(void) void xrdc_init_mrc(void) { - /* Re-config MRC3 for SRAM0 in case protected by S400 */ + /* Re-config MRC3 for SRAM0 in case protected by ELE */ xrdc_config_mrc_w0_w1(3, 0, 0x22010000, 0x10000); xrdc_config_mrc_dx_perm(3, 0, 0, 1); xrdc_config_mrc_dx_perm(3, 0, 1, 1); @@ -320,7 +320,7 @@ void xrdc_init_mrc(void) xrdc_config_mrc_dx_perm(5, 0, 1, 1); xrdc_config_mrc_w3_w4(5, 0, 0x0, 0x80000FFF); - /* Set MRC6 for DDR access from Sentinel */ + /* Set MRC6 for DDR access from ELE */ xrdc_config_mrc_w0_w1(6, 0, CFG_SYS_SDRAM_BASE, PHYS_SDRAM_SIZE); xrdc_config_mrc_dx_perm(6, 0, 4, 1); xrdc_config_mrc_w3_w4(6, 0, 0x0, 0x80000FFF); @@ -404,7 +404,7 @@ int trdc_mbc_set_access(u32 mbc_x, u32 dom_x, u32 mem_x, u32 blk_x, bool sec_acc val &= ~(0xFU << offset); /* MBC0-3 - * Global 0, 0x7777 secure pri/user read/write/execute, S400 has already set it. + * Global 0, 0x7777 secure pri/user read/write/execute, ELE has already set it. * So select MBC0_MEMN_GLBAC0 */ if (sec_access) { @@ -445,7 +445,7 @@ int trdc_mrc_region_set_access(u32 mrc_x, u32 dom_x, u32 addr_start, u32 addr_en continue; /* MRC0,1 - * Global 0, 0x7777 secure pri/user read/write/execute, S400 has already set it. + * Global 0, 0x7777 secure pri/user read/write/execute, ELE has already set it. * So select MRCx_MEMN_GLBAC0 */ if (sec_access) { diff --git a/arch/arm/mach-imx/imx8ulp/soc.c b/arch/arm/mach-imx/imx8ulp/soc.c index 81eae02b6a8..e23cf60d126 100644 --- a/arch/arm/mach-imx/imx8ulp/soc.c +++ b/arch/arm/mach-imx/imx8ulp/soc.c @@ -14,7 +14,7 @@ #include #include #include -#include +#include #include #include #include @@ -70,7 +70,7 @@ int mmc_get_env_dev(void) } #endif -static void set_cpu_info(struct sentinel_get_info_data *info) +static void set_cpu_info(struct ele_get_info_data *info) { gd->arch.soc_rev = info->soc; gd->arch.lifecycle = info->lc; @@ -582,9 +582,9 @@ void get_board_serial(struct tag_serialnr *serialnr) u32 res; int ret; - ret = ahab_read_common_fuse(1, uid, 4, &res); + ret = ele_read_common_fuse(1, uid, 4, &res); if (ret) - printf("ahab read fuse failed %d, 0x%x\n", ret, res); + printf("ele read fuse failed %d, 0x%x\n", ret, res); else printf("UID 0x%x,0x%x,0x%x,0x%x\n", uid[0], uid[1], uid[2], uid[3]); @@ -783,7 +783,7 @@ int imx8ulp_dm_post_init(void) struct udevice *devp; int ret; u32 res; - struct sentinel_get_info_data *info = (struct sentinel_get_info_data *)SRAM0_BASE; + struct ele_get_info_data *info = (struct ele_get_info_data *)SRAM0_BASE; ret = uclass_get_device_by_driver(UCLASS_MISC, DM_DRIVER_GET(imx8ulp_mu), &devp); if (ret) { @@ -791,11 +791,11 @@ int imx8ulp_dm_post_init(void) return ret; } - ret = ahab_get_info(info, &res); + ret = ele_get_info(info, &res); if (ret) { - printf("ahab_get_info failed %d\n", ret); + printf("ele_get_info failed %d\n", ret); /* fallback to A0.1 revision */ - memset((void *)info, 0, sizeof(struct sentinel_get_info_data)); + memset((void *)info, 0, sizeof(struct ele_get_info_data)); info->soc = 0xa000084d; } diff --git a/arch/arm/mach-imx/imx8ulp/upower/upower_hal.c b/arch/arm/mach-imx/imx8ulp/upower/upower_hal.c index fcb02ed3af6..b471a75caa1 100644 --- a/arch/arm/mach-imx/imx8ulp/upower/upower_hal.c +++ b/arch/arm/mach-imx/imx8ulp/upower/upower_hal.c @@ -217,8 +217,8 @@ int upower_init(void) * CM33 Cache * PowerQuad RAM * ETF RAM - * Sentinel PKC, Data RAM1, Inst RAM0/1 - * Sentinel ROM + * ELE PKC, Data RAM1, Inst RAM0/1 + * ELE ROM * uPower IRAM/DRAM * uPower ROM * CM33 ROM @@ -230,7 +230,7 @@ int upower_init(void) * SSRAM Partition 7_a(128KB) * SSRAM Partition 7_b(64KB) * SSRAM Partition 7_c(64KB) - * Sentinel Data RAM0, Inst RAM2 + * ELE Data RAM0, Inst RAM2 */ /* MIPI-CSI FIFO BIT28 not set */ memon = 0x3FFFFFEFFFFFFCUL; diff --git a/arch/arm/mach-imx/imx9/clock.c b/arch/arm/mach-imx/imx9/clock.c index a7ecccaf879..766a8811c1f 100644 --- a/arch/arm/mach-imx/imx9/clock.c +++ b/arch/arm/mach-imx/imx9/clock.c @@ -709,8 +709,8 @@ struct imx_clk_setting imx_clk_settings[] = { /* Set A55 mtr bus to 133M */ {ARM_A55_MTR_BUS_CLK_ROOT, SYS_PLL_PFD1_DIV2, 3}, - /* Sentinel to 133M */ - {SENTINEL_CLK_ROOT, SYS_PLL_PFD1_DIV2, 3}, + /* ELE to 133M */ + {ELE_CLK_ROOT, SYS_PLL_PFD1_DIV2, 3}, /* Bus_wakeup to 133M */ {BUS_WAKEUP_CLK_ROOT, SYS_PLL_PFD1_DIV2, 3}, /* Bus_AON to 133M */ @@ -740,8 +740,8 @@ struct imx_clk_setting imx_clk_settings[] = { {ARM_A55_PERIPH_CLK_ROOT, SYS_PLL_PFD0, 3}, /* Set A55 mtr bus to 133M */ {ARM_A55_MTR_BUS_CLK_ROOT, SYS_PLL_PFD1_DIV2, 3}, - /* Sentinel to 200M */ - {SENTINEL_CLK_ROOT, SYS_PLL_PFD1_DIV2, 2}, + /* ELE to 200M */ + {ELE_CLK_ROOT, SYS_PLL_PFD1_DIV2, 2}, /* Bus_wakeup to 133M */ {BUS_WAKEUP_CLK_ROOT, SYS_PLL_PFD1_DIV2, 3}, /* Bus_AON to 133M */ diff --git a/arch/arm/mach-imx/imx9/clock_root.c b/arch/arm/mach-imx/imx9/clock_root.c index 06b93f60996..7d7ae865946 100644 --- a/arch/arm/mach-imx/imx9/clock_root.c +++ b/arch/arm/mach-imx/imx9/clock_root.c @@ -34,7 +34,7 @@ static struct clk_root_map clk_root_array[] = { { ARM_A55_MTR_BUS_CLK_ROOT, 2 }, { ARM_A55_CLK_ROOT, 0 }, { M33_CLK_ROOT, 2 }, - { SENTINEL_CLK_ROOT, 2 }, + { ELE_CLK_ROOT, 2 }, { BUS_WAKEUP_CLK_ROOT, 2 }, { BUS_AON_CLK_ROOT, 2 }, { WAKEUP_AXI_CLK_ROOT, 0 }, diff --git a/arch/arm/mach-imx/imx9/soc.c b/arch/arm/mach-imx/imx9/soc.c index 64e8ac610e5..b7d0b07e4bc 100644 --- a/arch/arm/mach-imx/imx9/soc.c +++ b/arch/arm/mach-imx/imx9/soc.c @@ -34,7 +34,7 @@ #include #include #include -#include +#include #include #include @@ -151,7 +151,7 @@ u32 get_cpu_temp_grade(int *minc, int *maxc) return val; } -static void set_cpu_info(struct sentinel_get_info_data *info) +static void set_cpu_info(struct ele_get_info_data *info) { gd->arch.soc_rev = info->soc; gd->arch.lifecycle = info->lc; @@ -557,7 +557,7 @@ int imx9_probe_mu(void *ctx, struct event *event) struct udevice *devp; int node, ret; u32 res; - struct sentinel_get_info_data info; + struct ele_get_info_data info; node = fdt_node_offset_by_compatible(gd->fdt_blob, -1, "fsl,imx93-mu-s4"); @@ -568,7 +568,7 @@ int imx9_probe_mu(void *ctx, struct event *event) if (gd->flags & GD_FLG_RELOC) return 0; - ret = ahab_get_info(&info, &res); + ret = ele_get_info(&info, &res); if (ret) return ret; @@ -646,7 +646,7 @@ static int mix_power_init(enum mix_power_domain pd) mem_id = SRC_MEM_MEDIA; scr = BIT(5); - /* Enable S400 handshake */ + /* Enable ELE handshake */ struct blk_ctrl_s_aonmix_regs *s_regs = (struct blk_ctrl_s_aonmix_regs *)BLK_CTRL_S_ANOMIX_BASE_ADDR; @@ -763,8 +763,8 @@ int m33_prepare(void) while (!(val & SRC_MIX_SLICE_FUNC_STAT_RST_STAT)) val = readl(&mix_regs->func_stat); - /* Release Sentinel TROUT */ - ahab_release_m33_trout(); + /* Release ELE TROUT */ + ele_release_m33_trout(); /* Mask WDOG1 IRQ from A55, we use it for M33 reset */ setbits_le32(&s_regs->ca55_irq_mask[1], BIT(6)); @@ -772,7 +772,7 @@ int m33_prepare(void) /* Turn on WDOG1 clock */ ccm_lpcg_on(CCGR_WDG1, 1); - /* Set sentinel LP handshake for M33 reset */ + /* Set ELE LP handshake for M33 reset */ setbits_le32(&s_regs->lp_handshake[0], BIT(6)); /* Clear M33 TCM for ECC */ diff --git a/arch/arm/mach-imx/imx9/trdc.c b/arch/arm/mach-imx/imx9/trdc.c index e05c7048106..d0f855bb1bc 100644 --- a/arch/arm/mach-imx/imx9/trdc.c +++ b/arch/arm/mach-imx/imx9/trdc.c @@ -10,7 +10,7 @@ #include #include #include -#include +#include #include #define DID_NUM 16 @@ -196,7 +196,7 @@ int trdc_mbc_blk_config(ulong trdc_reg, u32 mbc_x, u32 dom_x, u32 mem_x, val &= ~(0xFU << offset); /* MBC0-3 - * Global 0, 0x7777 secure pri/user read/write/execute, S400 has already set it. + * Global 0, 0x7777 secure pri/user read/write/execute, ELE has already set it. * So select MBC0_MEMN_GLBAC0 */ if (sec_access) { @@ -266,7 +266,7 @@ int trdc_mrc_region_config(ulong trdc_reg, u32 mrc_x, u32 dom_x, u32 addr_start, continue; /* MRC0,1 - * Global 0, 0x7777 secure pri/user read/write/execute, S400 has already set it. + * Global 0, 0x7777 secure pri/user read/write/execute, ELE has already set it. * So select MRCx_MEMN_GLBAC0 */ if (sec_access) { @@ -315,7 +315,7 @@ bool trdc_mbc_enabled(ulong trdc_base) int release_rdc(u8 xrdc) { ulong s_mu_base = 0x47520000UL; - struct sentinel_msg msg; + struct ele_msg msg; int ret; u32 rdc_id; @@ -336,8 +336,8 @@ int release_rdc(u8 xrdc) return -EINVAL; } - msg.version = AHAB_VERSION; - msg.tag = AHAB_CMD_TAG; + msg.version = ELE_VERSION; + msg.tag = ELE_CMD_TAG; msg.size = 2; msg.command = ELE_RELEASE_RDC_REQ; msg.data[0] = (rdc_id << 8) | 0x2; /* A55 */ @@ -394,7 +394,7 @@ void trdc_init(void) /* DDR */ trdc_mrc_set_control(0x49010000, 0, 0, 0x7777); - /* S400*/ + /* ELE */ trdc_mrc_region_config(0x49010000, 0, 0, 0x80000000, 0xFFFFFFFF, false, 0); /* MTR */ diff --git a/board/freescale/imx8ulp_evk/spl.c b/board/freescale/imx8ulp_evk/spl.c index a0dad5f9831..b7c6ff092b1 100644 --- a/board/freescale/imx8ulp_evk/spl.c +++ b/board/freescale/imx8ulp_evk/spl.c @@ -19,7 +19,7 @@ #include #include #include -#include +#include DECLARE_GLOBAL_DATA_PTR; @@ -63,9 +63,9 @@ void display_ele_fw_version(void) u32 fw_version, sha1, res; int ret; - ret = ahab_get_fw_version(&fw_version, &sha1, &res); + ret = ele_get_fw_version(&fw_version, &sha1, &res); if (ret) { - printf("ahab get firmware version failed %d, 0x%x\n", ret, res); + printf("ele get firmware version failed %d, 0x%x\n", ret, res); } else { printf("ELE firmware version %u.%u.%u-%x", (fw_version & (0x00ff0000)) >> 16, @@ -120,9 +120,9 @@ void spl_board_init(void) set_lpav_qos(); /* Enable A35 access to the CAAM */ - ret = ahab_release_caam(0x7, &res); + ret = ele_release_caam(0x7, &res); if (ret) - printf("ahab release caam failed %d, 0x%x\n", ret, res); + printf("ele release caam failed %d, 0x%x\n", ret, res); } void board_init_f(ulong dummy) diff --git a/board/freescale/imx93_evk/spl.c b/board/freescale/imx93_evk/spl.c index 352ad79cb67..63883b30dd7 100644 --- a/board/freescale/imx93_evk/spl.c +++ b/board/freescale/imx93_evk/spl.c @@ -20,7 +20,6 @@ #include #include #include -#include #include #include #include diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig index 04460f1acb2..b9f5c7a37ae 100644 --- a/drivers/misc/Kconfig +++ b/drivers/misc/Kconfig @@ -364,8 +364,8 @@ config NPCM_OTP To compile this driver as a module, choose M here: the module will be called npcm_otp. -config IMX_SENTINEL - bool "Enable i.MX Sentinel MU driver and API" +config IMX_ELE + bool "Enable i.MX EdgeLock Enclave MU driver and API" depends on MISC && (ARCH_IMX9 || ARCH_IMX8ULP) help If you say Y here to enable Message Unit driver to work with diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile index 52aed096021..fd8805f34bd 100644 --- a/drivers/misc/Makefile +++ b/drivers/misc/Makefile @@ -47,7 +47,7 @@ obj-$(CONFIG_SANDBOX) += irq_sandbox.o irq_sandbox_test.o obj-$(CONFIG_$(SPL_)I2C_EEPROM) += i2c_eeprom.o obj-$(CONFIG_IHS_FPGA) += ihs_fpga.o obj-$(CONFIG_IMX8) += imx8/ -obj-$(CONFIG_IMX_SENTINEL) += sentinel/ +obj-$(CONFIG_IMX_ELE) += imx_ele/ obj-$(CONFIG_LED_STATUS) += status_led.o obj-$(CONFIG_LED_STATUS_GPIO) += gpio_led.o obj-$(CONFIG_MPC83XX_SERDES) += mpc83xx_serdes.o diff --git a/drivers/misc/sentinel/Makefile b/drivers/misc/imx_ele/Makefile similarity index 71% rename from drivers/misc/sentinel/Makefile rename to drivers/misc/imx_ele/Makefile index 446154cb201..f8d8c55f983 100644 --- a/drivers/misc/sentinel/Makefile +++ b/drivers/misc/imx_ele/Makefile @@ -1,4 +1,4 @@ # SPDX-License-Identifier: GPL-2.0+ -obj-y += s400_api.o s4mu.o +obj-y += ele_api.o ele_mu.o obj-$(CONFIG_CMD_FUSE) += fuse.o diff --git a/drivers/misc/sentinel/s400_api.c b/drivers/misc/imx_ele/ele_api.c similarity index 63% rename from drivers/misc/sentinel/s400_api.c rename to drivers/misc/imx_ele/ele_api.c index 6c0d0b3f18a..56605714f44 100644 --- a/drivers/misc/sentinel/s400_api.c +++ b/drivers/misc/imx_ele/ele_api.c @@ -9,25 +9,25 @@ #include #include #include -#include +#include #include DECLARE_GLOBAL_DATA_PTR; -int ahab_release_rdc(u8 core_id, u8 xrdc, u32 *response) +int ele_release_rdc(u8 core_id, u8 xrdc, u32 *response) { - struct udevice *dev = gd->arch.s400_dev; - int size = sizeof(struct sentinel_msg); - struct sentinel_msg msg; + struct udevice *dev = gd->arch.ele_dev; + int size = sizeof(struct ele_msg); + struct ele_msg msg; int ret; if (!dev) { - printf("s400 dev is not initialized\n"); + printf("ele dev is not initialized\n"); return -ENODEV; } - msg.version = AHAB_VERSION; - msg.tag = AHAB_CMD_TAG; + msg.version = ELE_VERSION; + msg.tag = ELE_CMD_TAG; msg.size = 2; msg.command = ELE_RELEASE_RDC_REQ; switch (xrdc) { @@ -59,20 +59,20 @@ int ahab_release_rdc(u8 core_id, u8 xrdc, u32 *response) return ret; } -int ahab_auth_oem_ctnr(ulong ctnr_addr, u32 *response) +int ele_auth_oem_ctnr(ulong ctnr_addr, u32 *response) { - struct udevice *dev = gd->arch.s400_dev; - int size = sizeof(struct sentinel_msg); - struct sentinel_msg msg; + struct udevice *dev = gd->arch.ele_dev; + int size = sizeof(struct ele_msg); + struct ele_msg msg; int ret; if (!dev) { - printf("s400 dev is not initialized\n"); + printf("ele dev is not initialized\n"); return -ENODEV; } - msg.version = AHAB_VERSION; - msg.tag = AHAB_CMD_TAG; + msg.version = ELE_VERSION; + msg.tag = ELE_CMD_TAG; msg.size = 3; msg.command = ELE_OEM_CNTN_AUTH_REQ; msg.data[0] = upper_32_bits(ctnr_addr); @@ -89,20 +89,20 @@ int ahab_auth_oem_ctnr(ulong ctnr_addr, u32 *response) return ret; } -int ahab_release_container(u32 *response) +int ele_release_container(u32 *response) { - struct udevice *dev = gd->arch.s400_dev; - int size = sizeof(struct sentinel_msg); - struct sentinel_msg msg; + struct udevice *dev = gd->arch.ele_dev; + int size = sizeof(struct ele_msg); + struct ele_msg msg; int ret; if (!dev) { - printf("s400 dev is not initialized\n"); + printf("ele dev is not initialized\n"); return -ENODEV; } - msg.version = AHAB_VERSION; - msg.tag = AHAB_CMD_TAG; + msg.version = ELE_VERSION; + msg.tag = ELE_CMD_TAG; msg.size = 1; msg.command = ELE_RELEASE_CONTAINER_REQ; @@ -117,20 +117,20 @@ int ahab_release_container(u32 *response) return ret; } -int ahab_verify_image(u32 img_id, u32 *response) +int ele_verify_image(u32 img_id, u32 *response) { - struct udevice *dev = gd->arch.s400_dev; - int size = sizeof(struct sentinel_msg); - struct sentinel_msg msg; + struct udevice *dev = gd->arch.ele_dev; + int size = sizeof(struct ele_msg); + struct ele_msg msg; int ret; if (!dev) { - printf("s400 dev is not initialized\n"); + printf("ele dev is not initialized\n"); return -ENODEV; } - msg.version = AHAB_VERSION; - msg.tag = AHAB_CMD_TAG; + msg.version = ELE_VERSION; + msg.tag = ELE_CMD_TAG; msg.size = 2; msg.command = ELE_VERIFY_IMAGE_REQ; msg.data[0] = 1 << img_id; @@ -146,20 +146,20 @@ int ahab_verify_image(u32 img_id, u32 *response) return ret; } -int ahab_forward_lifecycle(u16 life_cycle, u32 *response) +int ele_forward_lifecycle(u16 life_cycle, u32 *response) { - struct udevice *dev = gd->arch.s400_dev; - int size = sizeof(struct sentinel_msg); - struct sentinel_msg msg; + struct udevice *dev = gd->arch.ele_dev; + int size = sizeof(struct ele_msg); + struct ele_msg msg; int ret; if (!dev) { - printf("s400 dev is not initialized\n"); + printf("ele dev is not initialized\n"); return -ENODEV; } - msg.version = AHAB_VERSION; - msg.tag = AHAB_CMD_TAG; + msg.version = ELE_VERSION; + msg.tag = ELE_CMD_TAG; msg.size = 2; msg.command = ELE_FWD_LIFECYCLE_UP_REQ; msg.data[0] = life_cycle; @@ -175,15 +175,15 @@ int ahab_forward_lifecycle(u16 life_cycle, u32 *response) return ret; } -int ahab_read_common_fuse(u16 fuse_id, u32 *fuse_words, u32 fuse_num, u32 *response) +int ele_read_common_fuse(u16 fuse_id, u32 *fuse_words, u32 fuse_num, u32 *response) { - struct udevice *dev = gd->arch.s400_dev; - int size = sizeof(struct sentinel_msg); - struct sentinel_msg msg; + struct udevice *dev = gd->arch.ele_dev; + int size = sizeof(struct ele_msg); + struct ele_msg msg; int ret; if (!dev) { - printf("s400 dev is not initialized\n"); + printf("ele dev is not initialized\n"); return -ENODEV; } @@ -198,8 +198,8 @@ int ahab_read_common_fuse(u16 fuse_id, u32 *fuse_words, u32 fuse_num, u32 *respo return -EINVAL; } - msg.version = AHAB_VERSION; - msg.tag = AHAB_CMD_TAG; + msg.version = ELE_VERSION; + msg.tag = ELE_CMD_TAG; msg.size = 2; msg.command = ELE_READ_FUSE_REQ; msg.data[0] = fuse_id; @@ -223,20 +223,20 @@ int ahab_read_common_fuse(u16 fuse_id, u32 *fuse_words, u32 fuse_num, u32 *respo return ret; } -int ahab_write_fuse(u16 fuse_id, u32 fuse_val, bool lock, u32 *response) +int ele_write_fuse(u16 fuse_id, u32 fuse_val, bool lock, u32 *response) { - struct udevice *dev = gd->arch.s400_dev; - int size = sizeof(struct sentinel_msg); - struct sentinel_msg msg; + struct udevice *dev = gd->arch.ele_dev; + int size = sizeof(struct ele_msg); + struct ele_msg msg; int ret; if (!dev) { - printf("s400 dev is not initialized\n"); + printf("ele dev is not initialized\n"); return -ENODEV; } - msg.version = AHAB_VERSION; - msg.tag = AHAB_CMD_TAG; + msg.version = ELE_VERSION; + msg.tag = ELE_CMD_TAG; msg.size = 3; msg.command = ELE_WRITE_FUSE_REQ; msg.data[0] = (32 << 16) | (fuse_id << 5); @@ -256,20 +256,20 @@ int ahab_write_fuse(u16 fuse_id, u32 fuse_val, bool lock, u32 *response) return ret; } -int ahab_release_caam(u32 core_did, u32 *response) +int ele_release_caam(u32 core_did, u32 *response) { - struct udevice *dev = gd->arch.s400_dev; - int size = sizeof(struct sentinel_msg); - struct sentinel_msg msg; + struct udevice *dev = gd->arch.ele_dev; + int size = sizeof(struct ele_msg); + struct ele_msg msg; int ret; if (!dev) { - printf("s400 dev is not initialized\n"); + printf("ele dev is not initialized\n"); return -ENODEV; } - msg.version = AHAB_VERSION; - msg.tag = AHAB_CMD_TAG; + msg.version = ELE_VERSION; + msg.tag = ELE_CMD_TAG; msg.size = 2; msg.command = ELE_RELEASE_CAAM_REQ; msg.data[0] = core_did; @@ -285,15 +285,15 @@ int ahab_release_caam(u32 core_did, u32 *response) return ret; } -int ahab_get_fw_version(u32 *fw_version, u32 *sha1, u32 *response) +int ele_get_fw_version(u32 *fw_version, u32 *sha1, u32 *response) { - struct udevice *dev = gd->arch.s400_dev; - int size = sizeof(struct sentinel_msg); - struct sentinel_msg msg; + struct udevice *dev = gd->arch.ele_dev; + int size = sizeof(struct ele_msg); + struct ele_msg msg; int ret; if (!dev) { - printf("s400 dev is not initialized\n"); + printf("ele dev is not initialized\n"); return -ENODEV; } @@ -307,8 +307,8 @@ int ahab_get_fw_version(u32 *fw_version, u32 *sha1, u32 *response) return -EINVAL; } - msg.version = AHAB_VERSION; - msg.tag = AHAB_CMD_TAG; + msg.version = ELE_VERSION; + msg.tag = ELE_CMD_TAG; msg.size = 1; msg.command = ELE_GET_FW_VERSION_REQ; @@ -326,20 +326,20 @@ int ahab_get_fw_version(u32 *fw_version, u32 *sha1, u32 *response) return ret; } -int ahab_dump_buffer(u32 *buffer, u32 buffer_length) +int ele_dump_buffer(u32 *buffer, u32 buffer_length) { - struct udevice *dev = gd->arch.s400_dev; - int size = sizeof(struct sentinel_msg); - struct sentinel_msg msg; + struct udevice *dev = gd->arch.ele_dev; + int size = sizeof(struct ele_msg); + struct ele_msg msg; int ret, i = 0; if (!dev) { - printf("s400 dev is not initialized\n"); + printf("ele dev is not initialized\n"); return -ENODEV; } - msg.version = AHAB_VERSION; - msg.tag = AHAB_CMD_TAG; + msg.version = ELE_VERSION; + msg.tag = ELE_CMD_TAG; msg.size = 1; msg.command = ELE_DUMP_DEBUG_BUFFER_REQ; @@ -360,25 +360,25 @@ int ahab_dump_buffer(u32 *buffer, u32 buffer_length) return i; } -int ahab_get_info(struct sentinel_get_info_data *info, u32 *response) +int ele_get_info(struct ele_get_info_data *info, u32 *response) { - struct udevice *dev = gd->arch.s400_dev; - int size = sizeof(struct sentinel_msg); - struct sentinel_msg msg; + struct udevice *dev = gd->arch.ele_dev; + int size = sizeof(struct ele_msg); + struct ele_msg msg; int ret; if (!dev) { - printf("s400 dev is not initialized\n"); + printf("ele dev is not initialized\n"); return -ENODEV; } - msg.version = AHAB_VERSION; - msg.tag = AHAB_CMD_TAG; + msg.version = ELE_VERSION; + msg.tag = ELE_CMD_TAG; msg.size = 4; msg.command = ELE_GET_INFO_REQ; msg.data[0] = upper_32_bits((ulong)info); msg.data[1] = lower_32_bits((ulong)info); - msg.data[2] = sizeof(struct sentinel_get_info_data); + msg.data[2] = sizeof(struct ele_get_info_data); ret = misc_call(dev, false, &msg, size, &msg, size); if (ret) @@ -391,20 +391,20 @@ int ahab_get_info(struct sentinel_get_info_data *info, u32 *response) return ret; } -int ahab_get_fw_status(u32 *status, u32 *response) +int ele_get_fw_status(u32 *status, u32 *response) { - struct udevice *dev = gd->arch.s400_dev; - int size = sizeof(struct sentinel_msg); - struct sentinel_msg msg; + struct udevice *dev = gd->arch.ele_dev; + int size = sizeof(struct ele_msg); + struct ele_msg msg; int ret; if (!dev) { - printf("s400 dev is not initialized\n"); + printf("ele dev is not initialized\n"); return -ENODEV; } - msg.version = AHAB_VERSION; - msg.tag = AHAB_CMD_TAG; + msg.version = ELE_VERSION; + msg.tag = ELE_CMD_TAG; msg.size = 1; msg.command = ELE_GET_FW_STATUS_REQ; @@ -421,20 +421,20 @@ int ahab_get_fw_status(u32 *status, u32 *response) return ret; } -int ahab_release_m33_trout(void) +int ele_release_m33_trout(void) { - struct udevice *dev = gd->arch.s400_dev; - int size = sizeof(struct sentinel_msg); - struct sentinel_msg msg; + struct udevice *dev = gd->arch.ele_dev; + int size = sizeof(struct ele_msg); + struct ele_msg msg; int ret; if (!dev) { - printf("s400 dev is not initialized\n"); + printf("ele dev is not initialized\n"); return -ENODEV; } - msg.version = AHAB_VERSION; - msg.tag = AHAB_CMD_TAG; + msg.version = ELE_VERSION; + msg.tag = ELE_CMD_TAG; msg.size = 1; msg.command = ELE_ENABLE_RTC_REQ; @@ -446,16 +446,16 @@ int ahab_release_m33_trout(void) return ret; } -int ahab_get_events(u32 *events, u32 *events_cnt, u32 *response) +int ele_get_events(u32 *events, u32 *events_cnt, u32 *response) { - struct udevice *dev = gd->arch.s400_dev; - int size = sizeof(struct sentinel_msg); - struct sentinel_msg msg; + struct udevice *dev = gd->arch.ele_dev; + int size = sizeof(struct ele_msg); + struct ele_msg msg; int ret, i = 0; u32 actual_events; if (!dev) { - printf("s400 dev is not initialized\n"); + printf("ele dev is not initialized\n"); return -ENODEV; } @@ -464,8 +464,8 @@ int ahab_get_events(u32 *events, u32 *events_cnt, u32 *response) return -EINVAL; } - msg.version = AHAB_VERSION; - msg.tag = AHAB_CMD_TAG; + msg.version = ELE_VERSION; + msg.tag = ELE_CMD_TAG; msg.size = 1; msg.command = ELE_GET_EVENTS_REQ; diff --git a/drivers/misc/sentinel/s4mu.c b/drivers/misc/imx_ele/ele_mu.c similarity index 93% rename from drivers/misc/sentinel/s4mu.c rename to drivers/misc/imx_ele/ele_mu.c index 794fc40c620..0d34b8c9010 100644 --- a/drivers/misc/sentinel/s4mu.c +++ b/drivers/misc/imx_ele/ele_mu.c @@ -9,7 +9,7 @@ #include #include #include -#include +#include #include #include #include @@ -85,7 +85,7 @@ int mu_hal_receivemsg(ulong base, u32 reg_index, u32 *msg) static int imx8ulp_mu_read(struct mu_type *base, void *data) { - struct sentinel_msg *msg = (struct sentinel_msg *)data; + struct ele_msg *msg = (struct ele_msg *)data; int ret; u8 count = 0; @@ -99,7 +99,7 @@ static int imx8ulp_mu_read(struct mu_type *base, void *data) count++; /* Check size */ - if (msg->size > S400_MAX_MSG) { + if (msg->size > ELE_MAX_MSG) { *((u32 *)msg) = 0; return -EINVAL; } @@ -118,7 +118,7 @@ static int imx8ulp_mu_read(struct mu_type *base, void *data) static int imx8ulp_mu_write(struct mu_type *base, void *data) { - struct sentinel_msg *msg = (struct sentinel_msg *)data; + struct ele_msg *msg = (struct ele_msg *)data; int ret; u8 count = 0; @@ -126,7 +126,7 @@ static int imx8ulp_mu_write(struct mu_type *base, void *data) return -EINVAL; /* Check size */ - if (msg->size > S400_MAX_MSG) + if (msg->size > ELE_MAX_MSG) return -EINVAL; /* Write first word */ @@ -171,7 +171,7 @@ static int imx8ulp_mu_call(struct udevice *dev, int no_resp, void *tx_msg, return ret; } - result = ((struct sentinel_msg *)rx_msg)->data[0]; + result = ((struct ele_msg *)rx_msg)->data[0]; if ((result & 0xff) == 0xd6) return 0; @@ -196,7 +196,7 @@ static int imx8ulp_mu_probe(struct udevice *dev) /* U-Boot not enable interrupts, so need to enable RX interrupts */ mu_hal_init((ulong)priv->base); - gd->arch.s400_dev = dev; + gd->arch.ele_dev = dev; return 0; } diff --git a/drivers/misc/sentinel/fuse.c b/drivers/misc/imx_ele/fuse.c similarity index 84% rename from drivers/misc/sentinel/fuse.c rename to drivers/misc/imx_ele/fuse.c index 99342d33c06..4e4dcb42cdd 100644 --- a/drivers/misc/sentinel/fuse.c +++ b/drivers/misc/imx_ele/fuse.c @@ -10,7 +10,7 @@ #include #include #include -#include +#include #include DECLARE_GLOBAL_DATA_PTR; @@ -24,11 +24,11 @@ struct fsb_map_entry { bool redundancy; }; -struct s400_map_entry { +struct ele_map_entry { s32 fuse_bank; u32 fuse_words; u32 fuse_offset; - u32 s400_index; + u32 ele_index; }; #if defined(CONFIG_IMX8ULP) @@ -65,7 +65,7 @@ u32 nonecc_fuse_banks[] = { 0, 1, 8, 12, 16, 22, 24, 25, 26, 27, 36, 41, 51, 56 }; -struct s400_map_entry s400_api_mapping_table[] = { +struct ele_map_entry ele_api_mapping_table[] = { { 1, 8 }, /* LOCK */ { 2, 8 }, /* ECID */ { 7, 4, 0, 1 }, /* OTP_UNIQ_ID */ @@ -122,7 +122,7 @@ struct fsb_map_entry fsb_mapping_table[] = { { 63, 8 }, }; -struct s400_map_entry s400_api_mapping_table[] = { +struct ele_map_entry ele_api_mapping_table[] = { { 7, 1, 7, 63 }, { 16, 8, }, { 17, 8, }, @@ -159,18 +159,18 @@ static s32 map_fsb_fuse_index(u32 bank, u32 word, bool *redundancy) return word + word_pos; } -static s32 map_s400_fuse_index(u32 bank, u32 word) +static s32 map_ele_fuse_index(u32 bank, u32 word) { - s32 size = ARRAY_SIZE(s400_api_mapping_table); + s32 size = ARRAY_SIZE(ele_api_mapping_table); s32 i; /* map the fuse from ocotp fuse map to FSB*/ for (i = 0; i < size; i++) { - if (s400_api_mapping_table[i].fuse_bank != -1 && - s400_api_mapping_table[i].fuse_bank == bank) { - if (word >= s400_api_mapping_table[i].fuse_offset && - word < (s400_api_mapping_table[i].fuse_offset + - s400_api_mapping_table[i].fuse_words)) + if (ele_api_mapping_table[i].fuse_bank != -1 && + ele_api_mapping_table[i].fuse_bank == bank) { + if (word >= ele_api_mapping_table[i].fuse_offset && + word < (ele_api_mapping_table[i].fuse_offset + + ele_api_mapping_table[i].fuse_words)) break; } } @@ -178,10 +178,10 @@ static s32 map_s400_fuse_index(u32 bank, u32 word) if (i == size) return -1; /* Failed to find */ - if (s400_api_mapping_table[i].s400_index != 0) - return s400_api_mapping_table[i].s400_index; + if (ele_api_mapping_table[i].ele_index != 0) + return ele_api_mapping_table[i].ele_index; - return s400_api_mapping_table[i].fuse_bank * 8 + word; + return ele_api_mapping_table[i].fuse_bank * 8 + word; } #if defined(CONFIG_IMX8ULP) @@ -202,7 +202,7 @@ int fuse_sense(u32 bank, u32 word, u32 *val) return 0; } - word_index = map_s400_fuse_index(bank, word); + word_index = map_ele_fuse_index(bank, word); if (word_index >= 0) { u32 data[4]; u32 res, size = 4; @@ -212,7 +212,7 @@ int fuse_sense(u32 bank, u32 word, u32 *val) if (word_index != 1) size = 1; - ret = ahab_read_common_fuse(word_index, data, size, &res); + ret = ele_read_common_fuse(word_index, data, size, &res); if (ret) { printf("ahab read fuse failed %d, 0x%x\n", ret, res); return ret; @@ -255,13 +255,13 @@ int fuse_sense(u32 bank, u32 word, u32 *val) return 0; } - word_index = map_s400_fuse_index(bank, word); + word_index = map_ele_fuse_index(bank, word); if (word_index >= 0) { u32 data; u32 res, size = 1; int ret; - ret = ahab_read_common_fuse(word_index, &data, size, &res); + ret = ele_read_common_fuse(word_index, &data, size, &res); if (ret) { printf("ahab read fuse failed %d, 0x%x\n", ret, res); return ret; @@ -304,7 +304,7 @@ int fuse_prog(u32 bank, u32 word, u32 val) lock = true; #endif - ret = ahab_write_fuse((bank * 8 + word), val, lock, &res); + ret = ele_write_fuse((bank * 8 + word), val, lock, &res); if (ret) { printf("ahab write fuse failed %d, 0x%x\n", ret, res); return ret; From patchwork Fri Jun 2 06:45:46 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: "Peng Fan (OSS)" X-Patchwork-Id: 1789467 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=85.214.62.61; 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=kVfpw+2B; dkim-atps=neutral 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 (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4QXXLQ37wrz20Q4 for ; Fri, 2 Jun 2023 15:56:14 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 5BF9D865DC; Fri, 2 Jun 2023 07:54:51 +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="kVfpw+2B"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 41CEA865D7; Fri, 2 Jun 2023 07:54:46 +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=-0.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FORGED_SPF_HELO,SPF_HELO_PASS,T_SCC_BODY_TEXT_LINE, T_SPF_PERMERROR autolearn=no autolearn_force=no version=3.4.2 Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01on060c.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe1e::60c]) (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 ED711865C5 for ; Fri, 2 Jun 2023 07:54: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=peng.fan@oss.nxp.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=G32H+mYzgVP7IhAER/JY04bVL0zuAVlW7g2D/6eKDrxP8WAi4jKB3uR9uT8M7EADooSJfdc3nSjTRtCn1yZo71wnAqe9fEubKZs4WbtMDhRdwT8ur/eVyDegBkkjLGExe1fIFDmY38fVyIppzSHdWNghqr1QEt5Jgg6OFrBI8c/foef4JYfEWdH5/kxoDMegczc5RF6KhYUUanRY45TISnSk5y4i5vozy2Xm6rtOzr8TEuAJ6ddp1NLw9Q1PNc+CCwZYNM3WTL9I+prsEDXpDE0TMK5ij/13L/kAPQ5ZAa4KXffnIv7oa8Fdcolx5tEWZmT66aZ+/SiAHaG8DNVeIA== 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=rpLLD97AkD2aOSYofGq6jbD4Xzj093vpJOdJMo9K494=; b=eCq0YqtkTg2a8Uo0gT2aHLq/32+gugYqc7DmvdLGV3piJ9LRtwfftRFJwVm2Fsjefb7kHRHXTU4DIF1NdSOTEvl2UMWc1CZ0C/mtdVuBOkuqZAPlfNc+TVOgdcyVeK27cvF4SKuy0dxvSukYzQMFpoJs3S0DYM0GcIf93iPfdpJgVl15uvexkY8dWJV8gJJxo1GhUhTRS5Oi/MdeFPc+BZKSIyR6tf/ijxV/k5yqXh0ZGvPSi3xOCO4e0g8AomvDjKkiPUNFPY3uOnRQa00uh7vAufJYL+7120N9Kn1Pc7Gaj8/XyVqss+4XJYVkH67/HAybU6zrNfGrkkHqcs7unQ== 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=rpLLD97AkD2aOSYofGq6jbD4Xzj093vpJOdJMo9K494=; b=kVfpw+2BsHsggc+gEK6/UI2dSHpJ8TbjrK3MdTfZu8PV5YqNt1Lt8DTodvyM0oNQcilZvkTiHkt0SsVX0H09KNKYKULnRGDISU8FWDg9Rcm7biWQMufwOW24n5sISP/Jyp+bhdOh3Gu6zIQL3UAmG9q5zoCtyqwogPcochTKFCU= 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 AM8PR04MB7362.eurprd04.prod.outlook.com (2603:10a6:20b:1c5::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.24; Fri, 2 Jun 2023 05:54:40 +0000 Received: from DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::7b3d:4c2a:1636:da28]) by DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::7b3d:4c2a:1636:da28%6]) with mapi id 15.20.6455.020; Fri, 2 Jun 2023 05:54:40 +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/30] imx: parse-container: fix build warning Date: Fri, 2 Jun 2023 14:45:46 +0800 Message-Id: <20230602064607.17222-10-peng.fan@oss.nxp.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230602064607.17222-1-peng.fan@oss.nxp.com> References: <20230602064607.17222-1-peng.fan@oss.nxp.com> X-ClientProxiedBy: SG2PR06CA0194.apcprd06.prod.outlook.com (2603:1096:4:1::26) 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_|AM8PR04MB7362:EE_ X-MS-Office365-Filtering-Correlation-Id: 7f9fe262-4c7a-4f1c-b8f8-08db632ddad4 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: K8fE9FijNjjWcgHlNQsGj+gmrnTTILL5PQrYSG8TnIV5ODwN/69C2ryWcnWoKLXryjkjTW9iEwd9nksqMlIQKqTY6hGdEyBlYj1FDM5GCNkT/hd14nPFFRj6VvrGwb/k4scJO7ho/WAVEQ4yrltVRkvsX3zsBY5XnEujhH4XSXghdKD0kMd92YwnGSQhmpah7LNih5kS7tuIiS/uOxDRyOpgmuE8MUcjB2xB7VGaZcbF9udeIYg9bUEIimU2jrfX2S2XFVNv0p7ynfsVtWwoZ6RbxhboeJ1ZKkGPuMNlACpB43FL6dnnWUdRGGeTagnPNcFIcLLkT5tyAoDqvN3RZNIqVHM8TIgYnM7RgL5+VoZQAHfK/y7pd5c9ztRy1L5j4ckJIdghpz6xJx0NG7g72mMPhsz6owJ+CPlqioe/N+4uSK1A4ihIwX5Il7RjBfJ+iHJ1AmmoK4yeow0nKjOO47YbwxYQQUDhvzH+QPDTXecAmyGyJ6jwr4uGu9+vRK52Zez86j0yaj1Az0AnSaT/0+EBuV2uqBiD3Y7pp+96rVSqMsGq82G+MoXJiGMEk+64CqOwZgaRFK4Zrpkn1EtIfUzYdapMqFx4Ve3HtKYVCMxzAxL4NUIe6lABbXDZBvQx 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:(13230028)(4636009)(346002)(376002)(366004)(39860400002)(396003)(136003)(451199021)(83380400001)(66556008)(66476007)(52116002)(6512007)(1076003)(26005)(6486002)(6506007)(478600001)(2616005)(186003)(86362001)(2906002)(5660300002)(6862004)(8936002)(8676002)(41300700001)(4326008)(66946007)(38350700002)(38100700002)(316002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?3WwtbPEVBxYSx8zrDGSKUVAUEVNb?= =?utf-8?q?hIBdKU+/9I5nMcxIAuqD4R8SM8jAqTN2/diBdGOo/5b5P4efqms9s6qqmu0U3SJTz?= =?utf-8?q?VmXnRWerzpQrSmjGW5vdMjGV4jRtlet5vrIjyF/xhbhMD6BAZqHL+KeqPY1SVOjTl?= =?utf-8?q?JgKY4aDVIk+W5NoQ+ejmIMZIUbzfZLGsXZ2wlksf6mPSZOvYmjappnuV5kat8nCUf?= =?utf-8?q?UIctnD2ksou0Yfiq1MIF3nU2ViOJ4FdIFOlPFVNWL810CI4diVoEddU6iYSOR2lQI?= =?utf-8?q?jb0+4PxE4njnhjxxNjYPeUQMXhx6h/ruG+M6veBxtRH967nyzMxeLjeDOrVtvZTqd?= =?utf-8?q?b2o169kkIGLpEaDS8RClcbrGnt6YKruz+IPiGA5dimjoxF2eBs6aWDXWQnZMqMOYP?= =?utf-8?q?bTdxWoFuR6ki1MnWTGPOKJtsVDKUJ6cWsrcIkK0wCqqxDyl30/4r5huSP+NAOzy8h?= =?utf-8?q?ElHaAjMJR3mBa/shLKulib8wgVUlVbYZf2JuE2TulMknCOaDgqKaCQXd9eeW9quup?= =?utf-8?q?06/zqBprhfVZ/JlcsGXeXOArTh6zR50HE5kOe3A1aExovCOnOv4zHC1PyJTEhcKE8?= =?utf-8?q?BTwPW+JNmEsV05mrVTTIFE6YCY+0qIOrxwj3MCYyeVzGNWJAbN6+hqaDDJtdOgxes?= =?utf-8?q?4erBlpEeX9F07DhdF5XrWKIm5I/IKZtUDSoVeqW/K61sdzkIWOJEsfnWQwxxExsax?= =?utf-8?q?RayCe+Gp3IgQXt65zU8ZL3y7Dm84oc0C1gpnVpRktK8Gr7XEtF4Ya9hPWoTCOuJr/?= =?utf-8?q?MyyS7DKIEqt3IQTgs5Rfi+8j9JDiPxBj7OBG/QGqoOkOFnoL6IR26xTKWrTf8RXqs?= =?utf-8?q?K/RbJg3ATsulPkLF1YsOhAsw5vE7qxs1y/haQbZW62LqpXNlnA59vuT1BUO6c969h?= =?utf-8?q?d3qG2zD1JDjOkMJo25/XZZCKjCsBLsEep55oU394Qbo+5uhlKfGgKGejEwwKh67h4?= =?utf-8?q?xfhMK4AbRhdMXqeNBhxwQzrmc2Zi83V4JfZRcVmjG8wRtk5OyldIUGyMmQXYlQv/k?= =?utf-8?q?m+RqFNExlX7YKFBKQ98qsBfiHm+rdR62DMQ5P5ASughNHw7ZABp8C0dm8ZkHgEG1P?= =?utf-8?q?p4gRVAFmAvSGr7pZMtikJINaZTvKKwISHRp1O6jB+SFii+Rsn0O5P1JbJthHQcoHl?= =?utf-8?q?wiUSXuQNtMT7T5NZgby6BKFN0Y3GzxtDDnVBPtqbmvHzZLIcurjnw9bt8g0c9ioz7?= =?utf-8?q?2QF4x18PfmSqDPiIB4byX2RjmCqdqoWYXFVChwNmnntJC8wAZVeOEyrsB1co7WGdV?= =?utf-8?q?YZQjs7p8o/2LQMV9SI/D9+gxI//ULVKZs/eU4tCjAUn6kzm+ceQpYw9ePTYK6p4KD?= =?utf-8?q?y+eDXeQJ60JeViq/5P/NzYp+kEPswG7RegDCXLw1PMHGUyfiSEmjhOuOe1IEhQ8Py?= =?utf-8?q?jjTi4Nzl76EjBv7wRyhcrzjd8+KIPt4nJbTMsLznRnP5QwnXNfuat13m81t53dXiy?= =?utf-8?q?HhCvsppDNIkzo5+bLPICsQCZVFCYphAw9JvrHlQwMmgVdNeqiK7eYikzmBJnrio69?= =?utf-8?q?zerDDH9lwuxO?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7f9fe262-4c7a-4f1c-b8f8-08db632ddad4 X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9417.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jun 2023 05:54:40.1106 (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: yxJFVAJJPceJwE0hjw7qnpSvLuu65hWtXGLfqSNddFgR4KrTtcSjTJJqHI0516Dt59sZass7XHbog3gALKhAwA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7362 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 From: Peng Fan Fix build warning: warning: format ‘%x’ expects argument of type ‘unsigned int’, but argument 3 has type ‘u64’ {aka ‘long long unsigned int’} [-Wformat=] printf("can't find memreg for image %d load address 0x%x, error %d\n", warning: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 3 has type ‘sc_faddr_t’ {aka ‘long long unsigned int’} [-Wformat=] debug("memreg %u 0x%lx -- 0x%lx\n", mr, start, end); Signed-off-by: Peng Fan --- arch/arm/mach-imx/parse-container.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/arm/mach-imx/parse-container.c b/arch/arm/mach-imx/parse-container.c index f7582825d6d..a0d1eb3831c 100644 --- a/arch/arm/mach-imx/parse-container.c +++ b/arch/arm/mach-imx/parse-container.c @@ -35,14 +35,14 @@ static int authenticate_image(struct boot_img_t *img, int image_index) ALIGN(img->dst + img->size, CONFIG_SYS_CACHELINE_SIZE) - 1); if (err) { - printf("can't find memreg for image %d load address 0x%x, error %d\n", + printf("can't find memreg for image %d load address 0x%llx, error %d\n", image_index, img->dst & ~(CONFIG_SYS_CACHELINE_SIZE - 1), err); return -ENOMEM; } err = sc_rm_get_memreg_info(-1, mr, &start, &end); if (!err) - debug("memreg %u 0x%x -- 0x%x\n", mr, start, end); + debug("memreg %u 0x%llx -- 0x%llx\n", mr, start, end); err = sc_rm_set_memreg_permissions(-1, mr, SECO_PT, SC_RM_PERM_FULL); From patchwork Fri Jun 2 06:45:47 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: 1789470 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=85.214.62.61; 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=aG6OGVBq; dkim-atps=neutral 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 (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4QXXLx64Fxz20Q4 for ; Fri, 2 Jun 2023 15:56:41 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id C36CD865DD; Fri, 2 Jun 2023 07:54:55 +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="aG6OGVBq"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 6851F865C5; Fri, 2 Jun 2023 07:54:48 +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=-0.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FORGED_SPF_HELO,SPF_HELO_PASS,T_SCC_BODY_TEXT_LINE, T_SPF_PERMERROR autolearn=no autolearn_force=no version=3.4.2 Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on0624.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe02::624]) (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 26ECC865D3 for ; Fri, 2 Jun 2023 07:54:45 +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=bOyy+RABAxhAMLrJI0pKBLDbHJyIpH07/0wR+JHr2YQZ/48Q8dQrhWtpJVXSU0Fc4+fn9C6wUnD8BGqNvIwQGHHvl3zY/z+ABi+U+MmQiedRklrcFGXpDX2/yiw53SqvpRiZ9OaJ2JHLOYsWz9eLTCrQlSbWESaSUQxGRH/rV7XMipKIvVU+R1qCy1ojOv+mZS1oVstnTV6iABE/Q5+dLH9gXgo7eJmErPCMp05EhsYsBcRp2mozm3RwLo4OL77lM/mS0dB/zXoAQi/fSphF8K8gvQRFPnmDqaYYLetvW+NUTa//izBRzHTYqvCArMrdk9R1R6NLOlkHgiLTfPUYrg== 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=pJ9/NZky38OTwYJWEZSrWReilDEP+hgNINTm2WfDzj0=; b=XneleBnQNLzoGWTzFDeCzhvGW1Zcn4mSUrPG741+t0DOOhdSLMLJ3vkC2V55kvcc/Zk9B4u0sQnnMdlre9/uN7hRRrTK23ItRLmPb3hxH79x8ccRIJnPlYvUcvO/1apc8OrJeGEkS5/gWs2M7zNc5K5B6brtvomJO+f5tQ4wp+SkN2VYZTgcRT111YgerSboWx9YFZmjP9duiqzEX03MHiu+/qP5+pWX97ofDBzSPHsLwjnnokdPuaamcf7u8lfyQyW7rOvYxPJnrSRK+0YyZCJQ1D8Aek3euoKH/U0mYW5CpdPmvssaNgd+6CaVWkE0CAxyykA9YBCxSxd33M/cqw== 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=pJ9/NZky38OTwYJWEZSrWReilDEP+hgNINTm2WfDzj0=; b=aG6OGVBq7hPwoRmmaRalRVYorEt7j1PqBfradyKa6uiusCd0gDGjIZN06dYh5QKnJ3e9xiea4OnzfN8DBWL6vX8U1k8DadnMD4wkFVG/QuCu8b4d+8dehqnvTfI0JDfH1hk3EQXOFogSg0aqiKzMf8/7LS3tFzexDC9b4yFpMjU= 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 AM8PR04MB7362.eurprd04.prod.outlook.com (2603:10a6:20b:1c5::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.24; Fri, 2 Jun 2023 05:54:43 +0000 Received: from DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::7b3d:4c2a:1636:da28]) by DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::7b3d:4c2a:1636:da28%6]) with mapi id 15.20.6455.020; Fri, 2 Jun 2023 05:54:42 +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 10/30] imx: ele_ahab: use hextoul Date: Fri, 2 Jun 2023 14:45:47 +0800 Message-Id: <20230602064607.17222-11-peng.fan@oss.nxp.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230602064607.17222-1-peng.fan@oss.nxp.com> References: <20230602064607.17222-1-peng.fan@oss.nxp.com> X-ClientProxiedBy: SG2PR06CA0194.apcprd06.prod.outlook.com (2603:1096:4:1::26) 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_|AM8PR04MB7362:EE_ X-MS-Office365-Filtering-Correlation-Id: b059639a-50b1-478e-f83d-08db632ddc69 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: r+foH4uXCMhkX8FJLFMR/Jzogi6OgdqsSR38Syd4vDuMpm1qseyEgVehNqtV3bGug2ibD6UiCfW6nx6ctysLA3AMSQLcRp7dNaL2qqJkqlVatoey7BTFM+EF0tr3ZO+XItVsv55Px02VaBLVYRkU9VpLS9REQtyvHyo664xjQhu4irfpkyrIRZZdXIHrNChWRambzHw06VTT1xG3dSe6kX0OL8iGSvHx0B7rLQ959itNcJtZu/7a4R+cpfBKm4ZDIEsXchIrNScJVFButz04CYZ913KtCDNr/EBR1O7lLTNpnojePU13PEsOp3UiWwsGDqZ/gh3xIM5hTdnLB21TFmf3J+1H7K8D9pmkEZ+aTc0p7XVFBnFOJ7c49Uypgx2TN/v4w36ve9mHsvGZ8MShMsjM4Vk6V5OyCLv5bXs6rohRDdrKW0pC/yGAJ2aeev2MZPO+ztj0gZQP9Bawdpe63ZxblI7jz+HBSGRhkvdap/4c2MoG2j+8a0j4gbe6hNPGWccJVNuSPDXEg97J2DOVeZdZrRwG/KQUbvppW9+y44+neW7GZHhwbbRkFaxf7Z/RKEeWg+AIFgLx1WRSy6uA3MN806Y0/TF9WlEADSjQKp8RisJu7abdkV4sRQII23jc 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:(13230028)(4636009)(346002)(376002)(366004)(39860400002)(396003)(136003)(451199021)(83380400001)(66556008)(66476007)(52116002)(6512007)(1076003)(26005)(6486002)(6506007)(478600001)(2616005)(186003)(86362001)(2906002)(4744005)(5660300002)(6862004)(8936002)(8676002)(41300700001)(4326008)(66946007)(38350700002)(38100700002)(316002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: XuwwATaMR7Uo/kGFjmd39dVOfGpVqBy3X4FEn7EVlLo5jb8ot69LSSPn1w6sCfGHBHX2rxwjx1piESWx/rbljCHj6dXJAKwiCRA8doYSd8e7Xexc761IOuAA7Au6spA+slbkuOicE36QB/djf9FHP+jX1gD/AUDTJo+/HTj1GWQwins2E8/U3IElzXdMu2cLJzzWLf75Y3VRRDKQ7lEm6n2Z7AaC3D6K8/RQQNcrUGqv9LUFWuUn+fmtgVXvuW3AflcCD5oW0sPdd1uiwfBC6W9s6PNbDAtrJYe/QXVGiHPDerfiaT4CXMsvubvUAxdDK5x2aDOMW6/zcXF4LfkIsW1ORm2090GWXwPZxGvE0+bZyR4ebwCihz37wSV5haz872cAebgXU+wXXZklz1UdlB4zAHtr/k9dqkCNdonQaPybvcI2Y3inlpK9zJwEzara8jvK7v/cgrSbAVBTenWlKYgVwbog9Nm6ImtMEzDtNGtaj1KD8mdLoHHoApjhGkaa8JxGN9j7mlILZGjIBpz7TB4J/zLESpEIYqTU5+YUjOElepFoyHQt+h2mdrHJ40m40PD9jj/SqZXY671fuuL7Peyt7eNGBzKgdoB/W9K4Sr90/QxnXZFQQbZsxSRoMPo5a65l4AgJtBnXrcwIUD3icXnq1a1F07Y3cOIqwZGAISI89Gn3B13KEwAfxKPUvXVSxxfiFXeHkeJataFvvyNUk4d+8mXNtLTpF0Eqn3bh+QPM4BD8l8qT+b/+chjmRQpFzAInmg/JXOSoWHTm0XUdKQO48W5QYGYwm6LAPNMv1CSP+M0DbApBA4nx66x0ETnjq6jZw45U6+VWrzdxhczvh8HZkXtj7ZGfJwOhWkkoelgVEFmz6U8zuxu/T/JZMJHtU9smb7nk3d3HshfM9ysTSg4FiyFV4oobHHlCkGyrQSMX95m53UYp/fBCTLTQKMTkEMVplLrMOfLtzxMsYLCPQNr+sdzJbs/7XNX3An7xtNW24aM5PtgBYtc0wf7uKyZWIiWz26fTsR7tNkd9ziZTn06mCB9RAtwCREopvvas8eSjzaoOhWUOlObeUWBmtijrCb00Fwj58R3c1ppSGjGlmq83+APwAphVm7HHYMuhtqWs4QaZfxe40FhEch0JmM3zaiwL9YNnBw78B2tX8+sh12SmA4Aqgay9FCS4nGUJ2Mckwwj3FUcNLcSpx1UnU6a8U/m5oq0S6qem3mL1JUGIvTN9K3BQsyHXNclR/qB0BpvuWbAZGssFAenh4slk9kHp1qBAvPP0b8YPiJ3FpkEzY8wUHeLLTmstEiIfC/fv9F5sEFr8bVIUWX60aPLntnyshUmdU+esOwkKrDoFarGwDMvhNcUASfifntiPUY/MZM8Q+CIfS3wjIt6qeMd9qSz3OmUxnvEhb3vlMQGeyAWZqZPZfuYgjGjXEbRVAm+K/ZmOrTGMQ0iCpq6qYM/xVu4dOpz5nbZ23esjN/cqB+sT8kt2L2k3bZ+XVuBz+BT6tboKt8V79rY2QcX6vM/XWOtGvjlZdEla4Iugk5KdJlIEqt5HYj5AB1LAuZmDP/epBdS7WxbFRkAstle34zEcLdCc X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: b059639a-50b1-478e-f83d-08db632ddc69 X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9417.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jun 2023 05:54:42.8933 (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: VNbZVYvvWjXgYYXGT4hMSUN8afaEyVeZ6jHYM2jEJysOmHXMhB7wtnCHUQbj5Wvzg40DLJ9KAQU3eV1VU0Te3w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7362 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 From: Peng Fan Use hextoul which looks a bit simpler. Signed-off-by: Peng Fan --- arch/arm/mach-imx/ele_ahab.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm/mach-imx/ele_ahab.c b/arch/arm/mach-imx/ele_ahab.c index 9bb37919638..5f23486304c 100644 --- a/arch/arm/mach-imx/ele_ahab.c +++ b/arch/arm/mach-imx/ele_ahab.c @@ -402,7 +402,7 @@ static int do_authenticate(struct cmd_tbl *cmdtp, int flag, int argc, if (argc < 2) return CMD_RET_USAGE; - addr = simple_strtoul(argv[1], NULL, 16); + addr = hextoul(argv[1], NULL); printf("Authenticate OS container at 0x%lx\n", addr); From patchwork Fri Jun 2 06:45:48 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: 1789471 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=EKK4AUjg; 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 4QXXMB10gPz20Q4 for ; Fri, 2 Jun 2023 15:56:54 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id C854B865C1; Fri, 2 Jun 2023 07:54:57 +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="EKK4AUjg"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 27815865D3; Fri, 2 Jun 2023 07:54:50 +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=-0.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FORGED_SPF_HELO,SPF_HELO_PASS,T_SCC_BODY_TEXT_LINE, T_SPF_PERMERROR autolearn=no autolearn_force=no version=3.4.2 Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01on0622.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe1e::622]) (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 625C3865CC for ; Fri, 2 Jun 2023 07:54:47 +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=C9w1VwhXuL4r4NDP/V2CULRybFwH1J4jxV18xJfAOexGP84PhWx0sQcLcNnNeFvfNUAlT950O6lGp/3cfIqVkj7e41AUNuO1T5SKgyNIjBj0DyoeyOnAM5l5+WS1wpwU9Op0pgZvE1k5KIsIq4PhD1F72A9pYX77QF5UOhzk3iUO5Sc9QQW/K/civ8fnpNGDXv0utskD6lvwMLx5Id9DBtAASo04TSCd2Eob10YU3I2frksl11+WFZcgoyFbhtnM6UYX2oyowNloC4lmUtauePm5UmvpPU7JZrNVdUH0EAnuDGnJMO1UdJAzWIgJdTFtN5zM5HkqIbxWaXUMY4xVdg== 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=1Bh2LB56UMNfs4XBLVoj9BKN+gE/FyiAZVmyYCQ5mmI=; b=R9Q7eDmfyY+K54tkECvwgTkvzpJfHwRbuiRz9j74NCku/uCHz0DblpVe5TW7xwbSA4gC6em9yYU5rx52RfZVt3dfvjdYO2Zue2wJEfWowGtPfEp6uOsO0SpcemijW/38C/qSv93JGu1F5CBYsnwq8tvxT+J/rsmyP4wthQbD47W2XXMBPfRkHLHVLsi1tvfCpwg3xDpkI2ZPkw7hm53lUcKrrd7XuuuEm4S4BywD7iF8FY774esIUcb0zMOrzd0ImskPKjLxICUsHsJv1bW0UYcXNGxKzymlV9JOmrPt77hzwRykz+qDuGkK+AHTeopCmxTGi5M7H2Oq06zmqMwfKQ== 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=1Bh2LB56UMNfs4XBLVoj9BKN+gE/FyiAZVmyYCQ5mmI=; b=EKK4AUjgr/5zUPOXYI89vQH8oqOYk3tSX32D+8mJ1FhJmSHD7iJXfD3/qGNu25mP+8kBGwLQEsy0ySRfm+mNf+JOjhRyT+8jzq99hOj444bS6KudjiMkmTUugyHoqnKTmSZWqoPUlBm/QzIOQYcuTVcVTx7q5s6sZjZqeyuS7j0= 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 AM8PR04MB7362.eurprd04.prod.outlook.com (2603:10a6:20b:1c5::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.24; Fri, 2 Jun 2023 05:54:45 +0000 Received: from DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::7b3d:4c2a:1636:da28]) by DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::7b3d:4c2a:1636:da28%6]) with mapi id 15.20.6455.020; Fri, 2 Jun 2023 05:54:45 +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 11/30] imx: ele_api: support program secure fuse and return lifecycle Date: Fri, 2 Jun 2023 14:45:48 +0800 Message-Id: <20230602064607.17222-12-peng.fan@oss.nxp.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230602064607.17222-1-peng.fan@oss.nxp.com> References: <20230602064607.17222-1-peng.fan@oss.nxp.com> X-ClientProxiedBy: SG2PR06CA0194.apcprd06.prod.outlook.com (2603:1096:4:1::26) 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_|AM8PR04MB7362:EE_ X-MS-Office365-Filtering-Correlation-Id: ede0bd1f-0081-4250-d438-08db632dde1b 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: ZeQjAIDeNzdveMvWVfJHzq3CV2aJM+9/dVlk0KFprN2WZgdClcFXr9DJm6KkQ1n6vqGJBB2nsXp8+prX2Wg0nmDZzjOg2uVOIw/YEu44i8CN3O8rvMD839MDZFiIoGU9p41B7tIQVLcyRphphnNfwTuw3mFwa9kn4KXBXyYh6zf5BTMv8Xwrijp6bvRh8Mn6g93m21W05kiMLFK98Gb2PRI/F8zyrlOh0G+nv5yCml9niAxk0fUUJOeDp90nqH/+kY6j4qma5Hk/TqaIcQlmZe1Ri8sPkJ2sFirbk7HSTcKWpRVHlPSSkmTIGpiTwmg1NHkEOdvFdOVIwUmVMR1E0/b+3rALK9LAlhkowwA9wGH25c2lspzZA5mm1qM2ifPolmPsAJIyR9azPX688OHP/vZP7FlXZBBcMfQ40voZwk4poKKn67VEBqFwkHzwyS6Bq6xIZcoNW4EGYL8TmHq2WhWsR9PTeQTjcJ43kbRl6FejGm9oMcGogEs/DGW41lPPKmCK8yRR7K4QaObhYr9iFUU/oaepu5Og5fH9CfItOh+ew8Nga2NP3bb/t4lSILLzfv2SWpHtio9w8twaHx/Qlyaq+uthPjC3VDX/KulVR+yOArGe/3LX/sA65SyTo/Og 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:(13230028)(4636009)(346002)(376002)(366004)(39860400002)(396003)(136003)(451199021)(83380400001)(66556008)(66476007)(52116002)(6512007)(1076003)(26005)(6486002)(6506007)(478600001)(2616005)(186003)(86362001)(2906002)(5660300002)(6862004)(8936002)(8676002)(41300700001)(4326008)(66946007)(38350700002)(38100700002)(316002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: gfh5yvxpNbxvWHxexLbEaZLW8CARmpGnTWiQTCz/ED+ARl/rDociC8PCwzjb9gItUntCxwuuYHoOKZ4+CNnJTTX73BcTPqb7lDeTqVM+Q6iQLomxyvKDwuo7sWGPphS1RYpBfJvQ/JIMFnlXDPtWI2HhNIL9DBbnMNhQOTKvsj+I8I6ryoCJZuxN8M65bLae297PhZ+CfDQ3iOLobUiO8y+IiF1uOnbpq5Kad3GKMtog+SBCHXPxi7uZF3JtlHQgehnWqgdXtGqQl2FPNzQsdvR0Z34N0N9h591A0eJqijAuZPv9c3S/0Txj2gfsQDW2o61uBDw55/SS9+6XGPzk2dUFWIXMkMxm8fOJg+r2l1vtk6A39y3ieEo6/h1li7cQCZRdvwCryJGRPRRr0oMazsMonYmNcCNOz4u8K3PVF/TYjnFxlK5irSbaWzcJ/kgwVofyJKsFerHcYxd+v9e/NVTL664YTsPOxeK08Fxb5uO2bq4t6easRNNpgnhVDlQUXFbfdklf0zq7Gleot6qWV+jPrqEEg2tMS3TCa1ZGrM2D3YVQ1AI8plaMjNw0OrUiuoP1iKzu4J+ZoZJumb6f7nUMOxWSS3Juv4wI8UlX92Q05bG0266z2Q/Mzbq5MUeisl3JL5hed5ZaRXwwJwfcNgcSrSsS7tbDokSX8jyvzwcL29cjIE+SVuIf7T9gFaoLfwpgdP3JZMZ3Gh+f5y97V1r4MG/c42A8INR3YFSQ8R7QgXtWmAZV63Bmk6q6mmqKPOj4gi47fd6Ia8+C9bz9iQR9YMiwN9R7R7/bKffbzmGf1XBOE4HldSdF1S4cCmJzPb4cImI6FqBYSELDmmrMQbYLWZ8EJOMa4c5D82q2H83nWe+HxCxgcNDGGyefxDRDHcvC2nKock3tHUgLJehf9mRRoZxsSYQiaF6++ZYwloVWZSnys7GuUWHpQi+uFPW1+2qySd9TlN3I5hEI0Sy2r23RW/qFT+6SzmXclkt6VInvfpRdKMKF55+2kaTdl8c5xKnq9L5sTaS53R4TmNtDBpwOTyIb6bXJ61jZ+bAsy9WFoofoPtrUCOc/u+JhQ4n2fi0iENXdA57Qtcgo2IST0RMvLBdSiNJsU6eXRTkKlWm9kTeK98JMy+VN0b0emaZpL2NKoAPRpcMcQCh6G9VuUN/bKcb0JwBKMJet/Fa4EYmxf1q2XmaUuH1HHhenzaqq+Vlt0nXjgFY7RwIFHE1tE4WarTuXLo89ULSiKPFKkWScGof6YgMvJzP8fO1tYX+Dkd+ewa9692fXJE0Y3RF4NlxyZKP0mZoyfObcai6SlrH0nixVShOjzQ0oEHJoB2+XgroFBnUPxNTcnHnF9aMhoe8tpl2CXn3r06aQ14vAmjW5nLH/7aiZDNs5TiXKWBMQIAESNy9nts/5PHpEYX4xzTFK1/k5DAo6CIA7nc3xeT2YoF5PfnJ9GSvLFFJD2psfDo5hXW+zhyfqCeAlIqRkK4rHtfJiZAN5Fdlldfn51uOU9FuBBOMN6cUg/zT3Xffxt/sW6/k/luRWVR+jnmpPtKzs65QXv2uyC3mZuMnyLKlCJoIBobLcqkFOyGE0/LWu X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: ede0bd1f-0081-4250-d438-08db632dde1b X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9417.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jun 2023 05:54:45.6075 (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: Rl6XiMG7ZhfD3tQXsT+vCjvNcTLtuXJ1viRjRt5QV7kaZOnWyvSCKysetTefpmd+KkmhpoyTGwRJr23jm3ZiBA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7362 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 From: Peng Fan Add two ELE API: ele_return_lifecycle_update and ele_write_secure_fuse Add two cmd: ahab_return_lifecycle and ahab_sec_fuse_prog Signed-off-by: Peng Fan --- arch/arm/include/asm/mach-imx/ele_api.h | 2 + arch/arm/mach-imx/ele_ahab.c | 74 +++++++++++++++++++++++++ drivers/misc/imx_ele/ele_api.c | 64 ++++++++++++++++++++- 3 files changed, 139 insertions(+), 1 deletion(-) diff --git a/arch/arm/include/asm/mach-imx/ele_api.h b/arch/arm/include/asm/mach-imx/ele_api.h index 120da0854e4..477cfe73ab0 100644 --- a/arch/arm/include/asm/mach-imx/ele_api.h +++ b/arch/arm/include/asm/mach-imx/ele_api.h @@ -146,5 +146,7 @@ int ele_dump_buffer(u32 *buffer, u32 buffer_length); int ele_get_info(struct ele_get_info_data *info, u32 *response); int ele_get_fw_status(u32 *status, u32 *response); int ele_release_m33_trout(void); +int ele_write_secure_fuse(ulong signed_msg_blk, u32 *response); +int ele_return_lifecycle_update(ulong signed_msg_blk, u32 *response); #endif diff --git a/arch/arm/mach-imx/ele_ahab.c b/arch/arm/mach-imx/ele_ahab.c index 5f23486304c..785b0d6ec3c 100644 --- a/arch/arm/mach-imx/ele_ahab.c +++ b/arch/arm/mach-imx/ele_ahab.c @@ -563,6 +563,68 @@ static int do_ahab_status(struct cmd_tbl *cmdtp, int flag, int argc, char *const return 0; } +static int do_sec_fuse_prog(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) +{ + ulong addr; + u32 header, response; + + if (argc < 2) + return CMD_RET_USAGE; + + addr = hextoul(argv[1], NULL); + header = *(u32 *)addr; + + if ((header & 0xff0000ff) != 0x89000000) { + printf("Wrong Signed message block format, header 0x%x\n", header); + return CMD_RET_FAILURE; + } + + header = (header & 0xffff00) >> 8; + + printf("Signed Message block at 0x%lx, size 0x%x\n", addr, header); + flush_dcache_range(addr, addr + header - 1); + + if (ele_write_secure_fuse(addr, &response)) { + printf("Program secure fuse failed, response 0x%x\n", response); + return CMD_RET_FAILURE; + } + + printf("Program secure fuse completed, response 0x%x\n", response); + + return CMD_RET_SUCCESS; +} + +static int do_ahab_return_lifecycle(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) +{ + ulong addr; + u32 header, response; + + if (argc < 2) + return CMD_RET_USAGE; + + addr = hextoul(argv[1], NULL); + header = *(u32 *)addr; + + if ((header & 0xff0000ff) != 0x89000000) { + printf("Wrong Signed message block format, header 0x%x\n", header); + return CMD_RET_FAILURE; + } + + header = (header & 0xffff00) >> 8; + + printf("Signed Message block at 0x%lx, size 0x%x\n", addr, header); + flush_dcache_range(addr, addr + header - 1); + + if (ele_return_lifecycle_update(addr, &response)) { + printf("Return lifecycle failed, response 0x%x\n", response); + return CMD_RET_FAILURE; + } + + printf("Return lifecycle completed, response 0x%x\n", response); + + return CMD_RET_SUCCESS; +} + U_BOOT_CMD(auth_cntr, CONFIG_SYS_MAXARGS, 1, do_authenticate, "autenticate OS container via AHAB", "addr\n" @@ -583,3 +645,15 @@ U_BOOT_CMD(ahab_status, CONFIG_SYS_MAXARGS, 1, do_ahab_status, "display AHAB lifecycle only", "" ); + +U_BOOT_CMD(ahab_sec_fuse_prog, CONFIG_SYS_MAXARGS, 1, do_sec_fuse_prog, + "Program secure fuse via signed message block", + "addr\n" + "addr - Signed message block for secure fuse\n" +); + +U_BOOT_CMD(ahab_return_lifecycle, CONFIG_SYS_MAXARGS, 1, do_ahab_return_lifecycle, + "Return lifecycle to OEM field return via signed message block", + "addr\n" + "addr - Return lifecycle message block signed by OEM SRK\n" +); diff --git a/drivers/misc/imx_ele/ele_api.c b/drivers/misc/imx_ele/ele_api.c index 56605714f44..0ca0a94f08c 100644 --- a/drivers/misc/imx_ele/ele_api.c +++ b/drivers/misc/imx_ele/ele_api.c @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0 /* - * Copyright 2020 NXP + * Copyright 2020, 2023 NXP * */ @@ -490,3 +490,65 @@ int ele_get_events(u32 *events, u32 *events_cnt, u32 *response) return ret; } + +int ele_write_secure_fuse(ulong signed_msg_blk, u32 *response) +{ + struct udevice *dev = gd->arch.ele_dev; + int size = sizeof(struct ele_msg); + struct ele_msg msg; + int ret; + + if (!dev) { + printf("ele dev is not initialized\n"); + return -ENODEV; + } + + msg.version = ELE_VERSION; + msg.tag = ELE_CMD_TAG; + msg.size = 3; + msg.command = ELE_WRITE_SECURE_FUSE_REQ; + + msg.data[0] = upper_32_bits(signed_msg_blk); + msg.data[1] = lower_32_bits(signed_msg_blk); + + ret = misc_call(dev, false, &msg, size, &msg, size); + if (ret) + printf("Error: %s: ret %d, response 0x%x, failed fuse row index %u\n", + __func__, ret, msg.data[0], msg.data[1]); + + if (response) + *response = msg.data[0]; + + return ret; +} + +int ele_return_lifecycle_update(ulong signed_msg_blk, u32 *response) +{ + struct udevice *dev = gd->arch.ele_dev; + int size = sizeof(struct ele_msg); + struct ele_msg msg; + int ret; + + if (!dev) { + printf("ele dev is not initialized\n"); + return -ENODEV; + } + + msg.version = ELE_VERSION; + msg.tag = ELE_CMD_TAG; + msg.size = 3; + msg.command = ELE_RET_LIFECYCLE_UP_REQ; + + msg.data[0] = upper_32_bits(signed_msg_blk); + msg.data[1] = lower_32_bits(signed_msg_blk); + + ret = misc_call(dev, false, &msg, size, &msg, size); + if (ret) + printf("Error: %s: ret %d, response 0x%x, failed fuse row index %u\n", + __func__, ret, msg.data[0], msg.data[1]); + + if (response) + *response = msg.data[0]; + + return ret; +} From patchwork Fri Jun 2 06:45:49 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: 1789472 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=i3YwnNDs; 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 4QXXMQ41nWz20Q4 for ; Fri, 2 Jun 2023 15:57:06 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 9562C865EC; Fri, 2 Jun 2023 07:54:59 +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="i3YwnNDs"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id E9A66865D7; Fri, 2 Jun 2023 07:54:52 +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=-0.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FORGED_SPF_HELO,SPF_HELO_PASS,T_SCC_BODY_TEXT_LINE, T_SPF_PERMERROR autolearn=no autolearn_force=no version=3.4.2 Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01on062d.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe1e::62d]) (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 D801D865CE for ; Fri, 2 Jun 2023 07:54:49 +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=NE1KE4ew1Q7gy/huSSSCqocUuKSOqy8LwfxbxmXTtha5EA4pQ7YOAP5W7Nt1SgQOVpnAnnDWN6NEwi+7bh4JpnXL+6JtNF9Sh6ujHtsGNrbhg5w4HIQXmHZfnYleES4Thxjw6LemIVrgcTnc+6US2RKWYRH9wl5d+Jvkcu4AwcqXsB5XR5HKdFUYeUMmUrjGNbCyDd44SmMHyLm+ApJ4vUB9eTS87n6tK+7vckJZY9czdcP5y4Xv756JqYKqwJ8Z4cclla3dhXIkK0OT3i4NgfwyU7gz2ndJK9UecRlsZaudV64p/A4ACSzxwxm6g8FVBHDBF4qFMyHx4gbOriB16w== 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=C9D6LjVfumVBEtInin0gNiDXopF2gtUKW1SvVjHU8Ds=; b=Wfb3ocRQUMm06xebX6z4hVUpKnzqM6SsAhHeZPvD/94ahWf5jiLRniXc+6QRzyKHOQjjK82LY4Dn/tHLjvSfW0B9BGwFj+ACOWJ9k+11zjuGtWH4j+hMYEpaz0vmV4Orj6VYu66IXg37f0Y6lDkROt8U8M0fHXieii3qs6iSWzWRqZT9e0e5CDevcs8gelB/x1hFb7cQ82Ka4dF4q2G6gGkf+JvgnwzuOR9DHVB8XX5v+b9b61HuGzRPSb+lWI8u6Bv2YYYo4CZJBAFGPtYh4o1PPKVTYDOybmtRL0I5JPWwoRyHMnLpraqQBbF3PGt8O4W5WIipsLWwRj0cFCYPSQ== 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=C9D6LjVfumVBEtInin0gNiDXopF2gtUKW1SvVjHU8Ds=; b=i3YwnNDsrpRIWDlqKmkNDMI2a8pfHwys/esecMXRPLQLQgrlodla+o7bvCdWgSH5H4X3WuS9oEEOyoRnTFWkL+H9nlgner19VPdVdy7S5dab53QrW6NRpCFgQU4OVEY0tkZDSYQ+TDeWem+fQ898zSqTghtVjWTL+nIK5076gQ0= 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 AM8PR04MB7362.eurprd04.prod.outlook.com (2603:10a6:20b:1c5::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.24; Fri, 2 Jun 2023 05:54:48 +0000 Received: from DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::7b3d:4c2a:1636:da28]) by DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::7b3d:4c2a:1636:da28%6]) with mapi id 15.20.6455.020; Fri, 2 Jun 2023 05:54:48 +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 12/30] imx: ele_api: add DEK Blob generation Date: Fri, 2 Jun 2023 14:45:49 +0800 Message-Id: <20230602064607.17222-13-peng.fan@oss.nxp.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230602064607.17222-1-peng.fan@oss.nxp.com> References: <20230602064607.17222-1-peng.fan@oss.nxp.com> X-ClientProxiedBy: SG2PR06CA0194.apcprd06.prod.outlook.com (2603:1096:4:1::26) 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_|AM8PR04MB7362:EE_ X-MS-Office365-Filtering-Correlation-Id: b46a60f3-6bab-47d0-759f-08db632ddfb3 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: Sc+5a42oiLhHbeEzvNFrkEhrGG/f8CMxO5ttUn8xtLrEck95guRGBSje/ZPQmEp/gMA+KOjkYur72eDG6Zx+HY+HC+Ila170RFYoDBol2ms+95e2YtCYcAgAklVrwqTgFmasXANQqowYvXbVYRON+RtvlHvMdX5jJxODA6Hy+o0rfcrRirUvIR5YCtvHOkdGp28CZxBsB1ixeJhPI+TUL7F/kxNCbHb4T/mxuGtaBv9H+0WNwLZLUaSBYJyec+FuUtIrRXwbnPSdaehmDNsY0k1yEDTt7lSKfj3hyOhYSfjoeL9HDqW3hzw1bpIehd9Kj8+I6H/NH45dKGtFZAmqXrTlDc26FKoNDrxGMnpVkZkfp1zaoj4lKccjCDAV3xennKzSJzzSfUIbSm9Fuo2ulKUd2fY7tt0tKJ6MOzSSlYImpdzOGZnNmoH18rvcA7KZ9mJE51GzP9n3AlE2IYj147JKwIydRzbMdwRApzhLj2ejQFJs6Q7BFlrJWpIGndNenflbe+6VSXwaLKDZAV5XiD2fVOivtAuuJTNgKDWcHUF4sAaWhaVIFGRY1FeIHJnaWtSBlProSxIDUIrGt1zgsoircf6bbFM53NBnWPte+CQBvn058AlGdHeTnpkWaHXJ 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:(13230028)(4636009)(346002)(376002)(366004)(39860400002)(396003)(136003)(451199021)(83380400001)(66556008)(66476007)(52116002)(6512007)(1076003)(26005)(6486002)(6506007)(478600001)(2616005)(186003)(86362001)(2906002)(5660300002)(6862004)(8936002)(8676002)(41300700001)(4326008)(66946007)(38350700002)(38100700002)(316002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: ipquVZoWHNmK+85MzZ1TRst2rAFX8pfzAN6y+ya14HlgzGJ1DGWZT28Fra9cWRwapGaPymi5S0jSGKJYyymOeF6cVQlzY1GxlbGrXTtpaB9dlHhHB57Qrs8NcYxaD0cTvb1FUUz0QsvVM2O+vjxGyO+mtH6Q9H+mlXH4oqlnSxhHNXYgfow/xCk0zmtkRFBTXE03kw2lvuCha4HyZMkBulEh9lMsXdUNPuE0i5I12xiJoBFR7Tk9/3yPpOIckl+KKEdciOAnqr9QtH6votcSDsWCt5PSpmdcj5g5Tp0uSMuu+WQ+DcWcX93rAMNPEtncye7QWYGWIIdCWdm4hXq34lFadgtsJVwz/lBVUfxHStoIVm2qmhcAMHQq5mWvKqd4X4TUxDf8JR7rZdoGcm+bY0mfGWQcPo2icBU+RDqcdxlbqpyw2Ge5qZaya+dKWpC9vAuCnbRAPn+dhcBfjOV4NJV4sjcIsLBodmi8TKcKrIc8fmnZ9Jx/dJTKh+8NUO32wplwD1ES8zqgXTWt5i2cLhDt3lZ7GN3L2d64kelOH958Kapu0SArOWWCvvOVovu+2pd1VhmtEGK8IJZeKb0XnvcR/oSkPErMQKXf0DVCl50JyF0/+1BJN0fSTPRbdN8cWGxtrIYiWLOmeOkepm0tE/ZaHT/9xDfRPHWbOprW+tPTBSpKuvx1CJXKnNLtL332TK37bpE/gPdXAA7k1X9InTkHrKzN6Mfh7dkUQlzto4ntVoAkz6jyMEC5h9ke+GIgTr+8PRgJaRvPM72ah+IvmwXuQPdEuScfGkqhJxiPY71zykxCRMYw54MiuUOQ4vn5VEMejTnft0CG7u96iskZAhCDMV6hZ+tTOwrKCqemoodv7EAk75Hs5B9I5EQ71E0BQQSb5EL/W0DUGZ3J9NQpbAZTAAHAST7LGxCpYhKih5txNU//+sw7zX4eWxnis9ze4/Zc+Gvrf8qRl1RrGC55FGPYManRZv4el7R/5FzEZ1+Pk+co4PfIAVJhMeBVibbVajpeC1M+3ESYlLkoQX99M9mHo2s7gRC1dG00Ulb9kJp2YmdWiVOrK603j1PGnL88IhHl1FCwwrgstW0W+GztWVJDL09v+4gwZ5g+AzzWocSAiA8zTU0I9EqiAgmEJAqc8e4S9sAMjJ9xWHHAUaWnKML95FoLyf52CItvanyWTtIc9/uwUrZ91n51vWFbqqhWEoUNm3iudLDMWFUJAicIy9uGuFrtKa5wPvHzdWX8p1yyjiHHeARxFD8vaaUxfV02dP7VBGow52qHYI+YAwWPnZKUMae+87YU3gPXVxPV0gl4fvNEA5ia3+cYZbVHRoM6pqBBzhDOdiwhP75b+ixDH1GTRamm4pC47lxEAU6TzF2WRCUEtjcBDAWXxV136Z6Qef/Qh68rbH48gq9eHhQtkiJ/adIXCP+ghYLQ3vj0JRMk7xICr6bZ4cgor+Sf/ErjDT37A6ltXV/6FlUs/TcB4lBU7QRa33clgZsi3xV2G2YgLG1YIkwvOP1XjpMYmOVyBTzwqqed+OyFpq11ga3NtZcSAS1MG/7dIDtlgkTERWz7IYhWcStbZ+BorFZc/O0P X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: b46a60f3-6bab-47d0-759f-08db632ddfb3 X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9417.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jun 2023 05:54:48.2789 (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: bwx/ueJfRg4eq40EyQ3jWWeZPt+XxpdK0fy/5Ncp6NvX1zU+KbtmIDLsVtuV6slXiTMU2/4p4bUC90ZicqE+sQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7362 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 From: Peng Fan - Add crc computation. - Add ele_generate_dek_blob API for encrypted boot support. Signed-off-by: Clement Faure Signed-off-by: Peng Fan --- arch/arm/include/asm/mach-imx/ele_api.h | 2 +- drivers/misc/imx_ele/ele_api.c | 44 +++++++++++++++++++++++++ 2 files changed, 45 insertions(+), 1 deletion(-) diff --git a/arch/arm/include/asm/mach-imx/ele_api.h b/arch/arm/include/asm/mach-imx/ele_api.h index 477cfe73ab0..053a23f030b 100644 --- a/arch/arm/include/asm/mach-imx/ele_api.h +++ b/arch/arm/include/asm/mach-imx/ele_api.h @@ -142,11 +142,11 @@ int ele_read_common_fuse(u16 fuse_id, u32 *fuse_words, u32 fuse_num, u32 *respon int ele_release_caam(u32 core_did, u32 *response); int ele_get_fw_version(u32 *fw_version, u32 *sha1, u32 *response); int ele_get_events(u32 *events, u32 *events_cnt, u32 *response); +int ele_generate_dek_blob(u32 key_id, u32 src_paddr, u32 dst_paddr, u32 max_output_size); int ele_dump_buffer(u32 *buffer, u32 buffer_length); int ele_get_info(struct ele_get_info_data *info, u32 *response); int ele_get_fw_status(u32 *status, u32 *response); int ele_release_m33_trout(void); int ele_write_secure_fuse(ulong signed_msg_blk, u32 *response); int ele_return_lifecycle_update(ulong signed_msg_blk, u32 *response); - #endif diff --git a/drivers/misc/imx_ele/ele_api.c b/drivers/misc/imx_ele/ele_api.c index 0ca0a94f08c..8a14cf6aa92 100644 --- a/drivers/misc/imx_ele/ele_api.c +++ b/drivers/misc/imx_ele/ele_api.c @@ -14,6 +14,18 @@ DECLARE_GLOBAL_DATA_PTR; +static u32 compute_crc(const struct ele_msg *msg) +{ + u32 crc = 0; + size_t i = 0; + u32 *data = (u32 *)msg; + + for (i = 0; i < (msg->size - 1); i++) + crc ^= data[i]; + + return crc; +} + int ele_release_rdc(u8 core_id, u8 xrdc, u32 *response) { struct udevice *dev = gd->arch.ele_dev; @@ -552,3 +564,35 @@ int ele_return_lifecycle_update(ulong signed_msg_blk, u32 *response) return ret; } + +int ele_generate_dek_blob(u32 key_id, u32 src_paddr, u32 dst_paddr, u32 max_output_size) +{ + struct udevice *dev = gd->arch.ele_dev; + int size = sizeof(struct ele_msg); + struct ele_msg msg; + int ret; + + if (!dev) { + printf("ele dev is not initialized\n"); + return -ENODEV; + } + + msg.version = ELE_VERSION; + msg.tag = ELE_CMD_TAG; + msg.size = 8; + msg.command = ELE_GENERATE_DEK_BLOB; + msg.data[0] = key_id; + msg.data[1] = 0x0; + msg.data[2] = src_paddr; + msg.data[3] = 0x0; + msg.data[4] = dst_paddr; + msg.data[5] = max_output_size; + msg.data[6] = compute_crc(&msg); + + ret = misc_call(dev, false, &msg, size, &msg, size); + if (ret) + printf("Error: %s: ret 0x%x, response 0x%x\n", + __func__, ret, msg.data[0]); + + return ret; +} From patchwork Fri Jun 2 06:45:50 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: 1789473 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=g39cLehn; 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) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4QXXMh0ZQTz20Q4 for ; Fri, 2 Jun 2023 15:57:20 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 14B62865D9; Fri, 2 Jun 2023 07:55:05 +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="g39cLehn"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 00EA2865E6; Fri, 2 Jun 2023 07:54:55 +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=-0.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FORGED_SPF_HELO,SPF_HELO_PASS,T_SCC_BODY_TEXT_LINE, T_SPF_PERMERROR autolearn=no autolearn_force=no version=3.4.2 Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on0625.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe02::625]) (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 3F890865CF for ; Fri, 2 Jun 2023 07:54:53 +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=chflutxktlfd6n3iz4rIH/OGAimnb9sRddzuIPUm2oHEyzGKZRIXt9+V69NSJafC02opzBG8Xqa4p82oxPOMapTOJ1mcEgZTUS5/szt1aE4OjbH3JMvrBC6G2Nf60/2Wa0267za6M3OEDnSZJksXzWs2DjGJxIrEO8jEJCD2QPpFnyrVfB18z84i5CZd0DG6MGhi1tIbR/MlenUWpd4R1OmlX5ibZYh3knaI4FkC3mXrHNUDnxi36fyChsjx9PsSYhGQROUvH+qFjWPZKeoIUWJSpF/ziyjxCbXcxgO4vRMPGLVOMGe6sDBv1fjsnHt06KD1IkF0Z8TG0ympr+lmtw== 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=faoXgm41ESo4Ykdo5HNwn0uxJv1RgS2OEXvj1AcmseM=; b=gIL1V6QVxg4/g2tqeb0kwdKXdl/N2hHTyTSuAndmxaXLKGVy8MYARGlVhnMpq6yw1IYP6SZ6YMo8WC2KNN4G35pYCl/2HGQjOliN3Tj7HyBwcbg7giYTZte5lisEcLmx/ZRotgc9WFFHfC02DQoNMATWpE5mxFLB8EjZAUeyNnsGEX4o1eZN+MNzAme5RFIYA18T1aam5TGq/qWqSWV6gZAqu7L0Yg4MqkaRAQ9uBcNYvmwKEawRHcAz8JFD9Q5RZV9Rcc/d+nfywAehJUemDigGdB+dFbPuHZZpHY33zsRgC8V9+yEpmpk3k0Op1EpVv29MiPtBczFrB7RATXqz3Q== 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=faoXgm41ESo4Ykdo5HNwn0uxJv1RgS2OEXvj1AcmseM=; b=g39cLehnwOVlq2DSZhlXdpDttwaPqenZdRclPhXndFSbQiLcT3yCrzepM7Tm5EipoZzbzgescdQyjnnvrKu3U//J1PXnjmvWuQ+/qFqvQBuTEPQwHhD3Cg4+5sLugPK2PEjosMqTr3VYE4FTl0MnebJY22IsyJtp7wshj2pYwF0= 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 AM8PR04MB7362.eurprd04.prod.outlook.com (2603:10a6:20b:1c5::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.24; Fri, 2 Jun 2023 05:54:51 +0000 Received: from DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::7b3d:4c2a:1636:da28]) by DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::7b3d:4c2a:1636:da28%6]) with mapi id 15.20.6455.020; Fri, 2 Jun 2023 05:54:51 +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 , Peng Fan Subject: [PATCH 13/30] imx: cmd_dek: Fix Uninitialized pointer read Date: Fri, 2 Jun 2023 14:45:50 +0800 Message-Id: <20230602064607.17222-14-peng.fan@oss.nxp.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230602064607.17222-1-peng.fan@oss.nxp.com> References: <20230602064607.17222-1-peng.fan@oss.nxp.com> X-ClientProxiedBy: SG2PR06CA0194.apcprd06.prod.outlook.com (2603:1096:4:1::26) 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_|AM8PR04MB7362:EE_ X-MS-Office365-Filtering-Correlation-Id: 7fb43cb4-0c3e-4066-77a2-08db632de16c 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: P2HKIYXLjC7h3G0xnM1gvoNp48G33bXzOS+np7KoHpsjT+StiPwJljrF6RXPigsODIm3wasdoW+R/HIkCEEp1X4Xjpq27G6XqaYskG5W7EVNU6DLfThjYHYZ+1k/X8jA8d/v4/Zu6oMlTPxxa95pW6LJK3WPDUd7d2KCKAI7NAx6dw4Zw47MucurLn2I7qVvYWDsfGNUfv+9IXHcmKxVTEe774YqnoFjjV5v1F15ot37gZ31p19ynPhgNnjRJHP0geC/Ob4SS/5ZOZj3UbiXP2lexKFfXubX9Em2y4b/+EsiiHowz9YYYCVWXHIIG6dbrZrpYX531MxI4X+NxSKCJRu86JuNy1sDyS74Jcfpcl3BztqHsrT1ocdcO6mQ7ozXaIgGQ9GgHfvQABrhxbRjpXK5W8T5g9WuPVIPOSS2/qs53kf2QKiGd0q3FEM50J7vA7Q+JvP02Lhkin60zrsOQr8clwOvSDjzaFHO9ml4G9ZCLoU+fGDklhxQt3P0BLwasgAKVkiObEf7UGtNDZpbsmx7xGswahqR4jhAdJ4R7B8GqzlChuT4FdTUqedx1odMnOUubnpcXdzW69YZFmqjbnz8BB1KQMtvqNlviXpMRwVzAyq6Kz7diQ6nFsz+/Wm6 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:(13230028)(4636009)(346002)(376002)(366004)(39860400002)(396003)(136003)(451199021)(83380400001)(66556008)(66476007)(52116002)(6512007)(1076003)(26005)(6486002)(6506007)(478600001)(54906003)(2616005)(186003)(86362001)(2906002)(5660300002)(6862004)(8936002)(8676002)(41300700001)(4326008)(66946007)(38350700002)(38100700002)(316002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: cqpi5jHfrNoBrfoNeYW4mpJFpVfHnxvW5kxg5lmnxRT1Y+oI28wt83deKXY0mzrDqBgYS5GvggMiTuuv8+/HY2YvBn/cDHk4MKu9ZA+TR4x5lZGWgN9ONQnZfXG+8Txx8ROAyB3lkevE1yFumvNCH7kKqXYlJQmXId/nGVV9inhR6Rfskj9daE3xw3GRKVqZHCPdT8j3Adlh1bWWkCuxDSA3zKugBDw+SEy4GKI2iITTRemgNl1+tlLjCtyCSmvK2scblqZcBUSed3AQzc+yxOisUIoO3Ql7MlHEOZdyt5ErkeDG6XzCKulEW/auH7Oyg5zcw07P5YScp1KzJbWsHA37+WAp9YML3QmzC9koyYdnqAblEy4Vu7erUTa0dd3O1Bn2UY1MHXMd+954euZf0SJzNsmY+sWHFaTs2huRw73+vMmTNaFHcWZMITH2aT1R0iHWbh8RI+iObp29R5TB73DfoeD3vLKKTweTDZ53DP7vpF6XR5UWZWW3Jln0J7F6CDyIm+jlxNtzzjVlGah3ykUs71qs246dW6mCSrmiqn06yK/qMoK4nIboLD1ZPfAjAvzsKPUq9t89zUHnNGQMP1LHPlaRYrlnGEo+2FfsUeyu97t+tUJygMqYVA9WCV8MWR7dF7Ty3otfxZhJt3te/H5WjZVxaCGcXtOvNk4SKJs0out9OozsLiDp4isiSBx/mT/LcXi9cgHiM3fzN4vQxBs2OtOJuJDF1rVJsVzaHcSr9OcIJFL+nchpqlW9mRBvWk1ssEr1mDf4ZoRw6GhTsutr7wp5HnhC7QkJ0J+HxMBLq6elqd5+hXhEJhR4YBGwesX6i0r1BJkp0xf50gU9uZ5hb14S81QNmuy7eydO+/iN+JKAGAK2o0qdeRWNCqasi6F9ezTAaoi1V3j2fs3yjmSVyBzdc5E1dWSoKiw7daUPJFe79aSq9E1brDOXx0WgMj7yQxYcNNEJWtrFynfV0D/578SatRs2VvF+yUkUmxQbGqvQ5E7pLlF1RCEPiSKhBzPspvhgORVTWvm6lF66TKqb/eE1o/BhL+8FL8Z6LhEfuBfx8XKTlXc8xujtuxbRe4cELfOpSY/+sIumGjPEW8eny5YQfizyRWwJBY3NLA7f2a6EkLL7RCpIrH6yXHq5LG6CTkhFeC7x5+7UFStBHItGn8GkE+dqNwvEkRUBZwWrz4Z3S4JWDzMGB2fezQNX3ZG6ac7PoDq5iAoDIcz2wfVbyPM/Tva2eCDRigEZVDsNI35FfPAMzwTIOSFfaKUOe8T7a9Pth35UHC9tS67sFbFJ/TsIiQrVrE1tVh3y5cRGlS6+yRfJ8GAQKESb47KvCvUgzFrDTimBhfKRF0LI+C9pevDU5w+MlIMu5VIVdf4LCE661BAE9dkHv5h+qPLzAzNbzmF2SOOwxzeAMn/PYkzRCjPMZWOjkhD986e4imA8wFFzxmwqVqhcDmo25pYSLTMAyEZgE23F4yi9bL0oG0gpHQWwaJawA+pQU6GhX41DK9MHE6KqhQmGb/WZ+GI0jO5ub7SwedCgCAsi5YMqwzc3wIngRDgGhMcbpYNl2K9LrrCJbeSNFqcmOejFQM3f X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7fb43cb4-0c3e-4066-77a2-08db632de16c X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9417.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jun 2023 05:54:51.2891 (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: 2FNmsTEx01Dg70XmccdoBFzKIOX5wdHuqZAf4Ra0B6cNnSmxuHAVV1tSO5jOdZUX6EPXkP1xXDLJn93+Ox71Ig== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7362 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 From: Ye Li Fix Coverity (CID 21143558). When tee_shm_register returns failure, the shm_input pointer is invalid, should not free it. Same issue also exists on registering shm_output. Reviewed-by: Peng Fan Signed-off-by: Ye Li Signed-off-by: Peng Fan --- arch/arm/mach-imx/cmd_dek.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/arm/mach-imx/cmd_dek.c b/arch/arm/mach-imx/cmd_dek.c index d77a49df860..0be9df521a5 100644 --- a/arch/arm/mach-imx/cmd_dek.c +++ b/arch/arm/mach-imx/cmd_dek.c @@ -101,6 +101,7 @@ static int blob_encap_dek(u32 src_addr, u32 dst_addr, u32 len) 0x0, &shm_output); if (ret < 0) { printf("Cannot register output shared memory 0x%X\n", ret); + tee_shm_free(shm_input); goto error; } @@ -122,11 +123,11 @@ static int blob_encap_dek(u32 src_addr, u32 dst_addr, u32 len) if (ret < 0) printf("Cannot generate Blob with PTA DEK Blob 0x%X\n", ret); -error: /* Free shared memory */ tee_shm_free(shm_input); tee_shm_free(shm_output); +error: /* Close session */ ret = tee_close_session(dev, arg.session); if (ret < 0) From patchwork Fri Jun 2 06:45:51 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: 1789474 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=85.214.62.61; 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=YHvY45ms; dkim-atps=neutral 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 (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4QXXNB5Pgbz20Q4 for ; Fri, 2 Jun 2023 15:57:46 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 4848D865E5; Fri, 2 Jun 2023 07:55:10 +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="YHvY45ms"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id EF24A865EC; Fri, 2 Jun 2023 07:54:58 +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=-0.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FORGED_SPF_HELO,SPF_HELO_PASS,T_SCC_BODY_TEXT_LINE, T_SPF_PERMERROR autolearn=no autolearn_force=no version=3.4.2 Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on0606.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe02::606]) (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 0108C865E9 for ; Fri, 2 Jun 2023 07:54:55 +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=FJ9jDiBQgPCamfhJ54CuxMXgjE2tDdLSgm8R3Ft/v2UU4fhST35WiU9KyGn6idQLaaQYC3Pk2MYNj2hFH7p1QsmL3JE3AcSapE7W9W+nmL0HdOtckCeTbWYng483ojStrj+zfjd0Xf/1ws+wnIKPiTd26KM+QDk4sKuDLLeeACjv8RGWP8ATV3F/6gyKVHHXb94zDbx/yaw2Z918W8PmKoj/Zh+NJ/c90Ok3JG2ORVw7Qo5JFqOuOzi5djt4KtmG2vZYt0ettuSwtZlxLOKjRqFrIlvdWd6O6dCbYVzkCKvVN/+qkzbLjRIrhZlY5Eq4PjvSBxiiWdYUTlT/CNtxPQ== 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=OJFpBpES6p8qFpZCVhfwMQZc/Vf/T2NI831lSXuAVsM=; b=fxWJAOAj0cU4iubRXJef5UwvFzNKzMTlVLVakQ0882lXbpSTc7UTatJ8gvMKyP2iVnUJddF8gqNma6XG3EDAadtYenZ4Ma/6nlVoPhe53DS/IFR9Ckk5Dj5mu/DJhubBtrhh9EFrtvf4S5K3ws5CaOU2XEesgAhgRkXUue3Qrcrwhu81IMxvQuCV1XcPDIidLKoEPhUDhJMeAVTz2Vv7KORb6SzeJeY56L2JXaAwBxHW1opwu2XDuqzh7mTwvWW/XJ2mzHFgQr3kU3cliD/J/fJW8MOGU21HhZ+QpNHBXp2Z3B2/HtAoOtRbr2cCwLnEEGUeCGTB2UQqJcJOaN43aw== 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=OJFpBpES6p8qFpZCVhfwMQZc/Vf/T2NI831lSXuAVsM=; b=YHvY45ms+hc1fa9mjt0QANwJs2vp2DAkNHmu3gHQxETbwg0LWZvNzxdMXtwMnLrax1yFNjeaXgsZP7vesiAbikJkvU7n49bshyRto0BOTlcKWppForNIXezleQl2+zDMagUGQJXKquSJVwr+kh7DnRmataaeja6f8fJYZ5OLBUI= 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 AM8PR04MB7362.eurprd04.prod.outlook.com (2603:10a6:20b:1c5::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.24; Fri, 2 Jun 2023 05:54:54 +0000 Received: from DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::7b3d:4c2a:1636:da28]) by DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::7b3d:4c2a:1636:da28%6]) with mapi id 15.20.6455.020; Fri, 2 Jun 2023 05:54:54 +0000 From: "Peng Fan (OSS)" To: sbabic@denx.de, festevam@gmail.com, "NXP i.MX U-Boot Team" Cc: u-boot@lists.denx.de, Clement Faure Subject: [PATCH 14/30] imx: cmd_dek: add ELE DEK Blob generation support Date: Fri, 2 Jun 2023 14:45:51 +0800 Message-Id: <20230602064607.17222-15-peng.fan@oss.nxp.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230602064607.17222-1-peng.fan@oss.nxp.com> References: <20230602064607.17222-1-peng.fan@oss.nxp.com> X-ClientProxiedBy: SG2PR06CA0194.apcprd06.prod.outlook.com (2603:1096:4:1::26) 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_|AM8PR04MB7362:EE_ X-MS-Office365-Filtering-Correlation-Id: 5eeccb04-3b2c-4f01-10bd-08db632de342 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: 8fdp7an1xwat3QG2u+6Kau9kHO9iF1j929V1n+ioP5K7ss5Ezn+vQ0ZMdILhLgC1JZpnA5SMd3AGhTSUpbmoz5Had33er9RN80NbJqp+8pOcS/PbtylY7nq2MwpryQvEgDqbp3a0q8iGLIzHJRKfWOKV89N6MuRKKXhKymfap/pInz0sLOPmm5MO35PvjCC853UnDljEMKTUoyxqCQ8/W1x/31MVWGOFIIa1Gj9vHOwf6kK3KSUIj+CpggVSs7dVy6wDwr+3jLycbrOfw1wAi9fFQ1MvsUGk2jkex1dWEEMx7OciA4l53Lx7dYRhpaJWfs5lrClZBjI+NDDTjj+Hzu5BrcU4qZ9pnONAobwO94BNev5eSHJCKe0s4XwsYoPtOxC99TdyCPA9wLKyrootE9HO/nUj90+m2PzXlWv+p50q1bcDEqwDpUI2amP53pt30+mTEH/VM+HzSKZf8oI7hbsv6O7xDggHSMOGdeLHEUffj8tOW/F1XUlvb51JCZ8L/1cBmxbtPGbVIEEcI6wQ/PNsytIjoIcPGDc3kDbCsmWjBFJ/mFGnwLblC8rdrelE2oX4XEkCLb/ICLB13k+e3lUbIpTbE7oOvUyF8Wd87f6bUE+hQn+A4rJs3nRmxwCm 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:(13230028)(4636009)(346002)(376002)(366004)(39860400002)(396003)(136003)(451199021)(83380400001)(66556008)(66476007)(52116002)(6512007)(1076003)(26005)(6486002)(6666004)(6506007)(478600001)(2616005)(186003)(86362001)(2906002)(5660300002)(6862004)(8936002)(8676002)(41300700001)(4326008)(66946007)(38350700002)(38100700002)(316002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: cPmuG/sB3t2FgYLwqzRfyqz3moi5lhDtNPlnEul/rkfM7INKhQVJQJNPGfPuR2C9giYQOqGrqc/z8jaur2R7QiEIwj9g8kP1+ihybl7FnKMukQ7zTU41N8X/aVRYz56bRcwVK6Zw8pI3Y8LHPRhvy4Tfh+4+SCHMYQc21A4VdraTycXtWYD6n0g3ssCM7QwjoqxRCr3h/3+3IikDKl2+fXxnayOqnKyR2LzaaqcRFR9wjNct5bVQf4bLtObX3kZ8LtSk4CyJrdDFtYp1kBLDgusOjdETNI+FRUO7gaUXYcOJcHOK7ZIwZhBEMcms9+/JWBSCwAJDaVeK/+xaQ59oGr1X7xD1pXtK+/fWJWxSyI83q36sjweHEjc5KScar1pecNjUhod+SZFcH8rSCH7LD0PvBilBlM3AxEt81VRB86AJ7LE/1aqSVDIAQELT2tsBneabRHJyxGWoCTr5BlwqyCN2oNNygS00uAHICzVLbKcdnaRK9tBTz/kIj2SkMfMosrTPzrkTOL2hc1JEjJ4pb4F1/fpjSk3iwzJ9DiSqJQIi4MjbEkjaoBTOn5zRzdkQB8XHbsfMl2eV0Hz2Gf9gMyI4jmqSFHb67j0eCKWI7bNBbzjTHgXN6jex8lwQbMeWiEsB/OX6ud0WJU2vaj7PgGvbOfY04ZuGzmwSZPs5cwqxeRHNs8Ud6LEsySLdH4pkJnt2LzNldvsw5WgZg814R1aNUghgjibLEd889qT/HPKJ8CsKY03LOePjbCx5Y8rTVIIjZU0ezgD8HFx6Sg87AeRHPFnn5M/Cdqz7hKce3VHLIvygH4U5pehi9Xlg7LiSnMktUsMhxXI+38bxubeoVVYP/B7n2B6Z41Q7semKVdf0Rk+02FjxAW5giUHNZkPvF72AUAPMMJPfSvYf8m1d3LkA40KPRcqYuN+LQadFECub56e9egNBJeC8WbzUinmfibDszqnbU0wGsZUa4d2xI8CYuk5X9/9tQO2fC/KENVMXknJSPW2AxHghY3VKYOzGwquRXVBag7xO1v55Qic9fKEq96DyTXRe55H+6Zg7EAaN3v8ZdrpZZhMjvQByNCtOj5ojDQpC0nAQ0yNvgDHTU/R7maZV1IvxJnLsTZOAkZD3C5Mw/oTvWEJZEvNvHiETaZEghjF2/xYBddh06xtoHOydBAkrWFCrySRq8lAY5ra4SeoJgVEWaBL1Uu9tVMHX/fZtML3nAz7dR/AQl0CxRCIiHYemeRF6S+e3k9elDKjGEiKlhY4RUXg1QhHERTqNxTpsHeGkLhzZtVMFbp/J148O1Pbje21yrhNavVZoDcu6rEt+v60SXZvlOfCLTcmJgK2NS6tgX96gS55kT+ZM4XKu8GVjrO9/pBXGOa7kl8wxYcVwSGVwrl7c8oYk94eZtjyRyiBhyUrxeG5t1vo/4qdQE4C6pYAEkNUje9m7ZC3rO1FaIcIq01A1GcaCVb2rlOHGu/YP/px1KIfAOcHLGWKrM0pDBWRc37UYUrMQrscjZuvDJb1r+3wYArWdIkr1XxNZhj/zpPXwaCNL6Jb1ctalbptE+z+KAIedZ/bxHHVWuKVk+y8GPQEbr2Wc0crK X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5eeccb04-3b2c-4f01-10bd-08db632de342 X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9417.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jun 2023 05:54:54.2462 (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: HGCku4PpNWMjfWJj6roas7u1GKhLFx4hTN0p4Cef0Cw2lKEKatEbBgn4cXCtJLGgq2216TFvu/BUPUJUEhnukw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7362 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 From: Clement Faure Add ELE DEK Blob generation for the cmd_dek command. Signed-off-by: Clement Faure Signed-off-by: Peng Fan --- arch/arm/mach-imx/Kconfig | 7 ++++ arch/arm/mach-imx/cmd_dek.c | 84 +++++++++++++++++++++++++++++++++++++ 2 files changed, 91 insertions(+) diff --git a/arch/arm/mach-imx/Kconfig b/arch/arm/mach-imx/Kconfig index 3266545c266..2cca89d4bb1 100644 --- a/arch/arm/mach-imx/Kconfig +++ b/arch/arm/mach-imx/Kconfig @@ -86,6 +86,7 @@ config CMD_DEKBLOB select IMX_CAAM_DEK_ENCAP if ARCH_MX6 || ARCH_MX7 || ARCH_MX7ULP select IMX_OPTEE_DEK_ENCAP if ARCH_IMX8M select IMX_SECO_DEK_ENCAP if ARCH_IMX8 + select IMX_ELE_DEK_ENCAP if ARCH_IMX8ULP || ARCH_IMX9 help This enables the 'dek_blob' command which is used with the Freescale secure boot mechanism. This command encapsulates and @@ -113,6 +114,12 @@ config IMX_SECO_DEK_ENCAP This enabled the DEK blob encapsulation with the SECO API. This option is only available on imx8. +config IMX_ELE_DEK_ENCAP + bool "Support the DEK blob encapsulation with ELE" + help + This enabled the DEK blob encapsulation with the ELE API. This option + is only available on imx8ulp and imx9. + config CMD_PRIBLOB bool "Support the set_priblob_bitfield command" depends on HAS_CAAM && IMX_HAB diff --git a/arch/arm/mach-imx/cmd_dek.c b/arch/arm/mach-imx/cmd_dek.c index 0be9df521a5..6fa5b41fcd3 100644 --- a/arch/arm/mach-imx/cmd_dek.c +++ b/arch/arm/mach-imx/cmd_dek.c @@ -1,6 +1,7 @@ // SPDX-License-Identifier: GPL-2.0+ /* * Copyright 2008-2015 Freescale Semiconductor, Inc. + * Copyright 2022 NXP * * Command for encapsulating DEK blob */ @@ -20,6 +21,11 @@ #include #include #endif +#ifdef CONFIG_IMX_ELE_DEK_ENCAP +#include +#include +#endif + #include /** @@ -284,6 +290,84 @@ error: } #endif /* CONFIG_IMX_SECO_DEK_ENCAP */ +#ifdef CONFIG_IMX_ELE_DEK_ENCAP + +#define DEK_BLOB_HDR_SIZE 8 +#define AHAB_PRIVATE_KEY 0x81 +#define AHAB_DEK_BLOB 0x01 +#define AHAB_ALG_AES 0x03 +#define AHAB_128_AES_KEY 0x10 +#define AHAB_192_AES_KEY 0x18 +#define AHAB_256_AES_KEY 0x20 + +static int blob_encap_dek(u32 src_addr, u32 dst_addr, u32 len) +{ + u8 in_size, out_size; + u8 *src_ptr, *dst_ptr; + struct generate_key_blob_hdr hdr; + + /* Set sizes */ + in_size = sizeof(struct generate_key_blob_hdr) + len / 8; + out_size = BLOB_SIZE(len / 8) + DEK_BLOB_HDR_SIZE; + + /* Get src and dst virtual addresses */ + src_ptr = map_sysmem(src_addr, in_size); + dst_ptr = map_sysmem(dst_addr, out_size); + + /* Check addr input */ + if (!(src_ptr && dst_ptr)) { + debug("src_addr or dst_addr invalid\n"); + return -1; + } + + /* Build key header */ + hdr.version = 0x0; + hdr.length_lsb = in_size; + hdr.length_msb = 0x00; + hdr.tag = AHAB_PRIVATE_KEY; + hdr.flags = AHAB_DEK_BLOB; + hdr.algorithm = AHAB_ALG_AES; + hdr.mode = 0x0; /* Not used by the ELE */ + + switch (len) { + case 128: + hdr.size = AHAB_128_AES_KEY; + break; + case 192: + hdr.size = AHAB_192_AES_KEY; + break; + case 256: + hdr.size = AHAB_256_AES_KEY; + break; + default: + /* Not supported */ + debug("Invalid DEK size. Valid sizes are 128, 192 and 256b\n"); + return -1; + } + + /* Move input key and append blob header */ + memmove((void *)(src_ptr + sizeof(struct generate_key_blob_hdr)), + (void *)src_ptr, len / 8); + memcpy((void *)src_ptr, (void *)&hdr, + sizeof(struct generate_key_blob_hdr)); + + /* Flush the cache */ + flush_dcache_range(src_addr, src_addr + in_size); + flush_dcache_range((ulong)dst_ptr, (ulong)(dst_ptr + + roundup(out_size, ARCH_DMA_MINALIGN))); + + /* Call ELE */ + if (ele_generate_dek_blob(0x00, src_addr, dst_addr, out_size)) + return -1; + + /* Invalidate output buffer */ + invalidate_dcache_range((ulong)dst_ptr, (ulong)(dst_ptr + + roundup(out_size, ARCH_DMA_MINALIGN))); + + return 0; +} +#endif /* CONFIG_IMX_ELE_DEK_ENCAP */ + /** * do_dek_blob() - Handle the "dek_blob" command-line command * @cmdtp: Command data struct pointer From patchwork Fri Jun 2 06:45:52 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: 1789475 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=dfXv1COC; 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 4QXXNV3Fbgz20Q4 for ; Fri, 2 Jun 2023 15:58:02 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 819D8865F7; Fri, 2 Jun 2023 07:55:12 +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="dfXv1COC"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 96531865E5; Fri, 2 Jun 2023 07:55:05 +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=-0.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FORGED_SPF_HELO,SPF_HELO_PASS,T_SCC_BODY_TEXT_LINE, T_SPF_PERMERROR autolearn=no autolearn_force=no version=3.4.2 Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01on060e.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe1e::60e]) (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 BB715865EF for ; Fri, 2 Jun 2023 07:54:59 +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=RF9glOYIthKUwEefusmsxeIDZ5+FHA7gpqw4otbnwcVkL9/2jxk0LMIpHEjxNDkxtRmVq19m/QIKcPQM6u2kFDCXHf/jdamfM1SjjQ+K3g3FjNwOqI2ywqysqF/qeS2NZ14hucSxxldn5gIbE6MROrttIL9pSNtspOgm1ydcz9iopaIdlr1jYNOdKoSS5PJ9PsIlv+XNx90IvKj6CSV/KsP8S6FiWHSvUn1owRcGVX//GrhrkBB8W/tHmiJ2hFIGOy/dbzkvdYKhvOSP6rksv5ZwQzp6zzEOJ/iQDBaJzSDNxHsGmG3/lRGWj45ue8KkuZYK5tEZ9WEVOhbJQl9MrA== 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=kxpQ5vDMU73+XWQIVW1vaxINfDhCPEKIkmy4bVwDtCg=; b=CrIDcQTEcgS3NIT9hMV5donsYa8ql5pgSP8+X4TXXiS0/jU5wPklY/cfgS/KB0TUPiPHvo2tc1nzemkvohNnENqfcCx05/VW45Cn2yFvYcAxiX9lEr4P5yFxjxr2tSo0KeMalegn7eHuDrogTTPOQeGZ5gYZ7J8J4l15aGNaXxIr99esmL6VHrITm5euwD1qfp2NXs1htPd5c9Hz/VVqZPCnB7ZZ6MNp7n84UXoqE+GeyCS3ZLMu+koS3QZvRsmAbDp0FOSAvwQ9yt+zI40YEEyF7opDcOqbzGQWKi0TADFgYNuS6HmJJmf2cAchEgxROFnIDnBeNgs61xm/6CezfA== 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=kxpQ5vDMU73+XWQIVW1vaxINfDhCPEKIkmy4bVwDtCg=; b=dfXv1COCLehTiymJi0TW48251S1JCr1byZ/N6vknIjgKMt6mxT+Ft1UwgdUSeQaf2QFkPuVEn3kWMmRgPegk1xmIJ+Sl+9naljRRakB4kkkzuPU7OLGdfG2bmfeSsdN/a8IXNFmOAxvqXY+AclYlZEe79keQVSgTjtbWxJ0oogI= 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 AM8PR04MB7362.eurprd04.prod.outlook.com (2603:10a6:20b:1c5::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.24; Fri, 2 Jun 2023 05:54:58 +0000 Received: from DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::7b3d:4c2a:1636:da28]) by DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::7b3d:4c2a:1636:da28%6]) with mapi id 15.20.6455.020; Fri, 2 Jun 2023 05:54:58 +0000 From: "Peng Fan (OSS)" To: sbabic@denx.de, festevam@gmail.com Cc: u-boot@lists.denx.de, Ye Li , Peng Fan Subject: [PATCH 15/30] imx: misc: ele_mu: Update MU TR registers count Date: Fri, 2 Jun 2023 14:45:52 +0800 Message-Id: <20230602064607.17222-16-peng.fan@oss.nxp.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230602064607.17222-1-peng.fan@oss.nxp.com> References: <20230602064607.17222-1-peng.fan@oss.nxp.com> X-ClientProxiedBy: SG2PR06CA0194.apcprd06.prod.outlook.com (2603:1096:4:1::26) 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_|AM8PR04MB7362:EE_ X-MS-Office365-Filtering-Correlation-Id: 100b7585-a339-4009-94b3-08db632de561 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: lir8Cdj6d9m00SdjiL44Yp0UGFjnrDMIkIlr2xmrVrVFRatVepqBSVueyJh1or6NXq2L8fIz4hNOF3toYebIT4eYjiehzTYCbuFfmAAKzK1FggDTaz6lqRoyd+rem/8T+4xkAElPzYyayLRC5wcJXww8MLZmaPsHJwclob8IXF1vKr33cAKlQWiI1+ADzHWBU0q6BtuGGwe5lP2hSgmqpzuVhohVPtOy4lgGCCe9sPxtT+pftnMKSFvELAdoVe72LgPl2m94+2zATl+ZlP4ZCMqzqvr/mcqcx5DpsQepyCelxkKu8INsJBZOrzkx9BLX9fg607s95lM+PPLAlzR51Pn+PAs6dv3QJCA4QQdLVlHAQDTdGU6uYY2f9fQFlFAc3YXCPmcVu2Q2f1qgLRkrz2JxjCnU8DzNJKX6C2bSD+QqITM80Kntc3Kk2RFNztning12XXfP0kSYZ86q/wB3F/qoPB6eeYMTwQPSTdT5ndsvuyPeXhWCQRF4Gcfa2XjpZiDESSSp6oiqai9jtf1wv2dohGnzpqvUAbc6BV58O3qvX7NYkRD7eSJkEe+8L0OItMuLBxjKoJ6pgmxN6dD9ADHtWs6zxTWZAQ8hyVIqDkJ4bNXDp8GJD9067Fzj74Bs 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:(13230028)(4636009)(346002)(376002)(366004)(39860400002)(396003)(136003)(451199021)(83380400001)(66556008)(66476007)(52116002)(6512007)(1076003)(26005)(6486002)(6666004)(6506007)(478600001)(54906003)(2616005)(186003)(15650500001)(86362001)(2906002)(4744005)(5660300002)(8936002)(8676002)(41300700001)(4326008)(66946007)(38350700002)(38100700002)(316002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: AJQ49K96wwbqVWOMgV1zwF7iNVMV+xNf2ccbi+iZf84wOXbO4plQ1ryjSAef9wvq4oXc+HHPvdW+z13xVqDf9MobWx09Icbtzryj+rmiaT38yjuCXoxrM7JP20mViyk8FAHMvX0Sr4akp0v1LMwGRZxvuAwj4mQdKDzqIm6AHrmhpuloJ6vt3AZfBtNBnnCH6L6EI0QrOPggtIXbXZGy+4OTP2QzYy4K4aXyO8bD0W1+B+kGf0rutGJwlF7AnXd+4iNVzkn05RimImPqs+P2g9cF0gJwT6oE8B4ZulTAttr9OB3z75n9WeNsTdT5RUEUe7eQyO1GZE5UF2FxlIJXfBocni6w/e1JHFxqAMToBxMhcuFdTfyKXDW9vUecakUyN2lpE+CmHY5gpm1imuMoLI21VOvkJyXIxx62ZkxMyKj2StIV5pWDNEvyHL3nViHQfISY767UFnJ70KGV12yZ3/bRA21DLv+aCJxb93v5XkPTMgDF9JeDUi9pF85/R/QBBsK6CyiU5UQvDmnG77ktE16Rc1W2u5zUeRJJDqr4Z67vEuxQA32TYn/uA+2LOg/bdJ1Mk5B+4ENN5rJITA9rFXbqjE+a3xDoTLyrCmrVqxH/Yd+2afakSy/VAwQnn6hjB640a4Famo+IEWMOY2kSqrqg4QGjwAbwO36kRpVawU+hEHTbqAHCtD4OV5e9rIfZJ5pBwyt6YZ+0o1SSt5lvLq/B2TG+O260izSEz2pmnRS2B04uvsRszW0i0YRu1TBfxuBTEnCo830F3yTaoKeTJqJlFrujEa+nQu9vLA4HrV/xy2asZC9hYjfEWP3DAnnNYJWxtHH/jzLOykpGvRNdFZfsg66e2NLKDbJhbibPhqtvzx8LZshMrt8ZpB1Buwnw/w0m3GBKvhWolZvvR+cZVVMolr796rRvBGvm7M3pBQVRqYneJrmrEOn7VUR7NUsp8MtrnslTh4npd2FcU2Ha51xk2uhtzXrws8J8dEl0wHCRuV1FaeHzf2dJplKSb5/+5O7FuMR0KyForZkyL0aBixMrKRyGeiWwWNfNP/7WwGnOMBtnalQOgHHSefcNLsWsAxLOnCBSBna9hC2lY6Kj9vYL9kfU0sG0Kdtdettjqu4+XhbULbXlt6EFGe071vDXjrGcZWVs090EsL1p4u6DqW935lAymw3IvJr8Npmx3FLmS+I4wxIlZqZ8oDbBrrQlY9eB6260IVqi9EiYBs2c3zwh8gIQV5RnzMyQSFgkYq7NGpZ0fvw9ZY2WPrhKbypJkBpwVuDiakYjsCtMYtZQXXLIRl7MRJc9kcc3Jfst8vkLYJHwwA7sszntFRXvZCk25R+uUYG7Rox5V2euZYgy8E48D84PecY/0GtnQnH1CL3wNxWNrzMDPDwN9kUULjNKc+Rw+xYKWDTI83QatPWGPaLlxJv1YChv2QKowScBv2cIcJ98NLGI8CqGPqNLuAWBFRWyIM7r/d43aJntBT6Uj+ueRIf2XgsOp1xeqvLBbN31axl5zFSsl/H7TuY8LaU3oehtLHFvRIYyi4mp6Ku9Lsn42Xvid5ePy4KeSVlKyPuITvVik/BUH1VPB3crHB2s X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 100b7585-a339-4009-94b3-08db632de561 X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9417.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jun 2023 05:54:58.2383 (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: V+t6+uEq1XPqKbQ/WrPgcVYKp/Ehez0NUFNVlkmMxYXH3MnSLr755wijHnU3LbX/f9OlHPKlVYbz19sNSfl+Pg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7362 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 From: Ye Li According to SRM, the Sentinel MU has 8 TR and 4 RR registers. All of them are used for ELE message. So update TR count to 8 and fix a typo in receive msg Reviewed-by: Peng Fan Signed-off-by: Ye Li Signed-off-by: Peng Fan --- drivers/misc/imx_ele/ele_mu.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/misc/imx_ele/ele_mu.c b/drivers/misc/imx_ele/ele_mu.c index 0d34b8c9010..956f8a1eb2f 100644 --- a/drivers/misc/imx_ele/ele_mu.c +++ b/drivers/misc/imx_ele/ele_mu.c @@ -22,7 +22,7 @@ struct imx8ulp_mu { #define MU_SR_TE0_MASK BIT(0) #define MU_SR_RF0_MASK BIT(0) -#define MU_TR_COUNT 4 +#define MU_TR_COUNT 8 #define MU_RR_COUNT 4 void mu_hal_init(ulong base) @@ -65,7 +65,7 @@ int mu_hal_receivemsg(ulong base, u32 reg_index, u32 *msg) u32 val; int ret; - assert(reg_index < MU_TR_COUNT); + assert(reg_index < MU_RR_COUNT); debug("receivemsg sr 0x%x\n", readl(&mu_base->sr)); From patchwork Fri Jun 2 06:45:53 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: 1789476 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=N5Lc2PGn; 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 4QXXNn0RkFz20Q4 for ; Fri, 2 Jun 2023 15:58:17 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 947CE865D4; Fri, 2 Jun 2023 07:55:15 +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="N5Lc2PGn"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 49925865F1; Fri, 2 Jun 2023 07:55:08 +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=-0.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FORGED_SPF_HELO,SPF_HELO_PASS,T_SCC_BODY_TEXT_LINE, T_SPF_PERMERROR autolearn=no autolearn_force=no version=3.4.2 Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on0621.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe02::621]) (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 DE9EF86437 for ; Fri, 2 Jun 2023 07:55: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=MSJWpAqfG3HBkyTfFJCb+cWuaLMSXWq207OPf8xzoLMkPFt5hUA4F+7PZO6PDioob26yPIUAWG/cWasFjCCwdIyxkSxY+fbBDhJf9RmbKUGxQiAenX2am3A4M48XKqYCIeScqerZXr97ykMYa0HGEE+HTj8HLgun28ONPxMFhwKv1t4TiNJxD7LLREuisIkvwrwevhrcR1oqO6q+Ok8ScjlQ+hcA8Plcq5oOd9MTFadCrrBBdAiaYTyybdccc4STA1/N4nb9FZqe+LT8Keo3s9RVeMsCnOI+LLTDByTCHZ1+ozIrVcp7R7eiJzl2oP7YJOG9lLMHSjsuEqIRbgtLjg== 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=ZuVOFx7b/lfzq3EAFnEF2iQfYFYzp1rqARqhrR4cmCA=; b=hFY/FhuUsgNuU9j+m+NF2f+Hs7Q43F9CF53unrOAqfBU+n8zvSJ6KklTrj/H0GDD9iUa9/7wWVQ1WKkYYJKUARqZnLE6D4b5GbQkVht3Q7dH8E9zfe0v3L57pl4grzRDb+EOUSsUyWcyQuVSwLh5EmFB6SW0E874gu7F0fY5oSjbmyaFRLpNFgY95r1zYNRxkxz/QB2kSXtopHwFNfXo7M+PdeJn1WqJ8Y367D+5eioP3rlpxYUOWD8sveuzuYN7AsR4n6jrM84RuvW/8Fc9giy8CM420DKBlDX04JjZVthEblkqiJGdAYZd/z2VUYaRkYjZr4iILWQwF5LBijnKiw== 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=ZuVOFx7b/lfzq3EAFnEF2iQfYFYzp1rqARqhrR4cmCA=; b=N5Lc2PGnOHrRpuufX/sOm1KxmI2JGjvInjrS4TbK4cx7Pb9knj2TCfkl/LuKT9RNxyKXoIdMjg8obMaw2IUK0l0+0YFKeuiEModeqF8AMjl4ltyTvuvVrj3qJZWZF/e7yFIvU3daJLqxv4WNOvq24rElJH6P8jKdts+Ej2j3eCw= 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 AM8PR04MB7362.eurprd04.prod.outlook.com (2603:10a6:20b:1c5::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.24; Fri, 2 Jun 2023 05:55:02 +0000 Received: from DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::7b3d:4c2a:1636:da28]) by DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::7b3d:4c2a:1636:da28%6]) with mapi id 15.20.6455.020; Fri, 2 Jun 2023 05:55:02 +0000 From: "Peng Fan (OSS)" To: sbabic@denx.de, festevam@gmail.com Cc: u-boot@lists.denx.de, Ye Li Subject: [PATCH 16/30] imx: misc: ele_mu: Update ELE MU driver Date: Fri, 2 Jun 2023 14:45:53 +0800 Message-Id: <20230602064607.17222-17-peng.fan@oss.nxp.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230602064607.17222-1-peng.fan@oss.nxp.com> References: <20230602064607.17222-1-peng.fan@oss.nxp.com> X-ClientProxiedBy: SG2PR06CA0194.apcprd06.prod.outlook.com (2603:1096:4:1::26) 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_|AM8PR04MB7362:EE_ X-MS-Office365-Filtering-Correlation-Id: 534c8175-dcc0-43e4-32fa-08db632de7e5 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: y+CBo11zzkb3GZVtiQwV/XJr25gvuJDG5m+AynwQRhOjB7Sc18GLuFkiOjm140qNtB9ug8ED61ZuHuV8SUKLfsHDZ+rlGzAMyWszgJ/hbmR753MjXOipUpmc5myFrHW4kHx62UMS4bn2LiFthb74lbCK2v3NiYNTEajzB4c2M+TlTvGTL0FW0poGXXxEHZQcgqcGiHYO3Ltuhc2Jm+IZ8KhdjA45NJXKzIKs1vYUhep3O4xe7mpG1EeJnqBsEUTJSLKT/759svUtKtMY1171rwlyTl+/qtBEUY032y9tDALDSY6QDbMyiWKvElBD15bmd3szwvapBzxx94B3ZoPflghsHtEqGX6DR2OWfK2LRW+YfYfcB21Fc4AMVrK6aU87BVnPZnUvEvr0hPyxDmRGL82k+FjgmQFrsc7SnkkkaVKnUAUmpiRmAi6UZWdyMqXiNS5BIDR3k0mgCTs/XR7zpXaOg9SCqxBx/iTA/9kfKEcep6PtTVF8+ejjehch0lh74JqRbPYv2+VhZNcwJeKp9nQdeJK+tMktAEUcZc9fd5adAa6mZHFco8Ndpl7g1lcJBy8SZ7SP6w3inhWDS4k/r3DaTJo7EqRNb1vV7VWBd67qZASHj1dNdR2z0DUu/+rs 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:(13230028)(4636009)(346002)(376002)(366004)(39860400002)(396003)(136003)(451199021)(83380400001)(66556008)(66476007)(52116002)(6512007)(1076003)(26005)(6486002)(6666004)(6506007)(478600001)(2616005)(186003)(86362001)(2906002)(5660300002)(8936002)(8676002)(41300700001)(4326008)(66946007)(38350700002)(38100700002)(316002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: nb3sKZLzKPs1WWJmjCMnex0MFy30VNioFQyt71WPfUkpNsi0gAOcfIEHW4ePR/NHU7Pfb8HgE0QeCHBKU8ctUDZq2aXAH5hD8J3VZBhqzB65umWktIriToaoVSR3YeTXENaEQx1vdRr9Yx1q1+/jsjbTYEW41Pdz8TTUU/QydwLSlbqgBf4MLwQyDaJBk49rCaCeT5fIeXpvI/htQ2bbrUzLavcsYlg3vIohhCeuJzfw+nvbIwUgbOu0QeOM44Bep3NhBr8kGPMp/5nPbtxRYbvUguZojdmw3/+O7pgy+eskuAd+nDKLyKTe6PFNsj8G67JrGioQw8sxopvOwYy/HF01DwQmcLrmRnWmIWXvXEKy60M50ElmIuW+IMRDiwLFTzgFQfXIUAMkkCpYonfYiw7c7nxesgCL5tzxxqVqqYtbZGzsCsLNdrBCN1Z+z+SNisuiZX224YsD9IQuYvp2A7ZEFnGtMM98RQk5qjyGxlNhygBSZrxgK4QloA2tiFAmOOvKsNy6N3esmEl9OSsBsNvpjIg5XHyvmOIQFfvVx8ELf3fFb+TNYrjUTCd+tcmV3WPTmva5x3wwLE0TSs6+EB5QhZ+6tz5fZNTpyYvr/yMLWOQ4o2AB77ykmWh1hLsK1SksSgmah0SiNugQuWuK+S+N6B2/LPTsB3oeD3O1r7L0BRjhWeKuITNvm+PondSZcmaoJKQP07KsuWE5rCw2vLMz2X1r/aD0gH6WBFS+Flp0FSavnZ8HUkPdLo7JeTVAKoifVmH8X5eClvTmjbpqbp0e6RitwPO8UfFhhN/FOGt+SFrl75mGK/+6jplLRFKRnW1fx/fAy/MqOr4JfNmap18BmAvl6FCc2xzls5FYTjwZVEPJ2Wf8SAGs1Go+LcX3IWyu/RWxfJFy4yTGpesUJHvr6y3N4b6XoYAXQK1h9a61N46afLnYaYeZDBxuVU29rVBGErW3NcyluUZtSNCOAVEjEBQDOEkGwgvOIZCFqSAFNNSBvDBE0lv9pyongeZGsUB4ZFKBM/k8o/BHpkqYXQGZd45m63vUF99/B15rgqPmlLF6El5clvcQ9obbbn6wP0juE1173StnA5N/ECyQcn0sezpw8ZwGutTMBX3RcuBKdsmYYOg7dKPE6QL1B+I5QsXtfaA4PRIfVtDJjCRcnPNwG4Lk1nIHaKZbCEWfXLP4094hl4xwGKaL2WO42LkTOmUzE/H0B3/lU/HHeXVKc8OF9hi9ZQgKMFknkYCgasHMdbE3eEtkP4uHRYNrM9/hm5Tu/ngFAC0xQlw+eE0iD/p+g0288i2v84vDQjtfoWmdjNHT3GfuntjOJrPODSC5gkN50vRg5lkpHno8THqB91/SN8SpyRjrBmZ76H1zWb9DwUweG7QL0E/eb+BJYUERrJAQIQZllOjR1c2bbNAbt+YxlAx9bYKHEk9mk1QTQT6C2voAIy9cRX7wfJTa7OV5ceLNipy6trVX0kJT4QgIrgmjvVn8djbtFzdHgVXxeNZQDSJ7BBTPqoglVMoVM3qAlRsNszoXVU8kYxE/HtLFdgPX/HrjzUtY70UXGc1bisbswkfxH7FxFopyaT0yN8cZ X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 534c8175-dcc0-43e4-32fa-08db632de7e5 X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9417.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jun 2023 05:55:02.2322 (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: nDMn8PUiLKVfF59CKUgH+nQJQ6hgiIzWJZMXlWyUMP5rPORgUIrpPbgveoGjZ1wYRKF8FBM4Zytpc95Er3+Dmg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7362 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 From: Ye Li Extend the RX timeout value to 10s, because when authentication is failed the ELE needs long time (>2s for 28M image) to return the result. Print rx wait info per 1s. Also correct TX and RX status registers in debug. Signed-off-by: Ye Li Signed-off-by: Peng Fan --- drivers/misc/imx_ele/ele_mu.c | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/drivers/misc/imx_ele/ele_mu.c b/drivers/misc/imx_ele/ele_mu.c index 956f8a1eb2f..053cdcf0fe0 100644 --- a/drivers/misc/imx_ele/ele_mu.c +++ b/drivers/misc/imx_ele/ele_mu.c @@ -42,7 +42,7 @@ int mu_hal_sendmsg(ulong base, u32 reg_index, u32 msg) assert(reg_index < MU_TR_COUNT); - debug("sendmsg sr 0x%x\n", readl(&mu_base->sr)); + debug("sendmsg tsr 0x%x\n", readl(&mu_base->tsr)); /* Wait TX register to be empty. */ ret = readl_poll_timeout(&mu_base->tsr, val, val & mask, 10000); @@ -64,14 +64,24 @@ int mu_hal_receivemsg(ulong base, u32 reg_index, u32 *msg) u32 mask = MU_SR_RF0_MASK << reg_index; u32 val; int ret; + u32 count = 10; assert(reg_index < MU_RR_COUNT); - debug("receivemsg sr 0x%x\n", readl(&mu_base->sr)); + debug("receivemsg rsr 0x%x\n", readl(&mu_base->rsr)); - /* Wait RX register to be full. */ - ret = readl_poll_timeout(&mu_base->rsr, val, val & mask, 10000); - if (ret < 0) { + do { + /* Wait RX register to be full. */ + ret = readl_poll_timeout(&mu_base->rsr, val, val & mask, 1000000); + if (ret < 0) { + count--; + printf("mu receive msg wait %us\n", 10 - count); + } else { + break; + } + } while (count > 0); + + if (count == 0) { debug("%s timeout\n", __func__); return -ETIMEDOUT; } From patchwork Fri Jun 2 06:45:54 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: 1789477 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=85.214.62.61; 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=dxGcRg3W; dkim-atps=neutral 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 (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4QXXP25H2Cz20Q4 for ; Fri, 2 Jun 2023 15:58:30 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 611B6865FF; Fri, 2 Jun 2023 07:55:18 +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="dxGcRg3W"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 4BCB6865F4; Fri, 2 Jun 2023 07:55:11 +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=-0.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FORGED_SPF_HELO,SPF_HELO_PASS,T_SCC_BODY_TEXT_LINE, T_SPF_PERMERROR autolearn=no autolearn_force=no version=3.4.2 Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on062b.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe02::62b]) (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 11AC2865EA for ; Fri, 2 Jun 2023 07:55:07 +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=DwkVFC0PLV5qAKWsG7wP0xiyU/gHlv2s3sswF3sLn9a8Z3pA5uppRVmsKCtWGpr93/mVy8Bkx/gSkUxgkV5dpQBO5e+vXhWij1OchhJ7H1FI2ypCcdd/kDbKjpu0pM/qO1miD+AHXwo7Nu7WKQ0ml2Va0wI74UeuM1+7EeOeai6/AmjgPmr5d57baFG0mqDRDasAQxAIgUCfG/bxFsq0KKJBdykgchupoYQahfXIzXfF5vyRI9hy9Du5i5m4Tm9YeZcTctibe1hCekjhTV+OQ52VP0cRtuyuncZS4Dohj90DM9G/8ZSu2OPZNK254xHvNcBmxGfi8NqlfiCcWcpuCw== 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=lWwaAiVVugHn+qL5T/R7sW6AJ8ukQd5OsWKT/mxyNNU=; b=gJzmgx0Zyq2eWPxye4MdGwn9dY2VzbJMzhifx/rpiuCJGftWI+1l/S7JWRcioTpu5+nupWLN1sebOjARktBw7rn1AKeD2YNKSaRK0lbBiQrLYe2LFEFK5SewxbA0xGE2BGL9CJNud9m+GxPt+6domf4+hUwsDmnbCFdpkZAiXbqfwE4yJoZLhIKoj3RpE8EhEPVlS7CWWj/DZe7IQvSzC0b5irJbN6KYZuv/NB050Elh2dCu5386t4f0vb/zRw1p3f0Z8asLId4iWOnB5+opJhL82SUbamYpNTHSIIWmiYGHUYEdILn0MAv8M1IjnmgI2fkYo5HGIARk+ylO+gx/oA== 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=lWwaAiVVugHn+qL5T/R7sW6AJ8ukQd5OsWKT/mxyNNU=; b=dxGcRg3Wibhvn066nsx0c6WCWGh3iIhdYrDI00YCg6KSwgDLGwVKBfhxxTGs4FTGsA7s06wJq+FNhk4mK9SBmgPYh9n4LT76UwYgkQEAGAaTr1k9fR+u6uYtLgxvZ5pYJ9G/NIMAHtg14s+jnZJnYhfXvKCketbIW5STSeJvkn4= 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 AM8PR04MB7362.eurprd04.prod.outlook.com (2603:10a6:20b:1c5::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.24; Fri, 2 Jun 2023 05:55:05 +0000 Received: from DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::7b3d:4c2a:1636:da28]) by DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::7b3d:4c2a:1636:da28%6]) with mapi id 15.20.6455.020; Fri, 2 Jun 2023 05:55:05 +0000 From: "Peng Fan (OSS)" To: sbabic@denx.de, festevam@gmail.com, "NXP i.MX U-Boot Team" , Peng Fan Cc: u-boot@lists.denx.de Subject: [PATCH 17/30] imx: imx8ulp: start the ELE RNG at boot Date: Fri, 2 Jun 2023 14:45:54 +0800 Message-Id: <20230602064607.17222-18-peng.fan@oss.nxp.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230602064607.17222-1-peng.fan@oss.nxp.com> References: <20230602064607.17222-1-peng.fan@oss.nxp.com> X-ClientProxiedBy: SG2PR06CA0194.apcprd06.prod.outlook.com (2603:1096:4:1::26) 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_|AM8PR04MB7362:EE_ X-MS-Office365-Filtering-Correlation-Id: e0a6f418-4646-434f-a6f1-08db632de9d2 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: Z2tZ4zrvVDppTHOAQ7iJ62vR8ETQ8FVKPgqTdIX1uzUHKEbgNA4E5UFujuJvbRgWdbDn6V8dnwwZ2a4KyAZ3jKt7Aa5XrLp5uUEouD+IJaHPCKw1lJccb91H6NzkbDzY6ejFtpdlZZRJ/hj+K/zOnzSAmyWhT4Xrnvn0HKdFR1kSiVzCbRHtKdSBepFxMicrR3YR/AwYj6skV/7G2wD67cZE95CGXpaXEJa3VfTycl40IOyHznynDEk8gGrXy2IwYxeFW5a4FuE+SebW3KBGXiFRoko3b5ydBONKQEFsDzkBoOnrPOLl8SyN7Db1v5dggVgVPMnj6xTbEzCbdlmmhK197+iibwfC+r1jHO7CgpJJwO+h2H1PRgsTyP87K83U7ju/9D4s7ReLRIsT+OGfSgX46WhPKNSkixwt72SNovaWQ/PVKmsxIPuQrWIiQeAqqGO7/7zSU9+3CDcVDxLjf7S88ujSflfBIo3+hHOFzLjbSbisUbO/HSCoIcHUZgwBWH51PUhXh74a0hPqKL66iCYPh2siYtFgGOL4Q0+01Kg0nt1U8tiaDvPuRxa7uU/vO+J6gPoNmevgxSNYnCZP/qQ4Yw4wIpGAwIReJzwSbv53XmVKQ3qaVXXs04NtbE1ccnYqmoXtb/Pw+Bvx2LW4nA== 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:(13230028)(4636009)(346002)(376002)(366004)(39860400002)(396003)(136003)(451199021)(83380400001)(66556008)(66476007)(52116002)(6512007)(1076003)(26005)(6486002)(6666004)(6506007)(478600001)(2616005)(110136005)(186003)(86362001)(2906002)(5660300002)(8936002)(8676002)(41300700001)(4326008)(66946007)(38350700002)(38100700002)(316002)(32563001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: +QEjSTfTN5y72ElpBTXRS1U+/mXBrVErgjmC65s3eIc6EF6P0ABeesBpZTAop8EwGD3Kd3Tg55JMwAH2R/bnMAPxAv3hPYlMePx5yNOF8Ppjye5obn58P1mSBZPZKx19dl+2QVKoCt01kd7AciSG27ZlwGy7pfSwAETuK59ZMZ4VWXn0jFdj4gcULY71wvI+ZvyFi/+zOhO/vKoYOXWbBw0F/5cZmdvXkLVOJUEzGjMLmG5Fddj6GyC6dDyfK8eHzBG4v7cwvLdOlpRb/2yeYkOqX2g/MuOqwI2Q8Ug5ntkK6lQmyJ5axEORVeQ3bobM/gAj0q6EPKVOCmg+8ICnmat1IgC4cgv+u1Bg+Y+E1we42NCsoJ6xgh7PnMrPNVhgwlzP5LJ3X53Y3r5uYD7+f2FsJkhBWqYuQgRAk7VEKfW3WVPKIlqgyWmb3OAYorfcHrDrLdxaQP+3pdBiFS5cPGYRDGhv6SaHFcTzaI5SXdcnWbfYrQMx4FtO/JqBdrpjp1mQeZ7DNAzHu/yY+9kzixvp21N6+qXoarjyXqk/HgF+Wk7OGKFIWfN3GRSXBxP46wKzjBmcFP8n5EAyit/62z03AHQUl+c/B+IIvrqOWhogsXGw/JiV9XZWH8r22+sXMJK44ekLnfwcNQbVK8EVCgnDblTDTF0sNQ+QrdKKjU53KnNo/kha+vwp9vjDTZ6ywvGYgcIUfFQIV/OTCCL8dSaeBnNWz8nQL7feHfo7WsoJeLN/7XklLFi3+qGPvaIcbYTnZFE6HjX17sE8nDj3ym0FwDP2KXBweC1wIM0x01H/7nPnhJaPsnq9/sqO5ETeKobqSMLzETEnG8bUaTLIUdlFvmxUOBc76/ESPisgGv6q7x9Q10dm7dvPHgOi9TiVW5+JofG/+arnhGi+T1cz+gab+T6eGR0UDnigddxgO4R6TW4h91en6jhwnXbkuzPPmK5ZPhlGNtx/6Fedj9IdZwDdb+L3Lk4R4tP3AWw8FhL+nXDAmK6w2JDJDMeRyuOClktpgsrJ8l8KZ2QAISjzwZUnUdLa7MoH6tZdvjBMUJbMy/4H4OxDGLcc97IBm0/E/ewgAWPb/aSkxMWaeZsiB6BEaRUzng8zmpwTRTjpJTd0RJQ6MbTJqzBE0kd6OPNnSOlDLQTC7DHVATZus400lMCH8ehy40nVGmwU/MqqHsiZsICsZa277XLxSJZN4nMtAaBSdi9hUcO4qjgCTjcMgvZV48L8TQfIC/Wf4pFgTCjWgNSPrHz6Cc5soguzbAq0iPiCLgldc9F5eejPmFTUOJpaLYhk+BYHlcSdMvRj+r/Da3ly63huNvb1cPUVI1y/+Xjs9D8nVgw9wSQOGI/lOjhZogVcfMZWUFNxaRVAQZInKBXeK4MiDyhFIALDCVsLJTCeRytbTgGpAmXCdpRrQ4K8hJD+7h31xRHbtXPiZyetEnawJ+u1kKwrbzAC68zrajTsH08WmzrP34r9Ex+7Jg+ycLb+K7dgsKY4iTU8UXyDAO7qCUJOQ/28bzDsDWAp6XJuzhNIB9TjzRbxyR9x4IaJvBK1OkrzfqCyDEwEIrhjVVWtd5q7z6JmdenDKFJ/ X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: e0a6f418-4646-434f-a6f1-08db632de9d2 X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9417.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jun 2023 05:55:05.3542 (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: F0u9LTjBzrA7qK/pZJZw1dEi0q1s9CRNqWleMlwUn2XDdRzpfcZxrkL31trYFtRd/39Tsou76K67NbFGUF66pg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7362 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 From: Peng Fan On the imx8ulp A1 SoC, the ELE RNG needs to be manually started. Signed-off-by: Clement Faure Signed-off-by: Peng Fan --- arch/arm/include/asm/mach-imx/ele_api.h | 1 + board/freescale/imx8ulp_evk/spl.c | 10 ++++++++++ drivers/misc/imx_ele/ele_api.c | 25 +++++++++++++++++++++++++ 3 files changed, 36 insertions(+) diff --git a/arch/arm/include/asm/mach-imx/ele_api.h b/arch/arm/include/asm/mach-imx/ele_api.h index 053a23f030b..cfd4ecebb62 100644 --- a/arch/arm/include/asm/mach-imx/ele_api.h +++ b/arch/arm/include/asm/mach-imx/ele_api.h @@ -149,4 +149,5 @@ int ele_get_fw_status(u32 *status, u32 *response); int ele_release_m33_trout(void); int ele_write_secure_fuse(ulong signed_msg_blk, u32 *response); int ele_return_lifecycle_update(ulong signed_msg_blk, u32 *response); +int ele_start_rng(void); #endif diff --git a/board/freescale/imx8ulp_evk/spl.c b/board/freescale/imx8ulp_evk/spl.c index b7c6ff092b1..66d0f68cc62 100644 --- a/board/freescale/imx8ulp_evk/spl.c +++ b/board/freescale/imx8ulp_evk/spl.c @@ -123,6 +123,16 @@ void spl_board_init(void) ret = ele_release_caam(0x7, &res); if (ret) printf("ele release caam failed %d, 0x%x\n", ret, res); + + /* + * RNG start only available on the A1 soc revision. + * Check some JTAG register for the SoC revision. + */ + if (!is_soc_rev(CHIP_REV_1_0)) { + ret = ele_start_rng(); + if (ret) + printf("Fail to start RNG: %d\n", ret); + } } void board_init_f(ulong dummy) diff --git a/drivers/misc/imx_ele/ele_api.c b/drivers/misc/imx_ele/ele_api.c index 8a14cf6aa92..0c017734a49 100644 --- a/drivers/misc/imx_ele/ele_api.c +++ b/drivers/misc/imx_ele/ele_api.c @@ -503,6 +503,31 @@ int ele_get_events(u32 *events, u32 *events_cnt, u32 *response) return ret; } +int ele_start_rng(void) +{ + struct udevice *dev = gd->arch.ele_dev; + int size = sizeof(struct ele_msg); + struct ele_msg msg; + int ret; + + if (!dev) { + printf("ele dev is not initialized\n"); + return -ENODEV; + } + + msg.version = ELE_VERSION; + msg.tag = ELE_CMD_TAG; + msg.size = 1; + msg.command = ELE_START_RNG; + + ret = misc_call(dev, false, &msg, size, &msg, size); + if (ret) + printf("Error: %s: ret %d, response 0x%x\n", + __func__, ret, msg.data[0]); + + return ret; +} + int ele_write_secure_fuse(ulong signed_msg_blk, u32 *response) { struct udevice *dev = gd->arch.ele_dev; From patchwork Fri Jun 2 06:45:55 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: 1789478 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=TY1aSXXN; 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 4QXXPJ2BZ9z20Q4 for ; Fri, 2 Jun 2023 15:58:44 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id E4CB7865EF; Fri, 2 Jun 2023 07:55:19 +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="TY1aSXXN"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 4296686601; Fri, 2 Jun 2023 07:55:13 +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=-0.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FORGED_SPF_HELO,SPF_HELO_PASS,T_SCC_BODY_TEXT_LINE, T_SPF_PERMERROR autolearn=no autolearn_force=no version=3.4.2 Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on0617.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe02::617]) (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 7413C865E7 for ; Fri, 2 Jun 2023 07:55:10 +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=VtpNdRp3R2osAknVMJo+nbvptg8CaOTshfzyfipNmXZjHJMPEYbB0BHXIuSpvjZhNkJTQkle/fPYmy+of3qmsYI0rPOhpSfv44ec68pCu55ZYYpM7Rcmyfedx/C90rAH8TKFUbe1wdKz6Qj5A05+5NaxV3FUR1nYYttgcDB3S0eD/knG9ti5Zm8eWvPGrUhqv1XvUEwv0u4KCxapRGQ7t60ruGAA4k6GZzrzAOUq7ZvVADFGDMYZ+/43yZUDPhW1ScPy7uLVm1V0n4Va+QhZwZO+DViEkXr81IzTU1GOGGLCk+MlDvKZ/q8WgYw7Pzcz5siLDm2Z6YpbEH8q9k8TJQ== 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=hqk6GEuEDbblyrX+ENxeqaNYkTiJ7k2aMN00uTqTmzA=; b=Qyd10pDxDlnX/pOzxVqqRDIoYLbNwqMEKJ2vEJCJLRaqW5UCwdkDlADsG1ZA3DcONtNrYmN5zTN/YodOvnZUwHduBrrzy4cmjImi52nCHjk5VNkg4CMe3WQR1V6MJT0KW7r3A8xctzGixRVZY86wNxMbERs0WPXEu+ga4rduTX86si/u0upioCq779fwcDl9yv72Xe4LUHQ41oM+jGdi8vvjnomUkkHGEtLFssUmnHTUiqi4LmZJkhTnh3Xn8txhyv4qqvQ4tTBUib7e4Ab+zNn9fLuKwnvBQBmlaKSjXFDBXD5bR3VjaZUKvkN0MiJr/efpCBQWkMPDwSTPzHQUwA== 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=hqk6GEuEDbblyrX+ENxeqaNYkTiJ7k2aMN00uTqTmzA=; b=TY1aSXXN+YyzIVGDuyRPO+w/+uN+UbqEPo8zAow7K2J0bR1nnjrE7BH3S3g7Fdx2IcN6VVAA6Wzpv0+G1zk4XclHBgxjYLZjs+8aKKzedmeUYjn1hv9nMpUB0iRHmrD4PMemODH31MZj86iSimDruYWcOo4x0FVI8Lx6ZXYPIXU= 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 AM8PR04MB7362.eurprd04.prod.outlook.com (2603:10a6:20b:1c5::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.24; Fri, 2 Jun 2023 05:55:09 +0000 Received: from DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::7b3d:4c2a:1636:da28]) by DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::7b3d:4c2a:1636:da28%6]) with mapi id 15.20.6455.020; Fri, 2 Jun 2023 05:55:09 +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 , Peng Fan Subject: [PATCH 18/30] imx: hab: Fix coverity issue in HAB event decoding Date: Fri, 2 Jun 2023 14:45:55 +0800 Message-Id: <20230602064607.17222-19-peng.fan@oss.nxp.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230602064607.17222-1-peng.fan@oss.nxp.com> References: <20230602064607.17222-1-peng.fan@oss.nxp.com> X-ClientProxiedBy: SG2PR06CA0194.apcprd06.prod.outlook.com (2603:1096:4:1::26) 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_|AM8PR04MB7362:EE_ X-MS-Office365-Filtering-Correlation-Id: aced9e5c-a78e-482c-c74f-08db632debd0 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: Mmxf4lC7m7WqMjepX9Tpl86PNi9sgAAH+Z6dbgEXLqdHyhHX1AlL6tTd6L9OJc1ELHZE9n3me5nWUuq7J0wtYe+MkOoLwChG8WtIHHWPILR037wksOUR4X9LN25bVz4legVuMfykEwQt0Gr/MVqoauyRqdh0kUNrOxEVIU4DrNN4XFM96uumMIYP8OJFJxaol74fL/Nm4lEXsvyhvqcfQtE83sK71NxfKM+sE7H10B+veATbephEXIPakA7DfPR82xd7LXTVCHdR/cTTQ4+qcheg+VcUP7LlzBOKTSv4uR4wDaZiEkEjjmk5YuioAjQsTtpQg3dzmvSw0y4HclcBebEdRCtVGtMes5A83e4eLDjCB+RRW+SqgsrMJ9VUUu+wl5T9+FP1AEBy2/u5T4YDAjYi0XiSdJcfLqv5u/PddKMDLyMKfewQ+afDvIdCnKfA5YLadISDUwDUmIES495C9V0TlhoT0CDhrtCaEsD1z6D9VkGPnFEC3wP9cMJWuyMP+OLalrzxIhFTqMT4pQfkMhHpG+QHglZBH9ZCvVA9r+qSiyzds3HZ80fmFyHDYzmt2AllzK1taUT2qf4Y7pqnZyriT33cPg24YMOEwEHBOoTYe1+pNuL7QvUGdQgvFGMh 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:(13230028)(4636009)(346002)(376002)(366004)(39860400002)(396003)(136003)(451199021)(83380400001)(66556008)(66476007)(52116002)(6512007)(1076003)(26005)(6486002)(6666004)(6506007)(478600001)(54906003)(2616005)(186003)(86362001)(2906002)(5660300002)(6862004)(8936002)(8676002)(41300700001)(4326008)(66946007)(38350700002)(38100700002)(316002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: XYI55oDFESIt2R5kXYqgRHGOsbzCp+o2B5nQz0+7iq10THFhmNr7Q82HjzndLY6Fd6ete2QbH+SlvseMfIVF4U6jE4CLOzlsnDHm2jyYzaMJs2yiqn/SDl+AfsPCAYvKjbIaMb8+BMiOju9hSp4VBoLWmCoxo/dOAcY6REEyk2b1DJxgJL2QUdA73fp9ZR+Q+BH69vcyp8H3/ZwNvjjYe+u7gSM774OCXK3+8CmwoBQSGqxbO+hyOAZsNOh1/J9o1vJ5r5dIV6M6JPN+QZpf7rcar8PNRWByYIhU9wFYXVqt3nTqwtpWQkJXS9i4S6BHKHuI0UOkdXVxMVt/JDJ0SBzHQEkoM4ZWpuDbHSS6qlqxiuhO6z2Y+Pu1/t262dL7mL7HnaxPYoet88lodvJb01zl52awDC60D4yyzr7gBggdedH6B1hmZo9h8aLxVYR7UVsEByjBU0ZuPQ+YRiC4hMq9d+AXOyUo9TR0IP4UAaq5Vjhfo5Y1wox8jYGK3sMsO8cSjRn0GHEEXNpL8cAKwKXgnW+L/BnP5/F35yigTWNFBUUTcRr1hIENxJRJ9XTH8ss2snhhBSkaDhTlYQE5SKM9wsOMrU+77lO1l1/T95Dcz2LhSv/ro+V3H5gK52kUwlsDfeuLqNZWHrm8P8RfGQv/J1PUr759GIF4ldeVoGIXY/8Sp7/tUcEalvLVXul9BE97vaLYPr0En6thuHFbyoQtmjWuqqpWXt0bAXa9dTi3dKDGE6mPmZg+uYJM/rQIz3cdncrBnGehxZbj/G+4SpoYbQ1MGtQw0LKTR1BtZ7xR8mz23gFVHdLOgjetLWqWWkKglLhcGMDNxGXi8SRgbSZR0scKijRmnRROCrvpWXX8a6VjRT3/jupjeUyEuPLxHIWoTmruzQ79XGJMJ5o115bbxYOVNL64HwBbKE6Q6lvcYSaOhpBII8VNe8X53QRgBG/B5S2hW6ihVrSTB2rPYtTyN2lbtXgj/80Nvjmyjbak7di3BqvpHwIGgFJbrOKf+IzGynxRQw3mYI5zCvTnufmX8NqSBxHqgEwFKzLkKrflzBjjxw0vKhAY9GymCoT6v0NGCIh76S2Ua8h/EOldqoBwEQ1cRMWXJ5tWXjCnY94huSKVbGLGbb+BxoxdM/PjVP7ZE7c3yWKp3x7WVWGhN8FGO2/crvNIvWZrbfZRyNKkUOhOlnCrRAHYgXOS/lKreQhnOyJlYWBdbtUNM4VkRWT1q3ZcX/mm9+huBbvJ2a8tD17vvtEdTRPCkw4KBizHG6NnxVeaCYeNe5ox+GLfcsWAxUd31yiPQMKEg1KZ6xFKny7mQp1B9SszpR0h4yb9lXmp5K35SXfFNJ+VHsNqJCWho/T8fLHO5pAeTzoY2h0NAKoAcFX0ocnC8tq4pyUrPLFw6xZdRyDTUCb8X3E3WO8HESXKSYvgAEII1BpoENhY2tCgkbIERLljO50w3W4lsJT3/SiYlC9DBZ6He/7VtqZawtmLl+gdDW/ND/O2KQwZR6fzWe54qarPqXenNOxCVgVyPXADE5/6N1tlTOElvmL4yWOIqFe4Kxah8koxCT+uN5rvEq8WzGG6q+VyZ7YL X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: aced9e5c-a78e-482c-c74f-08db632debd0 X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9417.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jun 2023 05:55:08.6833 (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: H7GX2dXrv4UJsmbhYIR7aoZ3lrsI8m4rFHl4oPlhCccHQlVsfGTSFsgab16u+Po34smXm6NcBgedJTHh5MQ5rA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7362 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 From: Ye Li Fix below coverity issues caused by get_idx function where "-1" is compared with uint8_t "element" 343336 Unsigned compared with neg 343337 Operands don't affect result Additional, this function returns "-1" will cause overflow to event string array. Reviewed-by: Peng Fan Signed-off-by: Ye Li Signed-off-by: Peng Fan --- arch/arm/mach-imx/hab.c | 41 ++++++++++++++++++++++------------------- 1 file changed, 22 insertions(+), 19 deletions(-) diff --git a/arch/arm/mach-imx/hab.c b/arch/arm/mach-imx/hab.c index c6747b257c4..de8fcc7c27d 100644 --- a/arch/arm/mach-imx/hab.c +++ b/arch/arm/mach-imx/hab.c @@ -289,9 +289,10 @@ static char *rsn_str[] = { }; static char *sts_str[] = { - "STS = HAB_SUCCESS (0xF0)\n", + "STS = HAB_STS_ANY (0x00)\n", "STS = HAB_FAILURE (0x33)\n", "STS = HAB_WARNING (0x69)\n", + "STS = HAB_SUCCESS (0xF0)\n", "STS = INVALID\n", NULL }; @@ -336,8 +337,7 @@ static uint8_t hab_statuses[5] = { HAB_STS_ANY, HAB_FAILURE, HAB_WARNING, - HAB_SUCCESS, - -1 + HAB_SUCCESS }; static uint8_t hab_reasons[26] = { @@ -365,8 +365,7 @@ static uint8_t hab_reasons[26] = { HAB_UNS_ITEM, HAB_UNS_KEY, HAB_UNS_PROTOCOL, - HAB_UNS_STATE, - -1 + HAB_UNS_STATE }; static uint8_t hab_contexts[12] = { @@ -380,8 +379,7 @@ static uint8_t hab_contexts[12] = { HAB_CTX_COMMAND, HAB_CTX_AUT_DAT, HAB_CTX_ASSERT, - HAB_CTX_EXIT, - -1 + HAB_CTX_EXIT }; static uint8_t hab_engines[16] = { @@ -399,30 +397,35 @@ static uint8_t hab_engines[16] = { HAB_ENG_ROM, HAB_ENG_HDCP, HAB_ENG_RTL, - HAB_ENG_SW, - -1 + HAB_ENG_SW }; -static inline uint8_t get_idx(uint8_t *list, uint8_t tgt) +static inline u32 get_idx(u8 *list, u8 tgt, u32 size) { - uint8_t idx = 0; - uint8_t element = list[idx]; - while (element != -1) { + u32 idx = 0; + u8 element; + + while (idx < size) { + element = list[idx]; if (element == tgt) return idx; - element = list[++idx]; + ++idx; } - return -1; + return idx; } static void process_event_record(uint8_t *event_data, size_t bytes) { struct record *rec = (struct record *)event_data; - printf("\n\n%s", sts_str[get_idx(hab_statuses, rec->contents[0])]); - printf("%s", rsn_str[get_idx(hab_reasons, rec->contents[1])]); - printf("%s", ctx_str[get_idx(hab_contexts, rec->contents[2])]); - printf("%s", eng_str[get_idx(hab_engines, rec->contents[3])]); + printf("\n\n%s", sts_str[get_idx(hab_statuses, rec->contents[0], + ARRAY_SIZE(hab_statuses))]); + printf("%s", rsn_str[get_idx(hab_reasons, rec->contents[1], + ARRAY_SIZE(hab_reasons))]); + printf("%s", ctx_str[get_idx(hab_contexts, rec->contents[2], + ARRAY_SIZE(hab_contexts))]); + printf("%s", eng_str[get_idx(hab_engines, rec->contents[3], + ARRAY_SIZE(hab_engines))]); } static void display_event(uint8_t *event_data, size_t bytes) From patchwork Fri Jun 2 06:45:56 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: 1789479 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=85.214.62.61; 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=P+YJoGQk; dkim-atps=neutral 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 (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4QXXPZ0lhZz20Q4 for ; Fri, 2 Jun 2023 15:58:58 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 74C5B86606; Fri, 2 Jun 2023 07:55:21 +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="P+YJoGQk"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id A7B0586603; Fri, 2 Jun 2023 07:55:18 +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=-0.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FORGED_SPF_HELO,SPF_HELO_PASS,T_SCC_BODY_TEXT_LINE, T_SPF_PERMERROR autolearn=no autolearn_force=no version=3.4.2 Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on0611.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe02::611]) (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 C7CE386605 for ; Fri, 2 Jun 2023 07:55:13 +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=JMzDDdfrOslwId6VDi1J+J4MQNys2fG79AK1Qp30ybC7ttMoHn7AlWXUAhMqdKqjh4wFWlGuOXjaqzQ2jp4ps/gu3ayshjGpCrXT7/+sbv7bdNN2dfRwmmItyZF2dn/eiskYlAMLLHpjnGlCG6VFnXHtY0NBVHzlck2m4lMkOgGejo6QaTYOJOKI15T4BA1xaNc6h9QZvBruX3anp+mSw7nZ571PX+MhhYZWXpuamonADoLlm1bZgY9s51UT37rksZakzv6oGbrXdHD/GCXzJyq/qr4VEK1gh8u800BxZ4IxVNxBS8xw5GTmRfPDGbVehfMLaqtbcmetqVovNahhpw== 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=S8D05JTfanITxBToEIp9B13baVrjUcqM4Vw/LkEWSLo=; b=JVU40jDvI9iC+IboqbQhgCWEyRm0AXe+RqcrVUkzuul3tjwdV0D+73B6WowWbV4WcdohA4xaghp7qZwF52SVLEg6EyGnCy953JMWEwZU3P24oHMQGxG5j1c3bjixpUAJd0iIxpBq/Ha3Rh9RwsF/OcHcqEf25Hc3cN3DlH/cgNj7jwgFZuMcVjHgr7CyFtJmYuXDRN6Wo5qL+4269NS0nZ3SRGYaQM+R4SnPRpj/dFIQPsrmbxHQVX1l10suVfHQMJAkC1hgQTO6qBIx5EPblgCXajEzRi356pZZNU466PT60RCf8cutCsSdTnhTKPEs+cUNmYzAKvr+MgEjgTCp+g== 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=S8D05JTfanITxBToEIp9B13baVrjUcqM4Vw/LkEWSLo=; b=P+YJoGQk3JY6c1RLtXe5RzkwnGQ50JVyBOJeZwRpC3IsLVUkbqvPK6WJH14DEk8M4++Mq2c8F9m72FlFzY93jkVhSpnELXUfhZso8Ur1c31+FRpSKpO4cK7c2ylt2taVb03PbMK+7oNeBk2SPqqDHiHeD1NIfODfMLoPSVKjnwQ= 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 AM8PR04MB7362.eurprd04.prod.outlook.com (2603:10a6:20b:1c5::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.24; Fri, 2 Jun 2023 05:55:12 +0000 Received: from DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::7b3d:4c2a:1636:da28]) by DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::7b3d:4c2a:1636:da28%6]) with mapi id 15.20.6455.020; Fri, 2 Jun 2023 05:55:12 +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 , Peng Fan Subject: [PATCH 19/30] imx: image-container: Fix container header checking Date: Fri, 2 Jun 2023 14:45:56 +0800 Message-Id: <20230602064607.17222-20-peng.fan@oss.nxp.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230602064607.17222-1-peng.fan@oss.nxp.com> References: <20230602064607.17222-1-peng.fan@oss.nxp.com> X-ClientProxiedBy: SG2PR06CA0194.apcprd06.prod.outlook.com (2603:1096:4:1::26) 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_|AM8PR04MB7362:EE_ X-MS-Office365-Filtering-Correlation-Id: b6f6a365-65d7-4c2c-bfff-08db632dede6 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: YyyYnvqmj7n8LHyg71yvZ+oFLjXHyh2hqGTyZtKFkhWJypMMXnPsnOOzwRAaJURdUo7SiPfrJcUGTN3EzziAC/T4+8Bea+o5Sdg7v4TOrvVoeSGpTtgJaiSZbBIWUzBIF+wecbqXFNF3sbegs3K0dG/v+Rh63LL6SZ0hLfhLvEbbr6jLqs1QF9xOdBw0sVJVfevw4d1gNminz4HzsreBwW5LXoSwUjRIsgzvXMw+ITz6bkNaafIGtMXIvQY8Fd0lorqK5wd85XJUoEfBmpNt+VvuhDRFzU9h6Tg6WvG4fnbc4NTJ2yHE0SYh+N6HWLxOWiNK5esxvhBpFt1AufCohZ47CsHGY69YgLdCu/4RoaerZmXjlT7yrYzim++72Rl74RbUrEsEUU1Y/pw0JQYKlpzkuPyvaALWygxZlRRS0qeMXQqXg5N/R/skxDRskehLvovDIFrA0B7v5kbR/wEdIh+Q1KRcjPHGEn/slji4CqM5iGUuLnqGV4oq5Ul9luquGLynAjdeCoQcYAH7gqb7wz9/yJQRBy+zcwVrYpE3wXsjVaD1yxbxHz/mhRcBT8tvM0sTBdmE05pESpi/t4UkVjXElCzCsmwEqeRQn8ya+eSijNyFjPgCi/CCgxlA8Giw 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:(13230028)(4636009)(346002)(376002)(366004)(39860400002)(396003)(136003)(451199021)(83380400001)(66556008)(66476007)(52116002)(6512007)(1076003)(26005)(6486002)(6666004)(6506007)(478600001)(54906003)(2616005)(186003)(86362001)(2906002)(4744005)(5660300002)(6862004)(8936002)(8676002)(41300700001)(4326008)(66946007)(38350700002)(38100700002)(316002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: VJzWrJzNyG0nK6W/HlMicJ8tup2J4bXOptls/J83uQp57/yu9y+QusZOxbXTFGNP1CwBwGDfqn7aeE1HF9ljSR3sMwXToiFfqdLbO8v/+G6LTC9WwO4uvwOVLhPMwlxCsp7y2gO4CXkuByZuLJs4VHyMFffrhTRgpd5PifmZf/ZlT06vUIXCTjg9KHUtsbC1t0ueBoAO/36AAX19ANKC2uV3hFZgchmLXq7CcUsLUihkzRvJaB6PRllNwpHfcpYNNgKUNZPOGp8gBQk2m6h00llHapa03WcNep/64hV4B/xy9pKrrBIiO4QV0BPWvkJj7mPOjgu+Nk8zhUPJSlxd/9uuTRgPVh3h+lxYwUramlOkq1vRIWPFtTqXyREdS3m+kYPntrziXmekf+XCkKEUypyf4t+p9cLJCXwQRW5ThpLihCG+tCMvCOYZwOtD142SqiKfS9IMho9Lycfo8sATxtpTMmvQ1jcqq0fxK+11My/PLAOZZ+RK9V0SJGZT8/2T4CZHMxxm9pDS8uOKhtVne7hm/fLXCIt0XH4mCR+LflOv/vqDMTHOEo8QQC/wctLM/4CmVYasKKyUbeXvFmGJez5b7GNMm2Rl0XBn0UdDAxWGWfBk+dLC2Z/J5+VhGN0COZ9MeuOA/qOpZvW/zfb+Gj02d+s+vB6/OrYI8QXJML/qms6sXbSXKD9MFdFtZP5w6cqprufaS9/xk4CC87V/eujPQMLMhI0w/gZREWz4cQgyLwdtYly0oaIyd80CCGtSDQ2GokfMQ+FENKIp4JESf1XQ+4iNyXYs/HJqjyK7cI9NmGizenwAIp5bM95nuYDhV/zpnfMvNk0F5zgsv5s5gK7DB6Wa2uyRDtBFBy/C0eTzIVoY8LRYp7+EHKsQUz1fq220KwoOXoh3Wqs8RxvYIVtGJpCKSzsA5KHlZDATpGqGr2KIDTbMzK5va4buQ6q8PRMX/kOCzqLJ4p/KDUJcuWq1SHJsXv8OtMc+FcP5bIr2OBwIMnyKY05UzjWS9XaUVAzyHZBuuZFAWN72pMHTsLGF54naFrEG41XNshKtisGebPkzBisrh9vypcTqO9lRqgmcHHj/lvZaPqDQixECWtsqsWB5hCGEDHpCkU/IhLb2cM6lfg/529A58+4mkbxnPHrTHlIdUAOH5Mkcmes47kOUlnLoLrbp22gYRBLV7eCb2ZsjrRHeuMwmk8yn//noAC0ebmrtFmm9GajmWYiri7dSkqF2EzHjfWoH7IlW5x+yMa6vd5rW5bzP58Ce37um9CVgdT1f5x2g2evBFj2efBNs30N7g9LrQpIQOSATMk7pa6h/PTr+Lbd3YMQBnKrmSJuRLlT+UEDdOC0o5RD9W4TFVq3gXQPQ+F3Rv5qkNVhpkS0AR1pHXecnJjCVE2PrKVP/Lpi5tEBVqkeXxfHgRiwJCuVkQYIS65qbcDEu93OwGiQblLZYH9vOOHo2egEJTBV0bnFEUMkDlLE0AAKV9gVGKci5y+rCodDP0AQnm3Ei1mxa92UmQrb1qW35Ue5NAQG+HV4P9MuRdefvfMXzG1ltP7r2uTOLBgrEnhwivJJ/A55pD72QaRPH+C9VfAfe X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: b6f6a365-65d7-4c2c-bfff-08db632dede6 X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9417.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jun 2023 05:55:12.2074 (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: tDATsuG9/jSX1tBPZcSy9rzPBqzmoeDmwHN/FjUlTPiPWoMkCAxR2ynwbEj90/fEQuNaVFKKNA9bSP1M+T7eMw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7362 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 From: Ye Li Checking container header tag and version is wrong, it causes to fail to bypass invalid container Reviewed-by: Peng Fan Signed-off-by: Ye Li Signed-off-by: Peng Fan --- arch/arm/mach-imx/image-container.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm/mach-imx/image-container.c b/arch/arm/mach-imx/image-container.c index 5b059a64292..745de130630 100644 --- a/arch/arm/mach-imx/image-container.c +++ b/arch/arm/mach-imx/image-container.c @@ -31,7 +31,7 @@ int get_container_size(ulong addr, u16 *header_length) u32 max_offset = 0, img_end; phdr = (struct container_hdr *)addr; - if (phdr->tag != 0x87 && phdr->version != 0x0) { + if (phdr->tag != 0x87 || phdr->version != 0x0) { debug("Wrong container header\n"); return -EFAULT; } From patchwork Fri Jun 2 06:45:57 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: 1789480 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=85.214.62.61; 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=jNRNSEHc; dkim-atps=neutral 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 (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4QXXPq5NM4z20Q4 for ; Fri, 2 Jun 2023 15:59:11 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 4E11F8660C; Fri, 2 Jun 2023 07:55:23 +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="jNRNSEHc"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 75BE4865CE; Fri, 2 Jun 2023 07:55:20 +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=-0.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FORGED_SPF_HELO,SPF_HELO_PASS,T_SCC_BODY_TEXT_LINE, T_SPF_PERMERROR autolearn=no autolearn_force=no version=3.4.2 Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01on0610.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe1e::610]) (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 C4025865F4 for ; Fri, 2 Jun 2023 07:55:17 +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=apSXnERnNMqaKQT96TH7foUmPPMWN6tirmLi7P7ZxSKLKJysA/VVO6rAVGQ/cs9fkC8iFIn8uU9Q/0jBCY/L4upmzBdIsgIWTwOcagjubonMhsB90Sx4fq8d8KCyyOFZ9bP0BMNhcA2/8X0xE6zEMmC0QWFPRIwV/0+xJnIJ7tqyQoxamDEYNfOZRznLi7OWtoBV7mzz4qeCgnxKGz37vSE0Po31jGfxKZfnA3a1j7u+tOUjtzOpmrZGJhG2Q+hUER51839Gw8IQbIn6niFrcWJd6QWlt+fVtpjL+wYhw4Q1Qhe0PVZ+6PMb30vEYNHsywjEVcSgJ1f8b2xFHGWMrA== 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=ZzYI9j2PSUWqHCzD71Z68dxRwyC4rff4J+OCUyKa39Y=; b=K8zlILSKnzRCay019k43o8jYyWC7j/2ZNaMmTCG+ZghDxbySzbvArO+MvhAJ9XL8vMW52WL4XMaAnqPRTlDCTzbJifg/kkfHhi/cxHoY5wdWBaVRrYC6+1cw31qCAx5MIdlsKqQhc8oOsSHmWcUR/KtrfO+VeJER0PfoxOFccfullHN9u6QIlxaHiDtHA1B5Jp2Un5WMM81tWm0DbQ/ouMhmdlwdTwmwFYDnqeVIfu2t1dqXkq25VJASqpiU2DTPpRF+RFmMptSld3SrpvgS0l+HNs8GeXMFXs6wXyyJ+CP/gtvF+GdIyRFDMEQl2zpd6n5g04D9R+44u8BkE7/uXw== 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=ZzYI9j2PSUWqHCzD71Z68dxRwyC4rff4J+OCUyKa39Y=; b=jNRNSEHczm4X+D0N2AkmcENVkuEHzfxibH/eWjTXgPDeMeR6/iZF56qu071ETH9eW5J0OV//gL8mfcrRDKF2R332HV+COwvLD28Rl0Pe5L7FvBhZ+EaBayWk+lShoXk8BJx6R7MVT0D15jS2cZHjY0Aun4l1IxE9FyelFKMsEDM= 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 AM8PR04MB7362.eurprd04.prod.outlook.com (2603:10a6:20b:1c5::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.24; Fri, 2 Jun 2023 05:55:16 +0000 Received: from DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::7b3d:4c2a:1636:da28]) by DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::7b3d:4c2a:1636:da28%6]) with mapi id 15.20.6455.020; Fri, 2 Jun 2023 05:55:16 +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 20/30] imx: iamge-container: support secondary container Date: Fri, 2 Jun 2023 14:45:57 +0800 Message-Id: <20230602064607.17222-21-peng.fan@oss.nxp.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230602064607.17222-1-peng.fan@oss.nxp.com> References: <20230602064607.17222-1-peng.fan@oss.nxp.com> X-ClientProxiedBy: SG2PR06CA0194.apcprd06.prod.outlook.com (2603:1096:4:1::26) 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_|AM8PR04MB7362:EE_ X-MS-Office365-Filtering-Correlation-Id: 512716a3-7c95-4bb6-b972-08db632df01b 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: JpLhuCMChC5Tm9EWfrhc+gIQrT2XIGRl1kjxJpr71F8nWcm4+PcwS5K0blqkPmYrXXjqJXqnTTgz318a5A5kFX0rom4wNFkRHJHv56riLMQvu7LsliyxihHyJGoNI6l9Cal4JPfN/dHgjwMtVQx+4wwDB/iPn1IEon5QaKlemPIaFoOgvrmcHOHZ8FP2NPTvhOmTlP/2Dl4QN2mBda3hjJ3t5jTvqXYitE2VW7UtFz+y6X17cVGNn9NqxC1umH8ekeeYTUH1nUTpQrUzqHFJ94/fLcCQlE9Fu1Yvxx/l0x+AQj5/drypekIbzOKiMQ+hj1EmP+BjTY+/NBSJuXLQC7xYjINM7H1Jq6Xsabwm4JSvY9SOz75zZ3PtJMUc8uzIJWJeY4aOsPvdf0rZduH/E3C+eYT5JQ4Bt1BKCm2u25kFiGr5T86kpz3RNMDlbDFtXIDIV0gkDRDsx0w5ciafWhRalhIPdVYY2Os7cZq5tkeljGtBRWXERZJU4+CV8x26TbXhgnXV1eekUGPwWXTU42R1GG4w/6OWM8+0ID4AWLv1TunxeRZ2sBqjvW1dTr27rR1uKmRhgbcZSIfOcTtODL+4YI3jZ8iwCaC5jM/UujcgjieAnA+dJseZrUZs94Yl 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:(13230028)(4636009)(346002)(376002)(366004)(39860400002)(396003)(136003)(451199021)(83380400001)(66556008)(66476007)(52116002)(6512007)(1076003)(26005)(6486002)(6666004)(6506007)(478600001)(2616005)(186003)(86362001)(2906002)(5660300002)(6862004)(8936002)(8676002)(41300700001)(4326008)(66946007)(38350700002)(38100700002)(316002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: ArTu0LD17c1VAcPiG4Nzv/lCLodAfD7CXKAG6h/oxfyI7bmC6zeonC41JDdvjAvCDBbCqmNuOxqOZAZK9XvxeK5xhwH3hPeqhsCg5W0WxJNtqmGP+T7UOboSN6abO+J+1nkgIu19b54MCL8FP2lU7iV763vL4E29x/u3M8uECewEJnGCjJaB+wmuMDFs6ZhjAgXrk71hbCcOtn2Y7EbdYh4soS4w09ptTMu3aaJdShOWtkE98w3TdHPUbB0F/YiHDerYsd2J5WDBCYxqYyuVDV5Le/ibreM6oiHMyA7A5c58QPvM/D1twImMXOoG3JMvlL1ccjYo2g7s9w9TCXMGr3tPJrPRh4Pi/m02ksfvZsKhNMa7hroUCppEl/eljTzoz8FMgIxYGxW3HqnYUh1KETKMcpw0wyiPi9HIhRpcfD4SUxLRq1juUF5Q/8NKEu6xuvKV4WuxkqfGjmAv52hYjHYKpfsyC17Un7leDGbPhBRXZK/Py5EbbvGxs56RYAWjkIgGm+A6tc8vAdWs0uln/X4kfnRyGLj3cwfWflr48PMy9AAKp/+e349o3hp5mjSOjCjeyo80Vep28xJjcDehoS/roCCwugq+cL75nG1GPqk5T7HPSbRYrMKChmeHYkPf14WeRmi+0J/xN02kTKv3vONDk5UB89kOqHTb4Oz+w0CT6j/iTvWZ7EHA20FcULoziX/2ozoa05KoJ7CP4dMoWp/0EDovEpqltIOvHePZ3JEa2Zf4UjgiLk3KhMSR0VQ1ZbpIk5/GXRsv3Hg9sW2ctA7T8aILLplFaIHf1kPDD7fxtlaQxUPuY2o9Z8The7Bz8D420JVG0q89Dn4bP+9CPaLL4LQvz2vnLwnuWxQ4Xhg5+pWjqYWR7qW2Iq1LfUtDSI2vQDZYQ2KaCK9GlVjYmFWLeH8iHwV61fWyIkrY70hen1yKcjg3tYQW9fVenAmOWa3Jue/jyy8zGIYWW8GIc+nkWFPcnhjsZKHX253iCut8kWMXRRZFreyJFhm4X/SuYSIRzQaAm9wTmRzuHQ13za+qQ13etUytjZ675xoD6XHapGF+KCoqIf6Vr81TBEvBgFSzKHCnfkjq+0NJRBgaT9kyPa6SrSQKwpe7j9bvirwugzu0HI3xYJ/OH7yAX0qHScP5GKfQZe0mJMkt3d15MyMH9AP8toUADZk+1aEsCy0Nwj47ZD3ph6WIYvh6Nli+dX+x+yNcUI9t/5YedPvVELH+97lfXArztvakplLjGHSrr9b6sHnL2HQvj9+f21lFJ3HayQe1VbhmyFfVjVqcpMzteF4MuyehZu7m0zqTxQ+fNKD6zcd16HoFNKcax+c+VO3hi/wfpEXDx98cc6thDQz49L4kB3JYfZR8r/1erl/wgObBFmCgJ3KQOj9y3j/1JnuCcRsxADlBztBRuwLs2gBm0BAVhwW3+zmz4loqcssQWMi16b1yu2WOX6qKW5IV7TbZSqpEdiA8w5349bGsuOCaOvYrd1pWTiJbsX+N4P0UNEi2QaBBLggTk6hDXdhyT5RUcsZpSEC5H0EFjSKD7NSIuog/h0lDQu8DrgTBu+r+22gQsx1CncB+Lif2bVRY X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 512716a3-7c95-4bb6-b972-08db632df01b X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9417.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jun 2023 05:55:15.9327 (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: UY3Njm2fOTEVL384KKggn9dCuZFPHgTPfE7l5mSCD0rf2r8OhByqN9vTJwhfzerdXrNXSPaSVjqI1g09iRHjmg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7362 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 From: Peng Fan Add the support for loading image from secondary container set on iMX8QM B0, iMX8QXP C0. Using the SCFW API to get container set index, if it is the secondary boot, get the offset from fuse and apply to offset of current container set beginning for loading. Also override the emmc boot partition to check secondary boot and switch to the other boot part. This patch is modified from NXP downstream: imx8: Fix the fuse used by secondary container offset imx: container: Skip container set check for ROM API imx8: spl: Support booting from secondary container set Signed-off-by: Ye Li Signed-off-by: Peng Fan --- arch/arm/mach-imx/image-container.c | 94 ++++++++++++++++++++++++++--- 1 file changed, 87 insertions(+), 7 deletions(-) diff --git a/arch/arm/mach-imx/image-container.c b/arch/arm/mach-imx/image-container.c index 745de130630..5f188ab32d1 100644 --- a/arch/arm/mach-imx/image-container.c +++ b/arch/arm/mach-imx/image-container.c @@ -22,6 +22,25 @@ #define QSPI_NOR_DEV 3 #define ROM_API_DEV 4 +/* The unit of second image offset number which provision by the fuse bits */ +#define SND_IMG_OFF_UNIT (0x100000UL) + +/* + * If num = 0, off = (2 ^ 2) * 1MB + * else If num = 2, off = (2 ^ 0) * 1MB + * else off = (2 ^ num) * 1MB + */ +#define SND_IMG_NUM_TO_OFF(num) \ + ((1UL << ((0 == (num)) ? 2 : (2 == (num)) ? 0 : (num))) * SND_IMG_OFF_UNIT) + +#define GET_SND_IMG_NUM(fuse) (((fuse) >> 24) & 0x1F) + +#if defined(CONFIG_IMX8QM) +#define FUSE_IMG_SET_OFF_WORD 464 +#elif defined(CONFIG_IMX8QXP) +#define FUSE_IMG_SET_OFF_WORD 720 +#endif + int get_container_size(ulong addr, u16 *header_length) { struct container_hdr *phdr; @@ -136,15 +155,53 @@ static int get_dev_container_size(void *dev, int dev_type, unsigned long offset, return ret; } +static bool check_secondary_cnt_set(unsigned long *set_off) +{ +#if IS_ENABLED(CONFIG_ARCH_IMX8) + int ret; + u8 set_id = 1; + u32 fuse_val = 0; + + if (!(is_imx8qxp() && is_soc_rev(CHIP_REV_B))) { + ret = sc_misc_get_boot_container(-1, &set_id); + if (ret) + return false; + /* Secondary boot */ + if (set_id == 2) { + ret = sc_misc_otp_fuse_read(-1, FUSE_IMG_SET_OFF_WORD, &fuse_val); + if (!ret) { + if (set_off) + *set_off = SND_IMG_NUM_TO_OFF(GET_SND_IMG_NUM(fuse_val)); + return true; + } + } + } +#endif + + return false; +} + static unsigned long get_boot_device_offset(void *dev, int dev_type) { - unsigned long offset = 0; + unsigned long offset = 0, sec_set_off = 0; + bool sec_boot = false; + + if (dev_type == ROM_API_DEV) { + offset = (unsigned long)dev; + return offset; + } + + sec_boot = check_secondary_cnt_set(&sec_set_off); + if (sec_boot) + printf("Secondary set selected\n"); + else + printf("Primary set selected\n"); if (dev_type == MMC_DEV) { struct mmc *mmc = (struct mmc *)dev; if (IS_SD(mmc) || mmc->part_config == MMCPART_NOAVAILABLE) { - offset = CONTAINER_HDR_MMCSD_OFFSET; + offset = sec_boot ? sec_set_off : CONTAINER_HDR_MMCSD_OFFSET; } else { u8 part = EXT_CSD_EXTRACT_BOOT_PART(mmc->part_config); @@ -154,19 +211,23 @@ static unsigned long get_boot_device_offset(void *dev, int dev_type) else offset = CONTAINER_HDR_EMMC_OFFSET; } else { - offset = CONTAINER_HDR_MMCSD_OFFSET; + offset = sec_boot ? sec_set_off : CONTAINER_HDR_MMCSD_OFFSET; } } } else if (dev_type == QSPI_DEV) { - offset = CONTAINER_HDR_QSPI_OFFSET; + offset = sec_boot ? (sec_set_off + CONTAINER_HDR_QSPI_OFFSET) : + CONTAINER_HDR_QSPI_OFFSET; } else if (dev_type == NAND_DEV) { - offset = CONTAINER_HDR_NAND_OFFSET; + offset = sec_boot ? (sec_set_off + CONTAINER_HDR_NAND_OFFSET) : + CONTAINER_HDR_NAND_OFFSET; } else if (dev_type == QSPI_NOR_DEV) { offset = CONTAINER_HDR_QSPI_OFFSET + 0x08000000; - } else if (dev_type == ROM_API_DEV) { - offset = (unsigned long)dev; + } else { + printf("Not supported dev_type: %d\n", dev_type); } + debug("container set offset 0x%lx\n", offset); + return offset; } @@ -227,6 +288,25 @@ unsigned long spl_mmc_get_uboot_raw_sector(struct mmc *mmc, return end / mmc->read_bl_len; } + +int spl_mmc_emmc_boot_partition(struct mmc *mmc) +{ + int part; + + part = EXT_CSD_EXTRACT_BOOT_PART(mmc->part_config); + if (part == 1 || part == 2) { + unsigned long sec_set_off = 0; + bool sec_boot = false; + + sec_boot = check_secondary_cnt_set(&sec_set_off); + if (sec_boot) + part = (part == 1) ? 2 : 1; + } else if (part == 7) { + part = 0; + } + + return part; +} #endif #ifdef CONFIG_SPL_NAND_SUPPORT From patchwork Fri Jun 2 06:45:58 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: 1789481 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=dMW39cyP; 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 4QXXQ44r4pz20Q4 for ; Fri, 2 Jun 2023 15:59:24 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 3116286611; Fri, 2 Jun 2023 07:55:26 +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="dMW39cyP"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 369068660F; Fri, 2 Jun 2023 07:55:24 +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=-0.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FORGED_SPF_HELO,SPF_HELO_PASS,T_SCC_BODY_TEXT_LINE, T_SPF_PERMERROR autolearn=no autolearn_force=no version=3.4.2 Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01on0621.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe1e::621]) (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 90D2F86607 for ; Fri, 2 Jun 2023 07:55:21 +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=mX6LtTwGafVcmUxaRg16oVKZSJcs581i4ArrmfkR3Iq3h4Hpg0t+bDUjRw8dgV1kuhojtOl9HTlXiudhQPXWg8/L+ycQInlgVDH1DuTNpw3d7wyrGu+MfPj8JvQPjv6tGQp9ZQFWCrCuRBoamF9BOXA7O/NzdUU8rqx+VW2+074sPEOq0SnqW8pM/jeABI8+bcjciV+80GAAGOSWADwF2qf+Ki9JgrFVV0qIypaIr+MWJByrihxiEOf+prQdPALrj3fVnDol3OdQyHEJSXmp6HGayvQq8e7+nywYKdNrsMjrTuJ7GgZlCFEAwRfoNbm45bQ6L8QpufIZ2+kmTteqtw== 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=nU3o9eQ8GpeHLCdhWojimFn3nE6nds/LilTHcc9U3sw=; b=QQTTqI0tRb0o9Tc/dVF2ikd7Jg9YjzmycLcDgdHkhUjDpZsu13/0LOR6HRQaSHbZugk2JPpjl5GDdou6RDaeswbIscQeEVYb6oAc9YvsF+4c2WE4KGrBbbkmWUtZdbkak1ThgEIG4RsFosTB30UFztVS6SsAeSN+XtbRUx4Dc8VXkpiPwkna4fuIQOV0N7NeiK26zhejELsW+kMiusE5tYx0wYSO2elIVZ0+TIrdNfFUACLWkjm61vQOiJoo/HBNWPbaeAGeDqvP/rcALUCwd//qPWhVgDO576oe9mJ/zp+2SEbhgf1ccvcr3QYcbUyiet8l4PmB9BxKM510yoCrdg== 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=nU3o9eQ8GpeHLCdhWojimFn3nE6nds/LilTHcc9U3sw=; b=dMW39cyPm7YUCgxylUG3va7Iql73qaEgPk6h+QK8Cat/AU20Kaz7erbI+R591lPpvSRJ0pq/JAPCTvQFni+cKtttZk66QigGClFjou2KFynAnHaa+1AXDqNtQJ7yHJBXqqipbsWr0fYTcDqt/anpBtH0nmKS7w2GuHA0HLmZKXE= 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 AM8PR04MB7362.eurprd04.prod.outlook.com (2603:10a6:20b:1c5::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.24; Fri, 2 Jun 2023 05:55:19 +0000 Received: from DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::7b3d:4c2a:1636:da28]) by DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::7b3d:4c2a:1636:da28%6]) with mapi id 15.20.6455.020; Fri, 2 Jun 2023 05:55:19 +0000 From: "Peng Fan (OSS)" To: sbabic@denx.de, festevam@gmail.com, "NXP i.MX U-Boot Team" , Frieder Schrempf , Marek Vasut Cc: u-boot@lists.denx.de, Peng Fan Subject: [PATCH 21/30] imx: bootaux: change names of MACROs used to boot MCU on iMX devices Date: Fri, 2 Jun 2023 14:45:58 +0800 Message-Id: <20230602064607.17222-22-peng.fan@oss.nxp.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230602064607.17222-1-peng.fan@oss.nxp.com> References: <20230602064607.17222-1-peng.fan@oss.nxp.com> X-ClientProxiedBy: SG2PR06CA0194.apcprd06.prod.outlook.com (2603:1096:4:1::26) 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_|AM8PR04MB7362:EE_ X-MS-Office365-Filtering-Correlation-Id: 4ddfe25e-5bcd-4832-98a8-08db632df25c 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: Lzzw3hGGXDY7Psfn4b00AGAnYTIvH1AsJAwqiFsAVIrc4I0Exf3icKmr68UKFd1T0cFd7Ptkfn1tq/6Mmwe4vpogUHW+c1BaO7vI6SvWIuleAGm3AVr3e9uiKCymCJqZXXOto/wU48doe7qCKMzFrriSWVcB5CqWlNhByrMBto0WYK9ZVLHRejFPi0DopXcTer7yLhmSbxpLSQtghcP6fbOIg/M6ijOpZKRNWhGhe6KaFESPd8Q1/5RTcnUuEus+doE4tAkBv44jF3ipgLvhLAGUHU+x99eNoaq/v5Wxrp2doslEhAr4YfRRQ2R7sNMdYEmLpc0xZMNMXy68ojFZEXyKJv0tOJ7Mc5Sf/e/fZHF1Mq5QPnJYb4WztNVWC77PZUC+ySYAZbta+BmuploMZcfRFcvicjFI3ar7j/TWurxNRV9F0rfgScbocBGTHERgIxE8g+YCFZltXOOPAHLHRxdQx2hLrE4PCHvVGjEdYojgmlWX1/f9Al9ZQ3DPF8B3fq2xDwUF5Vkky2Xp9ksdKtPZ3xgrZ/Frw3bkxsNWbVupKn3RQfNjkfvBMA+mV7BUh9PIY9bCd5ad4P+4C5mGBgAvi5g23kA5M8UW24PlaK03I8T5fgkKFUSBMS+9SQg9 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:(13230028)(4636009)(346002)(376002)(366004)(39860400002)(396003)(136003)(451199021)(83380400001)(66556008)(66476007)(52116002)(6512007)(1076003)(26005)(6486002)(6666004)(6506007)(478600001)(2616005)(110136005)(186003)(86362001)(2906002)(5660300002)(8936002)(8676002)(41300700001)(4326008)(66946007)(38350700002)(38100700002)(316002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: /meKh0n/Nzurv3cZEzGpEGA+sysUAJ5YY3yZ9PmjennoEUwpTbCkz9lu79gR2j71+cWtDc38CxCVvfqWtYhaKoLp+LoqR56Rk6ocvtyEM11xsnfrSO9pUB42m6vQPHWgF/iGjKKEj0x84oIxj7wGBPRHoylSPuT1rCGOfw9CLTOh2BcutkaOWP+nFw9OzIuU2SZoYlexBjAsTFYHHegao8Fbxx8B8ys47ZPHAOn1jUtN6tBS9bqyLClU9HLu5+8m4Hr7NVFRYOzQSsfovSMSeG++QKouHL76VoLozvnLocEEHhPRPrcoFoTArCNV8kYDEvEH1LqN+zZpr/XjUsJ3jUpjZxNc3n47P1wfSwodPaeuXMe/gThtzMxnxcM+M3jFU1mUiYnzGY0qpgjdZJQaChFHHs++qbGxm+lUS2a1V2O2vr9XbvGcFdjQCmnS8quK9q/prGcW32ZT1nSYdcL/gWJsOt88RM2ncnqXJiq4Hh0fr+P5EZ2yFVUO4RELYkv3vFeKnWd3+7Xz6Hi8XhHzy+u/Q49Sy+ubt63wINk9P1Wbh/0QGDopHo0yLK0V8RkAC1lS6WUTcbcLdWjS8NBmjrJi5QHsHAVHanDdAYTzkRShRe3dBqdbsZMGH5BZzSLylELe/NjN1vF9QGhPiock0IDOkgYCZm1t+kfvlkVg50fSXbNfVKlxsf/bqtehYHVPlN0G8WHBDxP4xMb5HilnXLKu5C5iKMVkBY4pWkmEV/I9xmFY+uJYgS/F2oVkmW4McyFVDMyyYoT6iUkq7Qsw0jcxCliI17etqRo05cpykQvTAY+mSwnEsTU7SsPm9De7u/yRoPFFIisDZcJPPM2q7dXIGLvioGknbeMEt4frFKFwwpeMW/Wxx3T+HN2x7rLmtn6bOYzkYC/z/3c3j5KoL1E8Y96vfjpclSabUwDFuJb0N5VtMZZHkj8xWj7WnLqi9v1f1dAe15FLdaV87B2LmfV8zxikGUskfQgL8ZvqjMjIftRlOKtGwloAKcrofIeH+kFAYxYpEvKkyTMK5nSba558ZO4uTSuqjA4gyQJvhH3UXgoHFLnmYsyJYiws54hUExCJulusl7YTJF6fZWDgmq2aMyy0wWOQ0S4g6Rj4GicxebpzaKFJUKL2DKfZutJdoFbxmYxuQtiwsRnMMlABsVOPgirm9Wjq9Zh1J+i5SqIG3ui1VMkqm9bb9ZWdKTUjwunmnn2MsGtqqGshqHp3vB7zhkago4Zkb1ZmnMmoDNS2oWInAySniKJn5IgXz24cpZfg+xNUkiATXJlcw22zckfEBh+Pn9gK6+4PqF8kTang3W/CAFGqAGyipXdZvRrkt0XqDeSv+B5lJsT/agS/C8+ACEWWQbN3xhAJ/zUIRIQvxIZ5yHgm6/vVV1WVvFzV85xKsk4TVCJcp1bdHUf2DJ0bvvOncgiGvF2x5YmTLm9tXe4Q+2ixyMktyTDtycto35QTyWJKSZJioamUgQBDhX6tUCyKjoiIwjvUg6/3oR3Qm+mox70BVhVAuGB0ZsZ5MEnSJ2zVJIQoQL49iXtbDRNcNMhlsWh/+HoqKnF4MQmoYFsaIWdjtwePYCZMuVAN X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4ddfe25e-5bcd-4832-98a8-08db632df25c X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9417.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jun 2023 05:55:19.6663 (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: tu2y/8kMYzo3CJ5YIRms5KFfjVm15MBPBbZpDjc+H3qYGQqlmhZYQeKirepMzX0ST5iKnrsBiS2gHKgQaEfcqQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7362 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 From: Peng Fan i.MX8MN/P has Cortex-M7, i.MX93 has Cortex-M33, so use "M4" is a bit misleading, so update the name of the macro Signed-off-by: faqiang.zhu Signed-off-by: Peng Fan --- arch/arm/include/asm/arch-imx8m/imx-regs.h | 2 +- arch/arm/include/asm/arch-mx6/imx-regs.h | 2 +- arch/arm/include/asm/arch-mx7/imx-regs.h | 2 +- arch/arm/mach-imx/imx9/imx_bootaux.c | 6 +++--- arch/arm/mach-imx/imx_bootaux.c | 24 +++++++++++----------- board/kontron/sl-mx8mm/sl-mx8mm.c | 2 +- board/kontron/sl-mx8mm/spl.c | 2 +- board/technexion/pico-imx8mq/pico-imx8mq.c | 2 +- board/technexion/pico-imx8mq/spl.c | 2 +- include/imx_sip.h | 6 +++--- 10 files changed, 25 insertions(+), 25 deletions(-) diff --git a/arch/arm/include/asm/arch-imx8m/imx-regs.h b/arch/arm/include/asm/arch-imx8m/imx-regs.h index 6e2fc82a0e4..8632eddb530 100644 --- a/arch/arm/include/asm/arch-imx8m/imx-regs.h +++ b/arch/arm/include/asm/arch-imx8m/imx-regs.h @@ -13,7 +13,7 @@ #define ROM_VERSION_A0 IS_ENABLED(CONFIG_IMX8MQ) ? 0x800 : 0x800 #define ROM_VERSION_B0 IS_ENABLED(CONFIG_IMX8MQ) ? 0x83C : 0x800 -#define M4_BOOTROM_BASE_ADDR 0x007E0000 +#define MCU_BOOTROM_BASE_ADDR 0x007E0000 #define GPIO1_BASE_ADDR 0X30200000 #define GPIO2_BASE_ADDR 0x30210000 diff --git a/arch/arm/include/asm/arch-mx6/imx-regs.h b/arch/arm/include/asm/arch-mx6/imx-regs.h index 72944af18a4..8fd3dd2df3a 100644 --- a/arch/arm/include/asm/arch-mx6/imx-regs.h +++ b/arch/arm/include/asm/arch-mx6/imx-regs.h @@ -23,7 +23,7 @@ #define GPU_ARB_END_ADDR 0x01803FFF #define APBH_DMA_ARB_BASE_ADDR 0x01804000 #define APBH_DMA_ARB_END_ADDR 0x0180BFFF -#define M4_BOOTROM_BASE_ADDR 0x007F8000 +#define MCU_BOOTROM_BASE_ADDR 0x007F8000 #elif !defined(CONFIG_MX6SLL) #define CAAM_ARB_BASE_ADDR 0x00100000 diff --git a/arch/arm/include/asm/arch-mx7/imx-regs.h b/arch/arm/include/asm/arch-mx7/imx-regs.h index c863cd9da36..6f5ae5173c0 100644 --- a/arch/arm/include/asm/arch-mx7/imx-regs.h +++ b/arch/arm/include/asm/arch-mx7/imx-regs.h @@ -18,7 +18,7 @@ #define GIC400_ARB_END_ADDR 0x31007FFF #define APBH_DMA_ARB_BASE_ADDR 0x33000000 #define APBH_DMA_ARB_END_ADDR 0x33007FFF -#define M4_BOOTROM_BASE_ADDR 0x00180000 +#define MCU_BOOTROM_BASE_ADDR 0x00180000 #define MXS_APBH_BASE APBH_DMA_ARB_BASE_ADDR #define MXS_GPMI_BASE (APBH_DMA_ARB_BASE_ADDR + 0x02000) diff --git a/arch/arm/mach-imx/imx9/imx_bootaux.c b/arch/arm/mach-imx/imx9/imx_bootaux.c index 256e6fa1c54..6afb59e0515 100644 --- a/arch/arm/mach-imx/imx9/imx_bootaux.c +++ b/arch/arm/mach-imx/imx9/imx_bootaux.c @@ -13,7 +13,7 @@ int arch_auxiliary_core_check_up(u32 core_id) { struct arm_smccc_res res; - arm_smccc_smc(IMX_SIP_SRC, IMX_SIP_SRC_M4_STARTED, 0, 0, + arm_smccc_smc(IMX_SIP_SRC, IMX_SIP_SRC_MCU_STARTED, 0, 0, 0, 0, 0, 0, &res); return res.a0; @@ -25,7 +25,7 @@ int arch_auxiliary_core_down(u32 core_id) printf("## Stopping auxiliary core\n"); - arm_smccc_smc(IMX_SIP_SRC, IMX_SIP_SRC_M4_STOP, 0, 0, + arm_smccc_smc(IMX_SIP_SRC, IMX_SIP_SRC_MCU_STOP, 0, 0, 0, 0, 0, 0, &res); return 0; @@ -40,7 +40,7 @@ int arch_auxiliary_core_up(u32 core_id, ulong addr) printf("## Starting auxiliary core addr = 0x%08lX...\n", addr); - arm_smccc_smc(IMX_SIP_SRC, IMX_SIP_SRC_M4_START, addr, 0, + arm_smccc_smc(IMX_SIP_SRC, IMX_SIP_SRC_MCU_START, addr, 0, 0, 0, 0, 0, &res); return 0; diff --git a/arch/arm/mach-imx/imx_bootaux.c b/arch/arm/mach-imx/imx_bootaux.c index 888c53d6901..2b97aae3a23 100644 --- a/arch/arm/mach-imx/imx_bootaux.c +++ b/arch/arm/mach-imx/imx_bootaux.c @@ -124,15 +124,15 @@ int arch_auxiliary_core_up(u32 core_id, ulong addr) printf("## Starting auxiliary core stack = 0x%08lX, pc = 0x%08lX...\n", stack, pc); - /* Set the stack and pc to M4 bootROM */ - writel(stack, M4_BOOTROM_BASE_ADDR); - writel(pc, M4_BOOTROM_BASE_ADDR + 4); + /* Set the stack and pc to MCU bootROM */ + writel(stack, MCU_BOOTROM_BASE_ADDR); + writel(pc, MCU_BOOTROM_BASE_ADDR + 4); flush_dcache_all(); - /* Enable M4 */ + /* Enable MCU */ if (IS_ENABLED(CONFIG_IMX8M)) { - arm_smccc_smc(IMX_SIP_SRC, IMX_SIP_SRC_M4_START, 0, 0, 0, 0, 0, 0, NULL); + arm_smccc_smc(IMX_SIP_SRC, IMX_SIP_SRC_MCU_START, 0, 0, 0, 0, 0, 0, NULL); } else { clrsetbits_le32(SRC_BASE_ADDR + SRC_M4_REG_OFFSET, SRC_M4C_NON_SCLR_RST_MASK, SRC_M4_ENABLE_MASK); @@ -147,7 +147,7 @@ int arch_auxiliary_core_check_up(u32 core_id) unsigned int val; if (IS_ENABLED(CONFIG_IMX8M)) { - arm_smccc_smc(IMX_SIP_SRC, IMX_SIP_SRC_M4_STARTED, 0, 0, 0, 0, 0, 0, &res); + arm_smccc_smc(IMX_SIP_SRC, IMX_SIP_SRC_MCU_STARTED, 0, 0, 0, 0, 0, 0, &res); return res.a0; } @@ -164,13 +164,13 @@ int arch_auxiliary_core_check_up(u32 core_id) * the reset vector at the head for the image, with SP and PC * as the first two words. * - * Per the cortex-M reference manual, the reset vector of M4 needs - * to exist at 0x0 (TCMUL). The PC and SP are the first two addresses - * of that vector. So to boot M4, the A core must build the M4's reset + * Per the cortex-M reference manual, the reset vector of M4/M7 needs + * to exist at 0x0 (TCMUL/IDTCM). The PC and SP are the first two addresses + * of that vector. So to boot M4/M7, the A core must build the M4/M7's reset * vector with getting the PC and SP from image and filling them to - * TCMUL. When M4 is kicked, it will load the PC and SP by itself. - * The TCMUL is mapped to (M4_BOOTROM_BASE_ADDR) at A core side for - * accessing the M4 TCMUL. + * TCMUL/IDTCM. When M4/M7 is kicked, it will load the PC and SP by itself. + * The TCMUL/IDTCM is mapped to (MCU_BOOTROM_BASE_ADDR) at A core side for + * accessing the M4/M7 TCMUL/IDTCM. */ static int do_bootaux(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) diff --git a/board/kontron/sl-mx8mm/sl-mx8mm.c b/board/kontron/sl-mx8mm/sl-mx8mm.c index 250195694ba..f0c95d17b1a 100644 --- a/board/kontron/sl-mx8mm/sl-mx8mm.c +++ b/board/kontron/sl-mx8mm/sl-mx8mm.c @@ -37,7 +37,7 @@ u8 num_image_type_guids = ARRAY_SIZE(fw_images); int board_phys_sdram_size(phys_size_t *size) { - u32 ddr_size = readl(M4_BOOTROM_BASE_ADDR); + u32 ddr_size = readl(MCU_BOOTROM_BASE_ADDR); if (ddr_size == 4) { *size = 0x100000000; diff --git a/board/kontron/sl-mx8mm/spl.c b/board/kontron/sl-mx8mm/spl.c index 3a919d0a9c3..b49373442a2 100644 --- a/board/kontron/sl-mx8mm/spl.c +++ b/board/kontron/sl-mx8mm/spl.c @@ -106,7 +106,7 @@ static void spl_dram_init(void) } gd->ram_size = size; - writel(size, M4_BOOTROM_BASE_ADDR); + writel(size, MCU_BOOTROM_BASE_ADDR); } int do_board_detect(void) diff --git a/board/technexion/pico-imx8mq/pico-imx8mq.c b/board/technexion/pico-imx8mq/pico-imx8mq.c index 951e3e1985b..2be3206f78a 100644 --- a/board/technexion/pico-imx8mq/pico-imx8mq.c +++ b/board/technexion/pico-imx8mq/pico-imx8mq.c @@ -54,7 +54,7 @@ int board_early_init_f(void) int board_phys_sdram_size(phys_size_t *size) { - int ddr_size = readl(M4_BOOTROM_BASE_ADDR); + int ddr_size = readl(MCU_BOOTROM_BASE_ADDR); if (ddr_size == 0x4) { *size = 0x100000000; diff --git a/board/technexion/pico-imx8mq/spl.c b/board/technexion/pico-imx8mq/spl.c index 8b853a914e8..2afb4d37608 100644 --- a/board/technexion/pico-imx8mq/spl.c +++ b/board/technexion/pico-imx8mq/spl.c @@ -89,7 +89,7 @@ static void spl_dram_init(void) printf("%s: LPDDR4 %d GiB\n", __func__, size); ddr_init(dram_timing); - writel(size, M4_BOOTROM_BASE_ADDR); + writel(size, MCU_BOOTROM_BASE_ADDR); } #define USDHC2_CD_GPIO IMX_GPIO_NR(2, 12) diff --git a/include/imx_sip.h b/include/imx_sip.h index 1b873f231be..54317f20427 100644 --- a/include/imx_sip.h +++ b/include/imx_sip.h @@ -13,8 +13,8 @@ #define IMX_SIP_BUILDINFO_GET_COMMITHASH 0x00 #define IMX_SIP_SRC 0xC2000005 -#define IMX_SIP_SRC_M4_START 0x00 -#define IMX_SIP_SRC_M4_STARTED 0x01 -#define IMX_SIP_SRC_M4_STOP 0x02 +#define IMX_SIP_SRC_MCU_START 0x00 +#define IMX_SIP_SRC_MCU_STARTED 0x01 +#define IMX_SIP_SRC_MCU_STOP 0x02 #endif From patchwork Fri Jun 2 06:45:59 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: 1789482 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=XCMzo7Da; 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 4QXXQL333Lz20Q4 for ; Fri, 2 Jun 2023 15:59:38 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id DFD168661F; Fri, 2 Jun 2023 07:55:28 +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="XCMzo7Da"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 4078786617; Fri, 2 Jun 2023 07:55:27 +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=-0.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FORGED_SPF_HELO,SPF_HELO_PASS,T_SCC_BODY_TEXT_LINE, T_SPF_PERMERROR autolearn=no autolearn_force=no version=3.4.2 Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01on0600.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe1e::600]) (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 03DBC865FE for ; Fri, 2 Jun 2023 07:55:25 +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=fDWAoTNp+dzho+LSgvh0IQH+l2KyAIPnTCa5XlHmJarsWbXQOhSBIX8H+ukYG43nBFb38UmbNaJt+H3427nZ6fO1QgeLDOv5yaIJ1Pgq4bYzAI+biMRaSf7TZIW/+BvgzwEAvEL/aRIfqhadsdHzqBbP+gQCGTvdzb8OQ8VvvtEh/gdT/HRtZjXQUlklFA45ZojRZrS0ttuDZ+LLWGhBQgDROV5MpAYNaWyMHAoLQ06TKcA/cuwYsGczkYVMbZjsvSKbBFumhFCAk/NnlZYGCMysenCldaB9yd+PQ9Yp3Ug7v4003o0liXdLd1Ic3n8X+xU+pO/nEGmwNgahJ9tfmA== 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=EndQUb50ojZyso27U+nGWV1YVVSzyBmS2xM/loqsN8g=; b=hb+BCvaAfsFbI7YbaDBZXBgTUkNwcpOcUDIJX2hOw4k5WoQ17R2iH1bUt4XIGXnMsgxakXzzMGMd96DX9mJH0llfTBeNLDZ5OqmeIOE4Pjlq7zVFqRt5RQnHQ2UuGFnO4didFH4XaZ54mZpNeak3QpUltEiDYeGyy7TzCp4z84H/wqdHcNVklyrmivvYQf0xF0A7M4ZmIyHtdMpxznave8gmZf/wbaybBt2uMC7+L+AIAqlyXE1/3DcCGpuyoX30en3fGxoxc4UFLoICJkC18bOBM+klW8YyvlsrMxiUo3UCgdV7f1BapylY1DV++eYusHPujsNdxdgLbMCho5diRw== 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=EndQUb50ojZyso27U+nGWV1YVVSzyBmS2xM/loqsN8g=; b=XCMzo7DaYvJuJRi9al7Gbtw43Pstf3/5djIkAVr8MoPrIKwdRNh0iCjjpUwXmOf+lwLN+vXYoYFZ5DtiAZaCmLz0pVDYEVfbkc1MMSSocIQ2TG7SI5AbvI6CSEowCMZbScH+XQbWvEwiK8Zsulu81M+83a3IeOuYQcjk/9qX4Wo= 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 AM8PR04MB7362.eurprd04.prod.outlook.com (2603:10a6:20b:1c5::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.24; Fri, 2 Jun 2023 05:55:23 +0000 Received: from DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::7b3d:4c2a:1636:da28]) by DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::7b3d:4c2a:1636:da28%6]) with mapi id 15.20.6455.020; Fri, 2 Jun 2023 05:55:23 +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 , Peng Fan Subject: [PATCH 22/30] imx: bootaux: Fix bootaux issue when running on ARM64 Date: Fri, 2 Jun 2023 14:45:59 +0800 Message-Id: <20230602064607.17222-23-peng.fan@oss.nxp.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230602064607.17222-1-peng.fan@oss.nxp.com> References: <20230602064607.17222-1-peng.fan@oss.nxp.com> X-ClientProxiedBy: SG2PR06CA0194.apcprd06.prod.outlook.com (2603:1096:4:1::26) 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_|AM8PR04MB7362:EE_ X-MS-Office365-Filtering-Correlation-Id: 1f5333dd-7d1d-46f7-b368-08db632df498 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: YvVVcl8MEr5DbUXUvlT0uK+1yb7GL0t5jkp5OJt9zCyGN3JHVTaaizWB0erH+Sx1VFRnCuxyyXIStt5woZAvdOfE862NXYlzLAa0rLO23yuzlBBcURvIx3F7US3o1GegyMn1UyZXrHZfB+OLFAY6jeZHt//GGkLV0MBQv7wDzKC7lAIxK1mmsiH9wPEdNSRAKqf2IZcErkoSyLb2FGYLpgaEjSfZmUHARpdiLEOv5XFj5qEbunlktYyz36gi6sfgIHXullXhgXQxmfbeMo4uaxuJ6gRhXT8Wlpy6OdlR9r0hRuX4aCHjCugqV4Lniqe8dMONt708XApFKGMOuhZ3tCYD9+nSFn8ZkdyE6P+gdPOfgk/RCtWMlnt6e92X1x6lOvRzPjgc+8cLaoKWKmxLBuFvX70MJK+wpxUlo93Js9qp+90jSaHizULURFDtHH1UkSDNZ2+N+KgZ9UJCCXikuJOHI8IAIHFGeEh/baZzcTCYNGZ/FKMbTX65qzksVIpmnMdvO3BJLtDizTu70du/bac8+Bs9/iZ+h6av6DX17XAw374WTLEvyRs7iSMtuVla9eMA4fwSP+IGK0CgsjGVfjeSafcc9xHemZUjKWJhYlmainnCosTOqAf4GjTAf7Fp 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:(13230028)(4636009)(346002)(376002)(366004)(39860400002)(396003)(136003)(451199021)(83380400001)(66556008)(66476007)(52116002)(6512007)(1076003)(26005)(6486002)(6666004)(6506007)(478600001)(54906003)(2616005)(186003)(86362001)(2906002)(5660300002)(6862004)(8936002)(8676002)(41300700001)(4326008)(66946007)(38350700002)(38100700002)(316002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: vWOM+mcqKyU0I75B+PkSETz9dJ/R8jqis05WFHs9wRcMpmeXH0yMNDFSon9pWkGhENc548reiFIopvApa4mlV0wCivSc9WuXVppdK5lPvY59Yj+tTP3i8ga6P8Xo92Zhs+qAIFf5rNLa+ZQgBdYiwP3NBmbGc4PaT5qU2389T/KYspVO/VahWPJEefqlLet/49cgx09KH/OFkOElUQtNvHq+/pK3WiQ7e6gV8dJROhMB1GbCN3fESPDN2Lw4e4/VV3tfqoxH9wzWup1m+DJ/ZzteP1PViIpRr7cksz4o6rzNoOEkBxnbQhx4ZfiWiybGa5htBJzqGKSxD1v2hgkFxNf8GYqn0DxEw9FYvOC3I5qqAkmptRUQBdadh5qkcBcod3dBH6oVzz+NOZK5I6jm8dM+0Ig1uNetx1dpWm04CCg8Ogy9uDLkeedQj8hFVXWprezuUPqBzYQXorIMeclt32v1SxiU/QfUacuUe9cvf0zMhniv8GIT7AgxbJXyCJvrPfkDk1KoWPSJZqN4Jn2+ZcnN/SmsY0kBEg6omR+R/IbZRJKA8eROEJNc/j6qCl8iYCV7X7yn0Nt6yzlaKqVgf2wb3XiukkCgMjTLSAHHCDp5wgW9GKn/OvWjtEr0A1MStf08sfoQBp2hxcU0qDOLNCsn0ILEr1RD3oh3Qi3xqUsBoavLajoghBZsPv7pSqzx7GxQ5z6uRxEAf+b6suy7xVTjFfAFARr/1Cs4wuod1u45lgFmllGN8lYiF+f5r3kBzoL2ZafUJgx9KE9Y/3JIXULjMCw5Ps3PFLx695DEAvhMkwyGWLZdcm1YbgAE92RMf1x91FGoXF/0To9Y4K5RmQ5wrMfPHXNULMXS//qBagEGoOvfd+rEAxaGlUb+TE0O6vtWxKTDdlY1LlZ+3wQ4DNohBXyRBfA4ly4kQeXpU51sZVTn8yynUTMgV5wR/fUez1d8pRWylK8lw2XV6arbOEP9dZ473acoyT03AMbBuWRruVCHsCC52xEzK+DP0Qg1+h4Ajooh48Ib3Yy8Xc50SnztZy+TSVEk1KWG+Y+70/H97JfBV3PA68Gk8GFt+4KSNad3s65itm3d6bPgAF92B7kjAFziYpetLoM9a/hIyxEPeCYMwzpscPBPxZDw/gZfzpAapyrWEIuYmw2KGGX/qyyfHGNV4JG/eQNHnNhyJtsE2bflV66misovmW6B5yUwbBB5/EFOnOkRge/ZJIJHmJDnlbNtEjx6iT0PncKpntIl/93fqeuarqgz0vtOY2Nqyw65rqZ2vQqZtBVhPli5zkdR28o00kDHS4kunDgxbMWVH0M8gKYkDtc90tc2lrRxhDtuhsgSqHVkL0TyMe5sMYCE/pIHtm7BZt6KL31YEdgExb2v9rS07BwOZXcVLc9L8qyL9uzUW2fsDUYClyJo0dZMB2onuX8EOAtBT4H5cxj16QqyUyjmHdWKZ8w0Rna/WQBKs729xRHC1ao9r2B0BK+008p4+6cJdMZZM7ZCUGk9u05hPhWdNAGo5uJXUG0oRiMzPt6ZnhDgSH1ADsrPtMiP3yRnxH8E+JcdCgKyl9ypaKBumcTm0IhIuZ5gpWeC X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1f5333dd-7d1d-46f7-b368-08db632df498 X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9417.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jun 2023 05:55:23.3331 (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: FC42s3YbCJKok8EXow5AjBbEu1k5NRBqeLN+31BkcvEoTkn3aFKF6yxLbhDEAtJIEGkF+51jL66pj8hBiydB/w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7362 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 From: Ye Li The bootaux uses ulong to read private data and write to M4 TCM, this cause problem on ARM64 platform where the ulong is 8bytes. Fix it by using u32 to replace ulong. Reviewed-by: Peng Fan Signed-off-by: Ye Li Signed-off-by: Peng Fan --- arch/arm/mach-imx/imx_bootaux.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/arch/arm/mach-imx/imx_bootaux.c b/arch/arm/mach-imx/imx_bootaux.c index 2b97aae3a23..ab7a41fd11d 100644 --- a/arch/arm/mach-imx/imx_bootaux.c +++ b/arch/arm/mach-imx/imx_bootaux.c @@ -45,7 +45,7 @@ static const struct rproc_att *get_host_mapping(unsigned long auxcore) * is valid, returns the entry point address. * Translates load addresses in the elf file to the U-Boot address space. */ -static unsigned long load_elf_image_m_core_phdr(unsigned long addr, ulong *stack) +static u32 load_elf_image_m_core_phdr(unsigned long addr, u32 *stack) { Elf32_Ehdr *ehdr; /* ELF header structure pointer */ Elf32_Phdr *phdr; /* Program header structure pointer */ @@ -95,7 +95,7 @@ static unsigned long load_elf_image_m_core_phdr(unsigned long addr, ulong *stack int arch_auxiliary_core_up(u32 core_id, ulong addr) { - ulong stack, pc; + u32 stack, pc; if (!addr) return -EINVAL; @@ -121,7 +121,7 @@ int arch_auxiliary_core_up(u32 core_id, ulong addr) pc = *(u32 *)(addr + 4); } - printf("## Starting auxiliary core stack = 0x%08lX, pc = 0x%08lX...\n", + printf("## Starting auxiliary core stack = 0x%08X, pc = 0x%08X...\n", stack, pc); /* Set the stack and pc to MCU bootROM */ From patchwork Fri Jun 2 06:46:00 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: 1789483 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=Vl+dzpL+; 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 4QXXQb50Spz20Q4 for ; Fri, 2 Jun 2023 15:59:51 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id AAA38865FD; Fri, 2 Jun 2023 07:55:35 +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="Vl+dzpL+"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 3C4CF86607; Fri, 2 Jun 2023 07:55:34 +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=-0.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FORGED_SPF_HELO,SPF_HELO_PASS,T_SCC_BODY_TEXT_LINE, T_SPF_PERMERROR autolearn=no autolearn_force=no version=3.4.2 Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on061c.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe02::61c]) (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 A1B758661C for ; Fri, 2 Jun 2023 07:55:28 +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=NJAbyT63qJckTQx9wDRWp3ZGy4dAykpgPf3M7jtQgepKuLHfuxNSHVBTgpZoJyy6zKeYdfobkwm6uz95nXpgD1CKW9vnhV7ih5p1yuX2wn38bjAkcw2+SmjUP/fkkDBUca8s6rYPLha4+AUlYQ37xg9tVomX0fGaK9xaDUn3w+LY6/xHiY/CTRc84MCKpLWbDKMzdmqdV6bSL/gjLMCZbZ5cSjJYhHJuzCraL2mkQOLmAIx8w21Zy9gvz0iviptoZ3RCAuAgsRRbbG7zBAUR3AStHqON2kXx5k0b/RQqneIgGO+rbPPxjPqO9CbYWfoZXy4tU+MIO7ZCTAKsWnLIcw== 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=AN0v+oh4N1zY9UebQ4iB1q6j8WoNEqmyPzF+9rYd0f0=; b=UsUYdnOAW7/eLtJ7/jlJ6e1XxUNB/rSrcxaVsarFp1EzEOZZfg8HjfpuejANxnSwT+8gOV7QWBfRgvIscb1Ami9EahGcxsCapFvtIGUjeUBZU2bqpAOss3g8K0R8zxbSjWtY4VFW7Bks0JJun/9sqsuHO2HABK5P0hl455cgLZrBPOfgKBBA0Sxr4kn3yUSAbTvXqogI98+fXp9Te77Mnu6HxQrXIM0t3ThnI/2WsbK8Bgxs93mWb+aZgJd+MRsxf6A/jSqra7t/swguRf8Rb17nOFhRrR0HIldD7tkn3Vi8sumaMDXldz4RKxtz3uabAu7Lgb9/DQ9LZxcPpQQC8w== 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=AN0v+oh4N1zY9UebQ4iB1q6j8WoNEqmyPzF+9rYd0f0=; b=Vl+dzpL+w3fRcHlgMb6KncRN1j6XkAuMlyXmchMQDIu7XrNb0muql5Dd3ncMtHU3M3DTzT1mR+HYuPDDghehltIG1CYH48nZwinz1C6Zl2ERBOMF2N9eor2kZrQyn3hUpy1RD32lVwPBsnDwiBg8n4bAwBR62MX2F0+0Zb+Q9pA= 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 AM8PR04MB7362.eurprd04.prod.outlook.com (2603:10a6:20b:1c5::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.24; Fri, 2 Jun 2023 05:55:26 +0000 Received: from DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::7b3d:4c2a:1636:da28]) by DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::7b3d:4c2a:1636:da28%6]) with mapi id 15.20.6455.020; Fri, 2 Jun 2023 05:55:26 +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 23/30] imx: imx8: bootaux: Add i.MX8 M4 boot support Date: Fri, 2 Jun 2023 14:46:00 +0800 Message-Id: <20230602064607.17222-24-peng.fan@oss.nxp.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230602064607.17222-1-peng.fan@oss.nxp.com> References: <20230602064607.17222-1-peng.fan@oss.nxp.com> X-ClientProxiedBy: SG2PR06CA0194.apcprd06.prod.outlook.com (2603:1096:4:1::26) 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_|AM8PR04MB7362:EE_ X-MS-Office365-Filtering-Correlation-Id: c02a37dc-45cc-4c4f-162b-08db632df673 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: VDmPqUEqMGr7xCw0VcPxQqe0KWxvrBZUI9thSgihv65bpFdpa7ExM8Cks1knFl1pjvp/6Fjm68tErAAXVW2FyZMXJVoLR9ejmgN8aQ4/1JRuS4xRp6ANlczEQ1BFMdngMiCaMaYX+CEBFTwqq/ZF2KpTpr2ZoeZWax3PMCu9+pk50kQ9/TzHJ8grqHmJ8c6pfqXylH1bSe8gW0FrZpOVzYC1oyhLCj5l/gHgmR8+t8g8uldWRUd9dgRN7DHlj4E3kOzQJ6ozeagV3LcrU5T8y8TbLKQAFkJTr1LOUicJZD9hVy1ZhoibZVp+keUDW0qwVe8a6VtTxyFb9vnW1FTvYukAgT5gZ4aDO5pqpbcgqVqURdq4MBFeJCTxdambLvEfCdU9W5qbCZRHtXiX6+wenS1azmwq2DY44yvPR7uQXzxDeOpF6TrEOQd6MCYmsgb+3KQgl77wcfqTHjNfWKwHxHKH0XUMZxBBulBtfKFinu3GcQYqanlNy5CwXAA/l1yWknlvvsf6dL7JWm7R9nHKhQxktXzHR45dwWAdshLaTkqRpOPzfzBpl6u3BcnRe03/X+GLc3tUNGCCDNdGHpv4nPkKDRfyH4imOe3iSyzSlEEMLJfy0Kafh0vug0WYbrNF 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:(13230028)(4636009)(346002)(376002)(366004)(39860400002)(396003)(136003)(451199021)(83380400001)(66556008)(66476007)(52116002)(6512007)(1076003)(26005)(6486002)(6666004)(6506007)(478600001)(2616005)(186003)(86362001)(2906002)(5660300002)(6862004)(8936002)(8676002)(41300700001)(4326008)(66946007)(38350700002)(38100700002)(316002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: EZAWzipa6u69dnd6S2FYQdRK0+FU71OLDWEIpsN+3YwDjzXK3Atq0ifTa+eniGNwAR/U/unb/WzBSH1Rsz27m1P8DPCGQlco81urM8/x1t/tp7Z+QJEQkgkJCdy2RvzhwmqeBLTpiuYiqqu6nxpI8Mp9f8vTSZMhcZgP3G21aWdI6Psr1BSyynwRFlU+MkJ4HlLC67rdUZ4+DBnDSfSTTdHEVi6ymrwQInqHmXKyt8tWOehJd6MKhflVd2sMSwhvn8FKVaCiQX7OPLCPb8ohG9heWXkCPntZjygTPdducWWdzoOet+pRY3YlvLIFo4lZMli4XeeS+lwm+GvPL/pkPUbKFPaSNCoKDEAx46j472qWeF72ehX2ilNo1+Xv7KTLIEkGa0AcORI7l4T9QJxXc408VmE+XSlSQWeQDPoQajpi9C2KMD6/+WTylV5+uPYcApKKFX7sTTrG1PVEh8Dpp4E27+4KMgldXUZs/mLUyqHsucQ8J4122xf9tWe9qnM/XyyxvhBBuRG1jKtguBdUt8JXMzissYDImbO/l2gNjHkuQk/q22vW9faSyqc780sfCesuPrLntmX23fx1n9hJsBdL32SIN7nbb1nSbNKcJI2Soa+D+8tvoVLNKcT2eTkyS4pH6AYufJFTVnBQ2MOCxeqq9HidfMf9kPPa8DXUdrDPdR/C3B7Q/t2lRLYM/3x5pjsNcQTs3mH2/+40g1KNBOy7KFsLOez4JKX4nD+Ue+jvYDoq+o1HF7Ng2od1+xzBSexkORqH6M9tMWhCBLyc+7Hx32++twyxVWyzSIO8woMTxbOSpwrmitkFot5WUhpJAjSBSEYBMmrChjbfUPK3czWdg7OHa4QI8PxfPZiKQzvhwxrdf0nOwxdDsWW0JcT5eeOQnEZImfHXIR7LBaULRpgneFWHFYKL//9pUnaUYAXdD7YblAoSHI0FNA8qyczBbiQF72+gqfZ66iaUuxOfPuNbA8HYMtMUEiVklHXoO7Fu+da+cngm5aovfJwUBP5OnSKmhIXGkWoA173P+F8loMx9/6hBjvgPz4tSx08f9O3Va0BvGNVh8lJbjT8ie0I3Y+KmFSeu6xooT9qLiw8NdavsPssdecd4/q0AAUsILot1S3FcPwAix6Cm3Rk+NpL77DPkK3ExjtQU29GwOsvDABuVJ5Bf0RkkCf4spLcBxr8Jcvt+ukJd5r1zLGCq4jw6dJPwVM0Rz9dfVdjnQzVC4rW4pNNh0wNoLX4nnycMCts8HpstwANtNe5XDW4wzZPTw1Rj3mZtL1RDawLOCZyvYnaN9F/WIxe7cDKA+kwQR+GASeVPa41LC3nCcX62uCe+lExU/ihBN1V1hEMVEY45ygDyupIdPsfhxOMTs/ssQTdLqh1e6VkrE5+n0yPNSW4tutfXhoVMrH8rBATrufVH3uqYqdZ3wYd9Lma4BUGKJUzsx4ngkz9FMCvfrqyYcoFAtSdoS25SLdDDi8DfWqSvGYWs2qip+WEwouW+iMPhxEB7OReK02g29nB/EIFTQG05IdBcj+7EzJmPQZM4uX4bVDCaH5e7gru6cmhNVB9QiZ+GO8I84+5L6jARou3ox0Cr X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: c02a37dc-45cc-4c4f-162b-08db632df673 X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9417.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jun 2023 05:55:26.5545 (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: tDdCk7KLatTcmhlO0YcBNKzxVaHdCJ0IK2a99lkWZdtHyksMwY52t2xOKwj8w9E2uoXMdVrqul+dOjvCcAokMg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7362 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 From: Ye Li 1. Implement bootaux for the M4 boot on i.MX8QM and QXP. Users need to download M4 image to any DDR address first. Then use the "bootaux [M4 core id]" to boot CM4_0 or CM4_1, the default core id is 0 for CM4_0. Since current M4 only supports running in TCM. The bootaux will copy the M4 image from DDR to its TCML. 2. Implment bootaux for HIFI on QXP command: bootaux 0x81000000 1 Signed-off-by: Ye Li Signed-off-by: Peng Fan --- arch/arm/include/asm/mach-imx/sys_proto.h | 1 + arch/arm/mach-imx/Kconfig | 2 +- arch/arm/mach-imx/Makefile | 5 + arch/arm/mach-imx/imx8/cpu.c | 174 ++++++++++++++++++++++ arch/arm/mach-imx/imx_bootaux.c | 15 +- 5 files changed, 192 insertions(+), 5 deletions(-) diff --git a/arch/arm/include/asm/mach-imx/sys_proto.h b/arch/arm/include/asm/mach-imx/sys_proto.h index 85d9ca60b14..31ae179b211 100644 --- a/arch/arm/include/asm/mach-imx/sys_proto.h +++ b/arch/arm/include/asm/mach-imx/sys_proto.h @@ -236,6 +236,7 @@ void board_mem_get_layout(u64 *phys_sdram_1_start, u64 *phys_sdram_2_start, u64 *phys_sdram_2_size); +int arch_auxiliary_core_up(u32 core_id, ulong boot_private_data); int arch_auxiliary_core_check_up(u32 core_id); int board_mmc_get_env_dev(int devno); diff --git a/arch/arm/mach-imx/Kconfig b/arch/arm/mach-imx/Kconfig index 2cca89d4bb1..d94b5828d0d 100644 --- a/arch/arm/mach-imx/Kconfig +++ b/arch/arm/mach-imx/Kconfig @@ -31,7 +31,7 @@ config IMX_RDC config IMX_BOOTAUX bool "Support boot auxiliary core" - depends on ARCH_MX7 || ARCH_MX6 || ARCH_VF610 || ARCH_IMX8M + depends on ARCH_MX7 || ARCH_MX6 || ARCH_VF610 || ARCH_IMX8 || ARCH_IMX8M help bootaux [addr] to boot auxiliary core. diff --git a/arch/arm/mach-imx/Makefile b/arch/arm/mach-imx/Makefile index 906f538259a..9023b99f21d 100644 --- a/arch/arm/mach-imx/Makefile +++ b/arch/arm/mach-imx/Makefile @@ -66,6 +66,11 @@ ifeq ($(SOC),$(filter $(SOC),vf610)) obj-y += ddrmc-vf610.o obj-$(CONFIG_DDRMC_VF610_CALIBRATION) += ddrmc-vf610-calibration.o endif +ifeq ($(SOC),$(filter $(SOC),imx8)) +ifneq ($(CONFIG_SPL_BUILD),y) +obj-$(CONFIG_IMX_BOOTAUX) += imx_bootaux.o +endif +endif ifneq ($(CONFIG_SPL_BUILD),y) obj-$(CONFIG_CMD_BMODE) += cmd_bmode.o obj-$(CONFIG_CMD_HDMIDETECT) += cmd_hdmidet.o diff --git a/arch/arm/mach-imx/imx8/cpu.c b/arch/arm/mach-imx/imx8/cpu.c index 2b34077438f..c62357044e0 100644 --- a/arch/arm/mach-imx/imx8/cpu.c +++ b/arch/arm/mach-imx/imx8/cpu.c @@ -26,6 +26,8 @@ #include #include #include +#include +#include #include DECLARE_GLOBAL_DATA_PTR; @@ -107,6 +109,178 @@ int arch_misc_init(void) } #endif +#ifdef CONFIG_IMX_BOOTAUX + +#ifdef CONFIG_IMX8QM +int arch_auxiliary_core_up(u32 core_id, ulong boot_private_data) +{ + sc_rsrc_t core_rsrc, mu_rsrc; + sc_faddr_t tcml_addr; + u32 tcml_size = SZ_128K; + ulong addr; + + switch (core_id) { + case 0: + core_rsrc = SC_R_M4_0_PID0; + tcml_addr = 0x34FE0000; + mu_rsrc = SC_R_M4_0_MU_1A; + break; + case 1: + core_rsrc = SC_R_M4_1_PID0; + tcml_addr = 0x38FE0000; + mu_rsrc = SC_R_M4_1_MU_1A; + break; + default: + printf("Not support this core boot up, ID:%u\n", core_id); + return -EINVAL; + } + + addr = (sc_faddr_t)boot_private_data; + + if (addr >= tcml_addr && addr <= tcml_addr + tcml_size) { + printf("Wrong image address 0x%lx, should not in TCML\n", + addr); + return -EINVAL; + } + + printf("Power on M4 and MU\n"); + + if (sc_pm_set_resource_power_mode(-1, core_rsrc, SC_PM_PW_MODE_ON) != SC_ERR_NONE) + return -EIO; + + if (sc_pm_set_resource_power_mode(-1, mu_rsrc, SC_PM_PW_MODE_ON) != SC_ERR_NONE) + return -EIO; + + printf("Copy M4 image from 0x%lx to TCML 0x%lx\n", addr, (ulong)tcml_addr); + + if (addr != tcml_addr) + memcpy((void *)tcml_addr, (void *)addr, tcml_size); + + printf("Start M4 %u\n", core_id); + if (sc_pm_cpu_start(-1, core_rsrc, true, tcml_addr) != SC_ERR_NONE) + return -EIO; + + printf("bootaux complete\n"); + return 0; +} +#endif + +#ifdef CONFIG_IMX8QXP +int arch_auxiliary_core_up(u32 core_id, ulong boot_private_data) +{ + sc_rsrc_t core_rsrc, mu_rsrc = SC_R_NONE; + sc_faddr_t aux_core_ram; + u32 size; + ulong addr; + + switch (core_id) { + case 0: + core_rsrc = SC_R_M4_0_PID0; + aux_core_ram = 0x34FE0000; + mu_rsrc = SC_R_M4_0_MU_1A; + size = SZ_128K; + break; + case 1: + core_rsrc = SC_R_DSP; + aux_core_ram = 0x596f8000; + size = SZ_2K; + break; + default: + printf("Not support this core boot up, ID:%u\n", core_id); + return -EINVAL; + } + + addr = (sc_faddr_t)boot_private_data; + + if (addr >= aux_core_ram && addr <= aux_core_ram + size) { + printf("Wrong image address 0x%lx, should not in aux core ram\n", + addr); + return -EINVAL; + } + + printf("Power on aux core %d\n", core_id); + + if (sc_pm_set_resource_power_mode(-1, core_rsrc, SC_PM_PW_MODE_ON) != SC_ERR_NONE) + return -EIO; + + if (mu_rsrc != SC_R_NONE) { + if (sc_pm_set_resource_power_mode(-1, mu_rsrc, SC_PM_PW_MODE_ON) != SC_ERR_NONE) + return -EIO; + } + + if (core_id == 1) { + struct power_domain pd; + + if (sc_pm_clock_enable(-1, core_rsrc, SC_PM_CLK_PER, true, false) != SC_ERR_NONE) { + printf("Error enable clock\n"); + return -EIO; + } + + if (!power_domain_lookup_name("audio_sai0", &pd)) { + if (power_domain_on(&pd)) { + printf("Error power on SAI0\n"); + return -EIO; + } + } + + if (!power_domain_lookup_name("audio_ocram", &pd)) { + if (power_domain_on(&pd)) { + printf("Error power on HIFI RAM\n"); + return -EIO; + } + } + } + + printf("Copy image from 0x%lx to 0x%lx\n", addr, (ulong)aux_core_ram); + if (core_id == 0) { + /* M4 use bin file */ + memcpy((void *)aux_core_ram, (void *)addr, size); + } else { + /* HIFI use elf file */ + if (!valid_elf_image(addr)) + return -1; + addr = load_elf_image_shdr(addr); + } + + printf("Start %s\n", core_id == 0 ? "M4" : "HIFI"); + + if (sc_pm_cpu_start(-1, core_rsrc, true, aux_core_ram) != SC_ERR_NONE) + return -EIO; + + printf("bootaux complete\n"); + return 0; +} +#endif + +int arch_auxiliary_core_check_up(u32 core_id) +{ + sc_rsrc_t core_rsrc; + sc_pm_power_mode_t power_mode; + + switch (core_id) { + case 0: + core_rsrc = SC_R_M4_0_PID0; + break; +#ifdef CONFIG_IMX8QM + case 1: + core_rsrc = SC_R_M4_1_PID0; + break; +#endif + default: + printf("Not support this core, ID:%u\n", core_id); + return 0; + } + + if (sc_pm_get_resource_power_mode(-1, core_rsrc, &power_mode) != SC_ERR_NONE) + return 0; + + if (power_mode != SC_PM_PW_MODE_OFF) + return 1; + + return 0; +} +#endif + int print_bootinfo(void) { enum boot_device bt_dev = get_boot_device(); diff --git a/arch/arm/mach-imx/imx_bootaux.c b/arch/arm/mach-imx/imx_bootaux.c index ab7a41fd11d..f7b14ca38d9 100644 --- a/arch/arm/mach-imx/imx_bootaux.c +++ b/arch/arm/mach-imx/imx_bootaux.c @@ -14,6 +14,7 @@ #include #include +#ifndef CONFIG_IMX8 /* Just to avoid build error */ #if IS_ENABLED(CONFIG_IMX8M) #define SRC_M4C_NON_SCLR_RST_MASK BIT(0) @@ -158,7 +159,7 @@ int arch_auxiliary_core_check_up(u32 core_id) return 1; } - +#endif /* * To i.MX6SX and i.MX7D, the image supported by bootaux needs * the reset vector at the head for the image, with SP and PC @@ -177,11 +178,15 @@ static int do_bootaux(struct cmd_tbl *cmdtp, int flag, int argc, { ulong addr; int ret, up; + u32 core = 0; if (argc < 2) return CMD_RET_USAGE; - up = arch_auxiliary_core_check_up(0); + if (argc > 2) + core = simple_strtoul(argv[2], NULL, 10); + + up = arch_auxiliary_core_check_up(core); if (up) { printf("## Auxiliary core is already up\n"); return CMD_RET_SUCCESS; @@ -192,7 +197,7 @@ static int do_bootaux(struct cmd_tbl *cmdtp, int flag, int argc, if (!addr) return CMD_RET_FAILURE; - ret = arch_auxiliary_core_up(0, addr); + ret = arch_auxiliary_core_up(core, addr); if (ret) return CMD_RET_FAILURE; @@ -202,5 +207,7 @@ static int do_bootaux(struct cmd_tbl *cmdtp, int flag, int argc, U_BOOT_CMD( bootaux, CONFIG_SYS_MAXARGS, 1, do_bootaux, "Start auxiliary core", - "" + "
[]\n" + " - start auxiliary core [] (default 0),\n" + " at address
\n" ); From patchwork Fri Jun 2 06:46:01 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: 1789484 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=85.214.62.61; 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=ZLI5RS/M; dkim-atps=neutral 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 (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4QXXQw32n5z20QH for ; Fri, 2 Jun 2023 16:00:08 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 93EE286615; Fri, 2 Jun 2023 07:55:37 +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="ZLI5RS/M"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id AB0D9863A7; Fri, 2 Jun 2023 07:55:34 +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=-0.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FORGED_SPF_HELO,SPF_HELO_PASS,T_SCC_BODY_TEXT_LINE, T_SPF_PERMERROR autolearn=no autolearn_force=no version=3.4.2 Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on060f.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe02::60f]) (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 1DA5C865FE for ; Fri, 2 Jun 2023 07:55:32 +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=JamLhlcPm1a1T8nHy1OdrsfcSNmcY11KTGNOcpd97FENgEHPltYjlRDE/foRZ+Vpn57FpFh6c+p++VvYosrLrFwbLjkF2ZLVpnEKP9xrqK0PsQDLk6oblqzMh4MiQLDpaVGghROp+afLCNnucgetfK7zSMt0IK1tnsBjCgVX7EzSNR7Kp6dDHGH+iqa11msAxEIZJFJgdSOHCt3dw04LTFC6Y5cjyyI9Vm033f2yqnL44BhQ+F+9jzSwpukLXdjQV2Ot589NUVgu/tX3AbRW5C1x1qWs3QFNfkHz1YZJguPLeDkM8hnh5rWO4Zcp9EqjlaUcKSz/LZlHpK1oj0aAAw== 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=F8RP1SA02dcvlw7EUSlBS/Po90/BQCExrwuYbuBtXo0=; b=nbjXRSaMVQ6wp7SxbOaHc6JlIzse5f454b611IK5BI9twP70hKQNT8G+f2QMz5ZltwwIixd5c3cQSnv4Pn+P+98OdPq7mGEMUnrmsDe5akhXd6WCt2dynksXzmUagTRDEnaOY1B25EgR0G8SxkQCcUsA5y77dzkAiR5zIY80NDdTnTx6IV+lZjQg2jUZvyQMfiJ6cXTIgdZ2GwS5j/ZYFyOuk6FC/QCvclDlwtxgnrpM9rpfKTLXq3EavR4nRpVrgQrwNO/MnglEouWPBCB+fzzVXgrrfLnzHaVwE4lHPGawgMN8OlAJsAnT8drBUFSFkViAnorea92bkpwAqqO+xw== 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=F8RP1SA02dcvlw7EUSlBS/Po90/BQCExrwuYbuBtXo0=; b=ZLI5RS/Mnhcv6CM7YyuPR+Yh93bFNROHLdjrvDPV4DHtQxXRDs6OWbDTRrNUiPCMdGfnhEu7YiSA4y02sAXNCmr7V1SENpBR78eR4xiY55LGtUYz/fk6SKq56TOwjWSrKDsukF1aqjLFCp1/mtli8Vv+VhpCYWuh4UvN3PmmTlg= 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 AM8PR04MB7362.eurprd04.prod.outlook.com (2603:10a6:20b:1c5::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.24; Fri, 2 Jun 2023 05:55:30 +0000 Received: from DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::7b3d:4c2a:1636:da28]) by DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::7b3d:4c2a:1636:da28%6]) with mapi id 15.20.6455.020; Fri, 2 Jun 2023 05:55:30 +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 , Ye Li Subject: [PATCH 24/30] imx: imx8m: clock: not configure reserved SRC register Date: Fri, 2 Jun 2023 14:46:01 +0800 Message-Id: <20230602064607.17222-25-peng.fan@oss.nxp.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230602064607.17222-1-peng.fan@oss.nxp.com> References: <20230602064607.17222-1-peng.fan@oss.nxp.com> X-ClientProxiedBy: SG2PR06CA0194.apcprd06.prod.outlook.com (2603:1096:4:1::26) 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_|AM8PR04MB7362:EE_ X-MS-Office365-Filtering-Correlation-Id: 20872add-2b89-4fd8-f497-08db632df8b3 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: DpOxlBjeKdcjcipHMOyEMXpzEZZvLC3p5oS6IsxZkERTsfmXgXV06cY3+nRdtyBVqN51+4vaGUKA8H5vWvmO0yaGG9lkI1kUloxeV+X+SdbUWcZYo2sTj96cuzAfZz/i7ucznCP4zhg6JWqfqmqOdB/52Sjt3G9tJDE/xDBkL4zOXYmJtMzxOtEglYKHC5/mCzCLOdgsKEkGJEcIJQVZzkfi9aXZD2dSo6MswgK0Tr0E2HzcDr6Hn/vnnIGI3+IN1/qkJjw/OCBrUKpKBcnD3UmsY94PlVm15ZCsrNeKJCAGsFHa12PhXt7O2FpWXpOWS0sJQRKyjtrDGZdloD1+TTyeJzfONnOoFcV4g8FtSSVhWr/FGtJEz+Uvl45I4JQjSNgYXjpfArHUwPLjHvDwBSk1jdQ5yepc2zdFs6vVRE12ovOgF/EoLW3oaHGSI5XDH+iphZgFTPrrTbvSaMVlVuPiTiKDNoYh+/+qKtWHEv0bj24gfNc8k5Z1B0zlCG4YlGw/3C7UVtH0n5XXQB/BuoRzq7kR2VXbp/0dyZLJIAw8tNk534I3szcnepkic3Ow1LnXQHxmySSfvWPqs3gp2YZm67WNaAsm0mrEtwsD8FvUa3uN2AaJz9/NxIpl3O8a7+GtpFFj4AGla8mFzyEoTA== 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:(13230028)(4636009)(346002)(376002)(366004)(39860400002)(396003)(136003)(451199021)(83380400001)(66556008)(66476007)(52116002)(6512007)(1076003)(26005)(6486002)(6666004)(6506007)(478600001)(54906003)(2616005)(186003)(86362001)(2906002)(4744005)(5660300002)(6862004)(8936002)(8676002)(41300700001)(4326008)(66946007)(38350700002)(38100700002)(316002)(32563001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: XTOw6uNYuOG7k65NfqSnS6CafljURNwDbkuIfkVcgHgtvkLZwYLgI1njAqPrWEycP8/TUWI51iXgKWLzVKMRjxiEK0/KXyI93ZnwShY4aP3mW/PtCNYMJH0gJijqt8MwWkNyOxwESAY870x85uSAx3rBocNPEHxnTyQMjV3J7YnJ+QnxFq70tjzmVd/xQCkTy+KRMmr/xLOD8LY2sQrbwo8WGzm0/nF8BVRs+OjfUZIslv9qsqVOXjB4xT+1tVZgVhk0+s/fOrCU55HtCNlor/+8zcQnc9XM/kqVrYKAVyQh8Q1WTZsWLOoYs8dHUHboSZwWeiOw1bb5kQUqMu9Q5QsNL7KF/CKMOOwUb+w6vcWznqwxR7ekSM7uMQp/zt1x71jfN4YjBg+uVvQxv/zxXVfEQ1HkfY/zMgjKp5tNG9n/LtNZesCJ07/BydgriuONI49PgldO9rJcWXJ7Z66y8dbn9QTdEdc7p32TZetepLUlh4E12dI+RfT27NayreN1J61aWJz8r6Ip/t41y4SpKlqpsLUl4Hc7Jsrc422Cvj71anjBJihvKPpDkNRz9xylioeE3ABuSPuV9b6FyyuhcfRgtZz1S+JwVSWPnqhtldnRB0yETMHhtACkVtteKeX1+YVnhWYYX2kw48nebtBRUQ4mnYvTlJH6yhsGA8h1iB1f2ylo1zKUBg1DxZJ7c1Gvgn2N0bwiUx67umnliPYwxTCBWrtm4Z+MQcjldwA+DWcYAgS+MiPNwTyWvCtzqZq+ntWwjE0656ar6LhGQqVtoeDZQM4BHxMm3dq6y6/Y1kbapUfmzrtVyhFn31f1xXINrPOiA46V/NCfgw8NffwFBsnE3Mu6Z7nuyTykqsNRjyH4LUppi9Mrkwv7/+Z3Dt+G1gAhDp+mwh72YQKV7hNRG4eUxjQs8ewhhhg0qibtmI3KljhIXMTeFaRSdP5GD9eh28YJho8u2VlFkLDFU003FZfZ3rWqUgLO1OJwSRHWGGzBwTpljol0+vbIAbb0Jc98irK7yrW4MhZiw+qrYHP15ocrDA3BWKzikKXI/gBNFPg3f2hh9zFkLZBEW1pTYqhamZ19pSlPJDeMvOKxS410cvbhq8M++AJv6Ust6rVNSkTPA07iaK9H7lIQcQQKhFRMarXQNB9ClyqfLJ2xBbDddFJe2G5rMBkjqtogOgYszZUctniJpH8Yyy2OKq3TJYALLjFkXUgtW83eA+56aAYkep9HOy3wZFDJ4zjDRw8PbUB2xgV2/r3VDLBpLnDL9+59OmTAuWtVxGJADwYXh2860vVsKi9Cuny9J79tjlgeV68OMN3LwBMZ4rH7Oqk+hAM7ubb/61Y3kFaxBKTc98Cyprjd6xrEdyjOr/I0iNz21u85s0O1fHqspyjYYMtsKS9R54omX3h5chjK6oS7qqJle/naz3nl1a8VMmUkVr8gK3aNF4DXOT+MBOMvTPqv3gdy+ZUxfVb0JyfNXejE6E4ynmBqEW0eAm5s+q3/10GqojpVqtohWCS/MLxiQIS0vTCzRiUKhgAOfgQ/KkStgsmDYeWBnw0HAMzZLShbqIJiOJcAi5DoJ2WfpcIHFklnHOLL X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 20872add-2b89-4fd8-f497-08db632df8b3 X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9417.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jun 2023 05:55:30.4913 (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: vFCti907U4aeQK608y8pQ7VXgATR84qrsvj1URRp0r5v96BaNtHWucRCCFO9DwbtaTF7CZzS/EbV21t6sHzCvA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7362 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 From: Peng Fan i.MX8M[M,N,P] SRC not has 0x1004 offset register, so drop it. Reviewed-by: Ye Li Signed-off-by: Peng Fan --- arch/arm/mach-imx/imx8m/clock_imx8mm.c | 1 - 1 file changed, 1 deletion(-) diff --git a/arch/arm/mach-imx/imx8m/clock_imx8mm.c b/arch/arm/mach-imx/imx8m/clock_imx8mm.c index 31c34b6031f..986870799d3 100644 --- a/arch/arm/mach-imx/imx8m/clock_imx8mm.c +++ b/arch/arm/mach-imx/imx8m/clock_imx8mm.c @@ -90,7 +90,6 @@ static int fracpll_configure(enum pll_clocks pll, u32 freq) case ANATOP_DRAM_PLL: setbits_le32(GPC_BASE_ADDR + 0xEC, 1 << 7); setbits_le32(GPC_BASE_ADDR + 0xF8, 1 << 5); - writel(SRC_DDR1_ENABLE_MASK, SRC_BASE_ADDR + 0x1004); pll_base = &ana_pll->dram_pll_gnrl_ctl; break; From patchwork Fri Jun 2 06:46:02 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: 1789485 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=LIBh32v+; 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 4QXXRD2Rx1z20QH for ; Fri, 2 Jun 2023 16:00:24 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 09B4D8661E; Fri, 2 Jun 2023 07:55:40 +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="LIBh32v+"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 02FEF86617; Fri, 2 Jun 2023 07:55:38 +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=-0.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FORGED_SPF_HELO,SPF_HELO_PASS,T_SCC_BODY_TEXT_LINE, T_SPF_PERMERROR autolearn=no autolearn_force=no version=3.4.2 Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on062d.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe02::62d]) (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 4A8AB863CA for ; Fri, 2 Jun 2023 07:55:35 +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=La8gCiDt9o8+fjwJZ0v1r67oCMzp/XMFxZ+lK8t1ik7Y9Ex1IqZ72NdLKaAmaMIi9MGBh51jGaURLjB0h7/2b1mXZ2RtrDdGxErfqKplp+lgLIhe82hp8ati/gUjFGypO4d9RKQFmF++ECNr0DzT3REnsl21fa7+mKO6mb1fM9CrB77rE5WgdXaiZ1FTeJBdE9DZ3dj7oze/9dAOVb55T0ZXbu1Tx/1NVi0eSTPcs8e7S3oVu0xFzB9JaI/mAKCQZ8/YXgb0rwdr7ZLdWVogjPulMv+H1qchVfdvT0dnUdvA6+0pCn6DmBc5DHMcpn5u+9iv2z6AYiLoTYpOn1zkjA== 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=/gonz88mjoNbltTWfe+ARHdxmetQUUaLu9+Ek524SQ0=; b=cSVLtLLKzSZnrIpnVwgSM7m8k0dOQ98UprWWK4wTFq7vcUdJE279rrbzWguZYEb7Yrqp/B8s3MESSdaFj7OSQlphsfu+R4MLF3BDmWLt3Kt7ytUWDKzjYhgL0RG3G8stJeDHrMUDUCpdGZuBEVYeHIYWf77Oroq7yIS+jBjxso/kbwjSUiPNmuSLzgin/HQBQ9+CvV0QJjGrgAODnjr7ba65GThYJDFX+rPtgGVTIrNT4RfCQ0oyu22Y8CX2auGKRoJkDiXTcQFaIsv+kf2PAgbMo/MPNQg4Zpjyk3EkAH/ibzJ+2O0pzwRATATOUWu50rARr4bkBz3j9gntQGlVDQ== 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=/gonz88mjoNbltTWfe+ARHdxmetQUUaLu9+Ek524SQ0=; b=LIBh32v+e7udlxynPrP/6WYCyrdrR0GNx/0S6MCkKY+NDEfZ2t/xzwWJdlS4hQdLM4aCK8x+Lv7bXITEyrLo29ZGLjQJnMQlq81blJ5joGYCtNI2nBp9xFA1vv87dgqAGkDNZr0MT5SGOLgoKr6HYDFuuCFmEcPo53Ja62xVxPo= 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 AM8PR04MB7362.eurprd04.prod.outlook.com (2603:10a6:20b:1c5::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.24; Fri, 2 Jun 2023 05:55:33 +0000 Received: from DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::7b3d:4c2a:1636:da28]) by DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::7b3d:4c2a:1636:da28%6]) with mapi id 15.20.6455.020; Fri, 2 Jun 2023 05:55:33 +0000 From: "Peng Fan (OSS)" To: sbabic@denx.de, festevam@gmail.com, "NXP i.MX U-Boot Team" Cc: u-boot@lists.denx.de, Nitin Garg , Ye Li Subject: [PATCH 25/30] imx: parse-container: Use malloc for container processing Date: Fri, 2 Jun 2023 14:46:02 +0800 Message-Id: <20230602064607.17222-26-peng.fan@oss.nxp.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230602064607.17222-1-peng.fan@oss.nxp.com> References: <20230602064607.17222-1-peng.fan@oss.nxp.com> X-ClientProxiedBy: SG2PR06CA0194.apcprd06.prod.outlook.com (2603:1096:4:1::26) 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_|AM8PR04MB7362:EE_ X-MS-Office365-Filtering-Correlation-Id: 4173f90b-7874-4b4a-dae2-08db632dfab6 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: FLPRrVr1Hqfvy5M4kh3jsdnWVqoqvALnH+KbW8k6FAwzcRID6OlTcfA7fyYeS5hJrKtSOMNB3nwWdWYC9CwPniCPj4kJACylqmNBDlBEF5TMhzImfaKp2y4Cr8/R3znJNNAtjrFuKnV76lI4aurYWAV1bVnOnBNFPwwnofByPykCk++jlUbzpLfmDftYnXkiRGgp5tzIREYR45QLDwyWJPQOWjPgdLZ39a0DprVbEer6bHli8V/IC+iU99+jT8A6eJewKQ2kAhMVEvsnF8wXj4I6bxUzt7ToSBZR4BTDFSMlH0Ymg1cF9H6EWGKB58+OBD/dIym1BrGst0zSJxQt0vwcmLZe1J054lHYtII+1VIS7KBhLwyeRvUuWsObI+be9cbYCaHB9Qq60RE2L8+m16MBIymtYzUtdBDZaYIHBAVmSv6iTsCOvnewbkD6Aay9juZ5KfRsJXncW8OBy8Smm2ASmK3xvbFRd16etdnrYfYI1l1IevDOCq5z2EmArBCijqIgz9f68jpUE2eMR8tdp3ZGCspTwCXAUGa6I9rSuWf3goakbxdkA6gnAXyvpZHmb8Ia32JtYOWlTsHNTSlxB4976I5++ayJN6CFJVPyzNjLmaysl3Wm5DfCAjN4aziN 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:(13230028)(4636009)(346002)(376002)(366004)(39860400002)(396003)(136003)(451199021)(83380400001)(66556008)(66476007)(52116002)(6512007)(1076003)(26005)(6486002)(6666004)(6506007)(478600001)(54906003)(2616005)(186003)(86362001)(2906002)(5660300002)(6862004)(8936002)(8676002)(41300700001)(4326008)(66946007)(38350700002)(38100700002)(316002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: WO4pyv7m4F3DJ+THm7gtdXNbagR6ECGFRVY6FgzpJHVuDBO5PmxZYRJbLjaQUrU6u5tTD6uC7WFjUdxyY2TJ4LsF0sgrLFD1R4z1+w1iXmls5VYOG3PEWO9mgQvAYHsFPeUGctAL+BKw3oyell24GmDFCAH0AjAV4ZsmvyxppgI58lNZOUnQIsgvtKEtri+/j7+S7fNU4QtgzPxxluMw+/65Q359Ly4P8hjqYnux1nTJMhztIHTg5DPnrnkgIkNQrg4l9JcUcn9dPUWKySVXsv7D221pZn7s6jl7mOX4LQdW1YZAUznRCVEcq2Ne+1FZSVDi+7dkx3ZAnGw5eEfg5rSQyK35JA7HFhqXUQoWbaICiH/mA6uElCjjbJ+Vi2pxqJQDffGPCbszGk3ECtCF8FO5iWkznrROl1qNUn5Ne6M96ovDzOXd8OTdWe6U5eV6FvGcD193LIJobP0z176SQ1Ptp7e4Tq1KesbVb/lkO0NLV2Fy1v9pkLzSNYoZel6eKeqZIaB8qBw/A4UPXWEWgmFdiOOEvbVmGakVSyruJ3lpR/u3xbuyyAEG5tVALpS5Rfg7Oz5tSLwM6/+4UjumZloCONqEyK4zR+SyZuGm9tEIGq2DLzO0YHSY2lFw7VjGX5rmfAsiU8/PEFZn75v91k2G71kVZaZnDMwB1uZlRwiNRJo0i8HyFOLc0j4fgkaSYK8hvsycAfXlnvpWwSFayYYXioxvlWTiE7tWYY5rP2swkgj4LUL5yYywj+Ha9eYxpQzVMzSiK1xiU7j6Zf+lXbTDbzYX7KbVQOepms5D2VZ7ib9s5MtWk2yzSS24j8RrpfLuvZG8jE/Kb4dooYYHx+COYZurv3nCut7080TH8Gs7D5UxKbd7c6jDqswlIq8xB4ghWBDcllTLwnzhixPeU2ZXYn69KM70QEE5xxBSqu1iYJGA/vgmLAs30cMNKdhmFs6yTb423Jc451Xl1Sc421H1pKQWTUL1o6KPiHiYOWZiRSEfZGWqn9XswodU9blX/qnTbnqv0B/sy/Y0djVFZio+/G8t8etqqzb7D9aYCRWUUKHlhhSpHegDJDB8PvffzSEYFCup3GckeOhvR5szMmIsNPKb7QgoIHMMOc0GOrmx31EeNm4CkFGIXRQIjAMtVDqFSqQUvfBmP7qIPqM0oLSTiiD4hL2Tn5IXCCzoOKQCVnBVDIDAT5vk8NWraZlvoqtA52/74ZIuK0S+O8DMucuFTDAVgl53/LhUFuYXil2h2yU8agu6opc0IrDVEHjj1+6E10F1okjllQMTz1dSJqfbE7G5NppWvgbmvcZx2Ur6IgWEHvFSXPYFFbvvb9eOMvq0sf2RWqzMFzPpaexqkq13Z08Omx7NCrAJr+l8wJrin3EW48l3+kyzjqPm+onO7roJbXrXs1xOYqxGOc708F9RYQZmmzE3JJGimbyEeqhTN2xLBMrkCq1GnEMhg/oR+K51a25i5SdsXwKxZlKSM4Y27gb2vwx1nLP4ZF9/QQnFGulzJC/U7HpxSnwtB6RZKBs7nGD/W5/eBZaQsmV4lz6RxXffeNJarO6Q42WKaixPvUBfSEVFj+l4dEWWjr7D X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4173f90b-7874-4b4a-dae2-08db632dfab6 X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9417.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jun 2023 05:55:33.5807 (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: WnvP2cPcjqflWYDCNA2spzL6Q+xGDi6/6LrRhouysgK+anWJNxyOWnLWlx8TKVtX5zNmeEttHJzFKrqc3hpT3Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7362 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 From: Nitin Garg If the container has image which conflicts with spl_get_load_buffer address, there are processing failures. Use malloc instead of spl_get_load_buffer. Reviewed-by: Ye Li Signed-off-by: Nitin Garg Signed-off-by: Peng Fan --- arch/arm/mach-imx/parse-container.c | 38 ++++++++++++++++++++--------- 1 file changed, 27 insertions(+), 11 deletions(-) diff --git a/arch/arm/mach-imx/parse-container.c b/arch/arm/mach-imx/parse-container.c index a0d1eb3831c..c5b3abc4f29 100644 --- a/arch/arm/mach-imx/parse-container.c +++ b/arch/arm/mach-imx/parse-container.c @@ -4,6 +4,7 @@ */ #include +#include #include #include #include @@ -134,21 +135,27 @@ static int read_auth_container(struct spl_image_info *spl_image, * It will not override the ATF code, so safe to use it here, * no need malloc */ - container = (struct container_hdr *)spl_get_load_buffer(-size, size); + container = malloc(size); + if (!container) + return -ENOMEM; debug("%s: container: %p sector: %lu sectors: %u\n", __func__, container, sector, sectors); - if (info->read(info, sector, sectors, container) != sectors) - return -EIO; + if (info->read(info, sector, sectors, container) != sectors) { + ret = -EIO; + goto end; + } if (container->tag != 0x87 && container->version != 0x0) { - printf("Wrong container header\n"); - return -ENOENT; + printf("Wrong container header"); + ret = -ENOENT; + goto end; } if (!container->num_images) { - printf("Wrong container, no image found\n"); - return -ENOENT; + printf("Wrong container, no image found"); + ret = -ENOENT; + goto end; } length = container->length_lsb + (container->length_msb << 8); @@ -158,13 +165,18 @@ static int read_auth_container(struct spl_image_info *spl_image, size = roundup(length, info->bl_len); sectors = size / info->bl_len; - container = (struct container_hdr *)spl_get_load_buffer(-size, size); + free(container); + container = malloc(size); + if (!container) + return -ENOMEM; debug("%s: container: %p sector: %lu sectors: %u\n", __func__, container, sector, sectors); if (info->read(info, sector, sectors, container) != - sectors) - return -EIO; + sectors) { + ret = -EIO; + goto end; + } } #ifdef CONFIG_AHAB_BOOT @@ -175,7 +187,7 @@ static int read_auth_container(struct spl_image_info *spl_image, SECO_LOCAL_SEC_SEC_SECURE_RAM_BASE); if (ret) { printf("authenticate container hdr failed, return %d\n", ret); - return ret; + goto end_auth; } #endif @@ -200,6 +212,10 @@ end_auth: if (sc_seco_authenticate(-1, SC_SECO_REL_CONTAINER, 0)) printf("Error: release container failed!\n"); #endif + +end: + free(container); + return ret; } From patchwork Fri Jun 2 06:46:03 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: 1789486 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=YtWrLXJY; 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 4QXXRT5P0Nz20QH for ; Fri, 2 Jun 2023 16:00:37 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id DD5E686634; Fri, 2 Jun 2023 07:55:44 +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="YtWrLXJY"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 118BD8662A; Fri, 2 Jun 2023 07:55:44 +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=-0.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FORGED_SPF_HELO,SPF_HELO_PASS,T_SCC_BODY_TEXT_LINE, T_SPF_PERMERROR autolearn=no autolearn_force=no version=3.4.2 Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on0607.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe02::607]) (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 63FFA86617 for ; Fri, 2 Jun 2023 07:55:39 +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=BJq6M1haNMDgAdQWhTzpMFMN6L6Lt/wAQ2mDkFq7cjtsJEeo5imRlYtiDcbELiHoAHg1LJXW2owtwTaYpv7HzuQYIDosXED+NgtmbH9Ts/DRaOsZZJYGvx+MOz9kBq+NW0Ql1THGEhV8WAturpboAPsRrcCW9TL6aymZ1jNt4KV66OfrWAa3GG5EfzQ7n1Tz0HR4eNzthH0BhAdpMGkCoQTqlmyrQAjBbBo7wjKKERUd2Ylu93Prr4tVfYcgCL6KQmBdGKWJltKCjKzO92pchjIVx2oPMuGRpuQzaWeb8q3pl0gIP6sf+dq47pY9XtxR0SSzcNMh3G43BXlGwRrdvQ== 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=J+Rrhm32d5ABctRninXKEfOA39s2GGuBnUElzBYbl2g=; b=CxMg1v3G0Jw8LpzhtQSsOlxIvqPT9aEQK92UZ1UmunTyhOLpXRWTY2WYEqFDKmntX31guFV23aVNqTstaNXnqOawAe4He0uWNXjPMx2On78qC3nt4moH7ZxYhtnHl2veh8xYkifaOQZme04K++5p3kkpMMwzFrOsA7nrTZC6mw/149qGFWksiIr9NVD5XfnVD7JX0G8+exVxMPpiyclsgkwfmF7y4DyhQL/U3nYB4B8RKowpV7dWliCu9yI9KpsvkBigd8wJEGOh81tjrqtia3thDNLlq6YirI+s76RZ56N769oz4naDOuSy1c1v1vX5l41zIPAaJa8rQiHNWdGhtA== 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=J+Rrhm32d5ABctRninXKEfOA39s2GGuBnUElzBYbl2g=; b=YtWrLXJY9ND5+PUDT45OFzBp5oigk3XAdHbQkl4IrkiusLkb6or0rNa4/5puFCyyJjlb62MrFqyouwHc/sjqrQHs8Ym6xnEzkzk5Gk1RFIXAVSLmczBge0vebI/9mfgT9Yo18sPhTr8Yrralx/JhBewsTaGHOgQ6+lNsTDzKGLU= 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 AM8PR04MB7362.eurprd04.prod.outlook.com (2603:10a6:20b:1c5::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.24; Fri, 2 Jun 2023 05:55:37 +0000 Received: from DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::7b3d:4c2a:1636:da28]) by DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::7b3d:4c2a:1636:da28%6]) with mapi id 15.20.6455.020; Fri, 2 Jun 2023 05:55:37 +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 26/30] imx: ahab: Update AHAB for iMX8 and iMX8ULP Date: Fri, 2 Jun 2023 14:46:03 +0800 Message-Id: <20230602064607.17222-27-peng.fan@oss.nxp.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230602064607.17222-1-peng.fan@oss.nxp.com> References: <20230602064607.17222-1-peng.fan@oss.nxp.com> X-ClientProxiedBy: SG2PR06CA0194.apcprd06.prod.outlook.com (2603:1096:4:1::26) 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_|AM8PR04MB7362:EE_ X-MS-Office365-Filtering-Correlation-Id: 89e763ee-1070-4bec-2380-08db632dfcbc 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: FmDLsr4GXYu0UwgK4V9fIzoyXQKyqF1A8ewlJFZ/n5BiYM4qKYCn08MowP39ovNXwqp3Vo4jqfF01p95GRFXv20A+bOqJxXPVsglag6rvHxLtyF4DMRIb0sERZ2FNWjfnuixR70TYFE0Zjh3t1C78UWHfv1ecwj7N69D6IHRubdHu92yXTnMIqY6XkaLCTXzCzn2SHeZR1VLMko+z+N4d7zhURmvMCxetRJgTUs5WcdWkxE5S/8037GPghL91AQVE9nVDgaV1WviqTjeYTQD6oatT6KLYC/vCS9hh0Z2YvCC7Cf8wckhidXRg2Ou0G/7b6nMf5Id2oSvf+At1YwWIDEthW1UyAQNsNT/7YPxEg5ZZ481o0LzkOuNP7rwUZxSqmWJ8QNHOQXg90PF2PYCwW4Fsc3x4QPOly71Vbe0vRdc8ax+v67OafDqWHT6fK1NByMeV0BkwRxeWRuGPY+xTxBMDBhcZ0qSG/6HhIby+sRXYcTg68reQdf8EMd8pDYvvVFNidV4wkG2IckBOryR7A1en3RTeTlVcaryQHin6QuSJZOv7C5IEqRKP8+bLsaY5BkQf6TdRBB9BgPYrR6e+14/nD24r+6PxJ8Kq1G8vqYYeHSTp+Yv/8VwK6J2ODVxA6LebTcH4IBMst1tIomBlw== 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:(13230028)(4636009)(366004)(136003)(39860400002)(396003)(376002)(346002)(451199021)(83380400001)(4326008)(66946007)(41300700001)(38350700002)(38100700002)(316002)(6486002)(6666004)(6506007)(52116002)(6512007)(1076003)(26005)(66476007)(66556008)(2906002)(6862004)(8936002)(8676002)(5660300002)(2616005)(478600001)(86362001)(186003)(32563001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: IVxxGtUOFVcxmX0JK/MzteLlxOXddKKWU7cEGcx3E4gAQW5JN17WRF7DNNAPjgna7e8Vqa2wnmH3UmvnJ5sIrbBM6CKmgZwbGItFAULG26iv+oAb/zG4HZE0EnFyz7CKxWt0UBuONhBsfWygkQ3eFSQZBYjxpjMRwgBWz+FSW6rhmx7sUgIVUaka0c123S84KKYFtNtsYF9KjPp0J1lT4vj0JzQ1zhx7rm/Wv4wKSD1AKzRNM1mz4b6IFP3F+c9HVkIiNYuQCq7heNyC235OQji1P4ikvBP/nDEKuxz/WbC8ET0/FAuX22DexW5v1GL335O96OxyX0JRQ5CYiPjx9IoGB+7MUftBRjuw8klSjbb9kuemVAX1eAVmmg6wplJXvOObsdaVv7hmQvfyWsE1tc8TNxJkTQkH2x7AKwBpik7y0YUSHHKRV0rDjQjeZazYSkq6DLLYxX6vqUNiYqFbqh55lYvNldSsxkEG0olCrPcwF5lh0cIyQ/oGMPBJj3PIHdCWhWUTjzCGSk1PPBoPtm44BcRd/zTA2riO6NNZL4G2g0UHr3yqSKkJF70/R1sSI5kd3oye9EIRGU8l99paTPgzO704E6hk1/WD8ByuN/kR8aHU6EHEEeBQ+eCzoKFuYzEZKQibHG2HGiOH8k2hYQjc8JT8+5tDUiJM3hVPs53s3x6zRNbHfJPo4cdn5ngOU8sFuf+zP2cDuvmJ27R24SBvaX8Fs5E8/BWyXEzfpBNa1zp9LePcPncqnoVJW8h/3u+MIpw7g1krObOfMx5M+l/WI9vV5C4Bda9pfTHosEixWtwMKLQ+29lPUhtWZs65yZYvTDhnf2iNgp8Xio1rQ3f6YxZzG3/zEYqbnMVwQ/Rt+vk79wNfOSkctfqrDFA6HRtBlXEFjgO+AMxglJJnxk9qEv60E9FSweAXdimcyXHEvCHqhQJBJUDgzLKUaNLkUnhi71CgYluVAU4ubsYZ3VCT+1MuFC0CSH6Hggqc0qv1G834+/v9PmtfT0ztv985uDxC/jdVSfbjzynDzBmmR/jTOpeNKJhkk8QaXBz+JxgOgH+yvCCm7rHZiNG89WVsiAyYPOHGQkmC2Yl1p7lSRUGUSGtqGnk3+eEgCMDcZVO8VuF3ACRKQuHYaxr+DPIeleZpCZTkbftd5CoesqVygPI5raKNJ8b8vE4oXRLPM9zkux5/8sqTHPXbDNDWbnAuavyobj1fTitcqRUMsCaWhHb3BV3w4SuWlVABIh/5iSLlaY7KnoBhZ4zCvi7TH6SSKqPfi9QLPpKjFOuHJ5mr1xZuK0cqkpzwJ4bZKx+ul8WU2MDdVz0KlcPcfEqIsAi2R+mmUAegEfaK88ow42Wb+xoBK42faDHmbCXUkaQEIDTYSrIaxF+vSw8bboVSgu3d3pT1zY713s5c7BkEJoy+48Um6Rghz6c/v0JABYzZAZeCHt449dhOVLshI+ZUyNKnJspuLlVw8lPqZfkRJUt6lk90WB7LH2u9nQOAG7L4G3NibU3glLeXzzHbw/lMd/+Ej+kc/AsT6QGqWnTi+1xj3X1+CEqhw+bzZ2lZAoNxkTLUO7CguV1WKXGCwZY3tcDs X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 89e763ee-1070-4bec-2380-08db632dfcbc X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9417.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jun 2023 05:55:37.0983 (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: kSTK9Imo3BzGHus7tQir1iPpZd+TNbcNENerQF32IHZwWly9ulMdPLfmm/UnkiCaFPAok8nMCFksj1rKjl5VoA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7362 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 From: Ye Li Abstract common interfaces for AHAB authentication operations. Then share some common codes for AHAB and SPL container authentication Signed-off-by: Ye Li Signed-off-by: Peng Fan --- arch/arm/include/asm/mach-imx/ahab.h | 15 ++++ arch/arm/mach-imx/imx8/ahab.c | 129 +++++++++++++++++---------- arch/arm/mach-imx/imx8ulp/Makefile | 1 - arch/arm/mach-imx/parse-container.c | 81 ++--------------- 4 files changed, 103 insertions(+), 123 deletions(-) create mode 100644 arch/arm/include/asm/mach-imx/ahab.h diff --git a/arch/arm/include/asm/mach-imx/ahab.h b/arch/arm/include/asm/mach-imx/ahab.h new file mode 100644 index 00000000000..4222e3db278 --- /dev/null +++ b/arch/arm/include/asm/mach-imx/ahab.h @@ -0,0 +1,15 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ +/* + * Copyright 2020 NXP + */ + +#ifndef __IMX_AHAB_H__ +#define __IMX_AHAB_H__ + +#include + +int ahab_auth_cntr_hdr(struct container_hdr *container, u16 length); +int ahab_auth_release(void); +int ahab_verify_cntr_image(struct boot_img_t *img, int image_index); + +#endif diff --git a/arch/arm/mach-imx/imx8/ahab.c b/arch/arm/mach-imx/imx8/ahab.c index 86b0e0b755f..c878743feeb 100644 --- a/arch/arm/mach-imx/imx8/ahab.c +++ b/arch/arm/mach-imx/imx8/ahab.c @@ -16,6 +16,7 @@ #include #include #include +#include DECLARE_GLOBAL_DATA_PTR; @@ -25,6 +26,84 @@ DECLARE_GLOBAL_DATA_PTR; #define SECO_PT 2U +int ahab_auth_cntr_hdr(struct container_hdr *container, u16 length) +{ + int err; + + memcpy((void *)SEC_SECURE_RAM_BASE, (const void *)container, + ALIGN(length, CONFIG_SYS_CACHELINE_SIZE)); + + err = sc_seco_authenticate(-1, SC_SECO_AUTH_CONTAINER, + SECO_LOCAL_SEC_SEC_SECURE_RAM_BASE); + if (err) + printf("Authenticate container hdr failed, return %d\n", err); + + return err; +} + +int ahab_auth_release(void) +{ + int err; + + err = sc_seco_authenticate(-1, SC_SECO_REL_CONTAINER, 0); + if (err) + printf("Error: release container failed!\n"); + + return err; +} + +int ahab_verify_cntr_image(struct boot_img_t *img, int image_index) +{ + sc_faddr_t start, end; + sc_rm_mr_t mr; + int err; + int ret = 0; + + debug("img %d, dst 0x%llx, src 0x%x, size 0x%x\n", + image_index, img->dst, img->offset, img->size); + + /* Find the memreg and set permission for seco pt */ + err = sc_rm_find_memreg(-1, &mr, + img->dst & ~(CONFIG_SYS_CACHELINE_SIZE - 1), + ALIGN(img->dst + img->size, CONFIG_SYS_CACHELINE_SIZE) - 1); + + if (err) { + printf("Error: can't find memreg for image load address 0x%llx, error %d\n", + img->dst, err); + return -ENOMEM; + } + + err = sc_rm_get_memreg_info(-1, mr, &start, &end); + if (!err) + debug("memreg %u 0x%llx -- 0x%llx\n", mr, start, end); + + err = sc_rm_set_memreg_permissions(-1, mr, + SECO_PT, SC_RM_PERM_FULL); + if (err) { + printf("Set permission failed for img %d, error %d\n", + image_index, err); + return -EPERM; + } + + err = sc_seco_authenticate(-1, SC_SECO_VERIFY_IMAGE, + 1 << image_index); + if (err) { + printf("Authenticate img %d failed, return %d\n", + image_index, err); + ret = -EIO; + } + + err = sc_rm_set_memreg_permissions(-1, mr, + SECO_PT, SC_RM_PERM_NONE); + if (err) { + printf("Remove permission failed for img %d, error %d\n", + image_index, err); + ret = -EPERM; + } + + return ret; +} + static inline bool check_in_dram(ulong addr) { int i; @@ -46,8 +125,6 @@ int authenticate_os_container(ulong addr) struct container_hdr *phdr; int i, ret = 0; int err; - sc_rm_mr_t mr; - sc_faddr_t start, end; u16 length; struct boot_img_t *img; unsigned long s, e; @@ -76,14 +153,9 @@ int authenticate_os_container(ulong addr) length = phdr->length_lsb + (phdr->length_msb << 8); debug("container length %u\n", length); - memcpy((void *)SEC_SECURE_RAM_BASE, (const void *)addr, - ALIGN(length, CONFIG_SYS_CACHELINE_SIZE)); - err = sc_seco_authenticate(-1, SC_SECO_AUTH_CONTAINER, - SECO_LOCAL_SEC_SEC_SECURE_RAM_BASE); + err = ahab_auth_cntr_hdr(phdr, length); if (err) { - printf("Authenticate container hdr failed, return %d\n", - err); ret = -EIO; goto exit; } @@ -105,50 +177,13 @@ int authenticate_os_container(ulong addr) flush_dcache_range(s, e); - /* Find the memreg and set permission for seco pt */ - err = sc_rm_find_memreg(-1, &mr, s, e); - if (err) { - printf("Error: can't find memreg for image load address 0x%llx, error %d\n", img->dst, err); - ret = -ENOMEM; - goto exit; - } - - err = sc_rm_get_memreg_info(-1, mr, &start, &end); - if (!err) - debug("memreg %u 0x%llx -- 0x%llx\n", mr, start, end); - - err = sc_rm_set_memreg_permissions(-1, mr, SECO_PT, - SC_RM_PERM_FULL); - if (err) { - printf("Set permission failed for img %d, error %d\n", - i, err); - ret = -EPERM; - goto exit; - } - - err = sc_seco_authenticate(-1, SC_SECO_VERIFY_IMAGE, - (1 << i)); - if (err) { - printf("Authenticate img %d failed, return %d\n", - i, err); - ret = -EIO; - } - - err = sc_rm_set_memreg_permissions(-1, mr, SECO_PT, - SC_RM_PERM_NONE); - if (err) { - printf("Remove permission failed for img %d, err %d\n", - i, err); - ret = -EPERM; - } - + ret = ahab_verify_cntr_image(img, i); if (ret) goto exit; } exit: - if (sc_seco_authenticate(-1, SC_SECO_REL_CONTAINER, 0)) - printf("Error: release container failed!\n"); + ahab_auth_release(); return ret; } diff --git a/arch/arm/mach-imx/imx8ulp/Makefile b/arch/arm/mach-imx/imx8ulp/Makefile index f7692cf3a78..2c9938fcdf0 100644 --- a/arch/arm/mach-imx/imx8ulp/Makefile +++ b/arch/arm/mach-imx/imx8ulp/Makefile @@ -5,7 +5,6 @@ obj-y += lowlevel_init.o obj-y += soc.o clock.o iomux.o pcc.o cgc.o rdc.o -obj-$(CONFIG_AHAB_BOOT) += ahab.o ifeq ($(CONFIG_SPL_BUILD),y) obj-y += upower/ diff --git a/arch/arm/mach-imx/parse-container.c b/arch/arm/mach-imx/parse-container.c index c5b3abc4f29..e2a9e2b2732 100644 --- a/arch/arm/mach-imx/parse-container.c +++ b/arch/arm/mach-imx/parse-container.c @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0+ /* - * Copyright 2018-2019 NXP + * Copyright 2018-2021 NXP */ #include @@ -10,67 +10,7 @@ #include #include #ifdef CONFIG_AHAB_BOOT -#include -#endif - -#define SEC_SECURE_RAM_BASE 0x31800000UL -#define SEC_SECURE_RAM_END_BASE (SEC_SECURE_RAM_BASE + 0xFFFFUL) -#define SECO_LOCAL_SEC_SEC_SECURE_RAM_BASE 0x60000000UL - -#define SECO_PT 2U - -#ifdef CONFIG_AHAB_BOOT -static int authenticate_image(struct boot_img_t *img, int image_index) -{ - sc_faddr_t start, end; - sc_rm_mr_t mr; - int err; - int ret = 0; - - debug("img %d, dst 0x%x, src 0x%x, size 0x%x\n", - image_index, (uint32_t)img->dst, img->offset, img->size); - - /* Find the memreg and set permission for seco pt */ - err = sc_rm_find_memreg(-1, &mr, - img->dst & ~(CONFIG_SYS_CACHELINE_SIZE - 1), - ALIGN(img->dst + img->size, CONFIG_SYS_CACHELINE_SIZE) - 1); - - if (err) { - printf("can't find memreg for image %d load address 0x%llx, error %d\n", - image_index, img->dst & ~(CONFIG_SYS_CACHELINE_SIZE - 1), err); - return -ENOMEM; - } - - err = sc_rm_get_memreg_info(-1, mr, &start, &end); - if (!err) - debug("memreg %u 0x%llx -- 0x%llx\n", mr, start, end); - - err = sc_rm_set_memreg_permissions(-1, mr, - SECO_PT, SC_RM_PERM_FULL); - if (err) { - printf("set permission failed for img %d, error %d\n", - image_index, err); - return -EPERM; - } - - err = sc_seco_authenticate(-1, SC_SECO_VERIFY_IMAGE, - 1 << image_index); - if (err) { - printf("authenticate img %d failed, return %d\n", - image_index, err); - ret = -EIO; - } - - err = sc_rm_set_memreg_permissions(-1, mr, - SECO_PT, SC_RM_PERM_NONE); - if (err) { - printf("remove permission failed for img %d, error %d\n", - image_index, err); - ret = -EPERM; - } - - return ret; -} +#include #endif static struct boot_img_t *read_auth_image(struct spl_image_info *spl_image, @@ -111,10 +51,8 @@ static struct boot_img_t *read_auth_image(struct spl_image_info *spl_image, } #ifdef CONFIG_AHAB_BOOT - if (authenticate_image(&images[image_index], image_index)) { - printf("Failed to authenticate image %d\n", image_index); + if (ahab_verify_cntr_image(&images[image_index], image_index)) return NULL; - } #endif return &images[image_index]; @@ -180,15 +118,9 @@ static int read_auth_container(struct spl_image_info *spl_image, } #ifdef CONFIG_AHAB_BOOT - memcpy((void *)SEC_SECURE_RAM_BASE, (const void *)container, - ALIGN(length, CONFIG_SYS_CACHELINE_SIZE)); - - ret = sc_seco_authenticate(-1, SC_SECO_AUTH_CONTAINER, - SECO_LOCAL_SEC_SEC_SECURE_RAM_BASE); - if (ret) { - printf("authenticate container hdr failed, return %d\n", ret); + ret = ahab_auth_cntr_hdr(container, length); + if (ret) goto end_auth; - } #endif for (i = 0; i < container->num_images; i++) { @@ -209,8 +141,7 @@ static int read_auth_container(struct spl_image_info *spl_image, end_auth: #ifdef CONFIG_AHAB_BOOT - if (sc_seco_authenticate(-1, SC_SECO_REL_CONTAINER, 0)) - printf("Error: release container failed!\n"); + ahab_auth_release(); #endif end: From patchwork Fri Jun 2 06:46:04 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: 1789488 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=85.214.62.61; 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=F5SWeMUi; dkim-atps=neutral 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 (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4QXXS23hqfz20QH for ; Fri, 2 Jun 2023 16:01:06 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id E6C2586627; Fri, 2 Jun 2023 07:55:54 +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="F5SWeMUi"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id A8CA186625; Fri, 2 Jun 2023 07:55:50 +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=-0.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FORGED_SPF_HELO,SPF_HELO_PASS,T_SCC_BODY_TEXT_LINE, T_SPF_PERMERROR autolearn=no autolearn_force=no version=3.4.2 Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on0600.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe02::600]) (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 AF8B78662F for ; Fri, 2 Jun 2023 07:55: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=peng.fan@oss.nxp.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lcWeu0c+mWBduGJMuHk7Md0WdtRqaf2Y1QJKQYRCgaWi+bkF+XFeicGhSXbrosXJE8HJzyNAODx99NnjW8Jprh2IRk5J38L5PcHzcw7qlOgxb5HCeF3j0f0E6sMdiKmEquCZL/i1o59eTvmFZZ+v0K18X3S01ljiOAPxXfmryZ5PM6kPr00p2Sp1uy0Zzjn2clL7kRjIKHaMpF6hYtYMs5kwFUGi/BAXbtri5M9OdVhwLO/k2SYJ3bMFCZck+8qU33H4jgA66jXh0CxKB8/B7rZoBS5nWxeVDxU9fu+/eYDA4oHC5/+ajr3Urv5qsHzkN0yHUV/RGO18HOyq3mr50w== 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=lCiEpGUwub0tWNFvvk49N9jFlMu4CeAomrnC1TvL/e4=; b=XWtxNwAbzYboDxw7sMRvNBJ+BxKDOGei0t+kwYtuLSFYFvRx5WCZvax7aLDuSWc9aut+KKEA/u0FdW04GLAjDJoIHpIFamIxCVy4px4FhdEqvosW3PQzXA+Zn99uhKQgQur57CsM+HaJ+7ZBqj4pvh9wdv4vMJc9H1NJyPVVpUQqRXR2Bp6OPXZjh7OPbCpvkVGVH/is4DS/MtN826qeFzIgb07Ks3e1dOS0sSFUlGeMOPEyvartn/NhxvN85jblwsB7orTl6FcbHC9ZnxD+R+O7jOCEMUMOCh8nMH+G7zh1/l+4cUYsaan43IAgavtuXahrguyDRdogojsgONKTYg== 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=lCiEpGUwub0tWNFvvk49N9jFlMu4CeAomrnC1TvL/e4=; b=F5SWeMUi1DiyeS/4NiLM+piqr/066IpZqp0Es5El1vgz4m1IxmGbkRngBzWK9VFXt76ZQsVWyoHDziWjPfVwRHFxsGyEFGjVxiGFvARsIypYbbc418138PK5GF6r0VvMkOASNiNX8zyYPh4PJ0ukVR83RFsrwVwGTs5wjYJtlUA= 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 AM8PR04MB7362.eurprd04.prod.outlook.com (2603:10a6:20b:1c5::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.24; Fri, 2 Jun 2023 05:55:39 +0000 Received: from DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::7b3d:4c2a:1636:da28]) by DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::7b3d:4c2a:1636:da28%6]) with mapi id 15.20.6455.020; Fri, 2 Jun 2023 05:55:39 +0000 From: "Peng Fan (OSS)" To: sbabic@denx.de, festevam@gmail.com, "NXP i.MX U-Boot Team" Cc: u-boot@lists.denx.de, Gaurav Jain Subject: [PATCH 27/30] imx: imx8: ahab: sha256: enable image verification using ARMv8 crypto extension Date: Fri, 2 Jun 2023 14:46:04 +0800 Message-Id: <20230602064607.17222-28-peng.fan@oss.nxp.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230602064607.17222-1-peng.fan@oss.nxp.com> References: <20230602064607.17222-1-peng.fan@oss.nxp.com> X-ClientProxiedBy: SG2PR06CA0194.apcprd06.prod.outlook.com (2603:1096:4:1::26) 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_|AM8PR04MB7362:EE_ X-MS-Office365-Filtering-Correlation-Id: a719c1e1-3e28-4bf2-d67a-08db632dfe66 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: kWSi0A0cB+HNHPNMHn4EGNEBvB+g71rYf6fwSidG+pQQ/Z0gycXvjddcyDSllg6RGmJqAlPcghdV+0WqhpOCcmZggGQy/LIGARQQS8fZB7O4lLZs8X7ZJoMZqTwoDymOjUbJ1JKMT4bM+DyEWLgESrzB0lDugisroVFeik4WdFT89YznhL1GX0m7bKvHqX+RACTd7f1rBTUU9uJU42ckW/Xiux2GC7lOlct8yl8EIAOx12mauDa52v6q6pkAoA7IvrAvoWEwWauFbqRMB3OmIeekYjFT8pwOO2cUh1dnn70ZjCiSGodZ76pl58nhoji0iWj8uN2TVcXqprOVaqS2RpNRhl/GdwXw+rRZOTPbUuIsoxItm9XnvTGy32rtGe0H9QHP2bI/8mVexbDU7xjiV+X7olCis7P91HjVnwaw14Yj/5r7ksPJeRnLBr8oxIO1XL7dk53SwvlwkL6gOIrtIBJuCZkuuFSYhaSYEb1+Kr87wUU1kWCI7JHLcKdr00mZuWeVCooCFKYlZlafFMdzlKKgNte06AAQvwWoR/kdGJXZp/WHF5fwHc4i3B5tgb+EfuuB4yQ3TP+fA1HQbRl2LpyX3DMUZKfMrvsKLZAOBAkNgpg+/2fkxFf7sCHelKA+ 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:(13230028)(4636009)(366004)(136003)(39860400002)(396003)(376002)(346002)(451199021)(83380400001)(4326008)(66946007)(41300700001)(38350700002)(38100700002)(316002)(6486002)(6666004)(6506007)(52116002)(6512007)(1076003)(26005)(66476007)(66556008)(2906002)(6862004)(8936002)(8676002)(5660300002)(2616005)(478600001)(86362001)(186003)(15650500001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: N0ec7gJvSibn4Qj4Sr6uPxmKc5/wC3a0VDKpjiHysepwkCamLOBdGZpKwDr7T7Q5K9629KG3uABLBxBvTb1sTesOAlqdMkTGcwNJqbSGpp6zpGFt0piFQkQD6N2IwoLaqtQcP/Q0lriY0id7+GZt+00gsi716Cp008+57yVLeTT2q2m70vy19Wu8Fxul9bYSkB9mK3JFZaKWTCnnLlJ4kJWczpIJoKaw3ccdlreU1vh/xGdi53H66YiDmRp07VMlbpRuTTn0YiV1SOJK44QMHcFlaM/Yp8/tZwqqVvOaHUCDTn0wFpxMVtmhTpWAN0yOyK0bKb5hurXy/qama68tBWiv4awZCwej6g/GEpr3iGxI5yRdYBCuyOAlmv4LwSTWsXl8vpAaH9XQb+gj3Q1T/0Qxltn/rpaRtotrcUPvNtoNzpXyjkvPvsdCZ0oPwODQt56Q/j1F8eIrdo05tBtgKW/3a7SAR9+xqeJZMrIpMRzIdOgHMCfLbPPwyl4PPIXgIlZayiToFqQDrPTJLqkSKOEFhdd4ZIpxAHLFES2UqPkZ6UGdW8SF7M85sd2BihR+ejbkHKk0+C1CaB3JX88Drce7trisNL5ariiOnI07sLLU6lgPBEQ16aNf80XAOjRayNFIkqknGv3iiFH9V7mpgH5MoUg5GJn+lhNT+vMTO2A6+NOoKPaAJQ9zp75LO4dknbPnYRnoZhWzuQuRhjZqIesRrq6qVN3pO7+Qdgxp0zI9H4ojLDokRCr2GI7U0dy2f+iD17BOe+OUjblQbmzlDREP6u4YLYNgdR8wBVYP+x5nDVKpi/6+dKrdgPbMbdYudomSEX1bJdf8IscKxQbZB1jHgmXnPrlxMAknPn9Ys21neiZpnOSws2zdPQLslbMmCvNUQFLMSfAG7Ei3VV2nEUFGCzsfXA+7K0APyU0enggxDwxqr7ja9zio36YI5lgdPif41WwBEBXM/UsyBQ8P7Pq9OMkMp/vIPC87Eu8T1Qr8vsqFrj1d1+CGXNgXSeuQzUk2AudcgYhhntFuwJkifP0A3v2bBAH+GMS3SqSpLDTALsiS30FeUpXci9SDI0f+2cqNwfVl2KNEj+t6YL+c7FvGapFtjfgbEAlQUgXbY2DDFDmRMJzyZgD7AxunDVLQiMrmQabYvp+S3ILoj3AQKec8MH+V0mYW/hsjuGRHsudbDYs28N/SV1GEOtKJ8+GrNLuwhff1L/0vVlCQhL2oZtSJ6q3cAe7a5wCgR8zakkpV3IV8Wi4sBRrD5+3+mIJSimA7N3fsNpUdZprBuu+fUCjPV5eLNDbnDiYmWNI/i3SRnJuHkmGnlcFGnrJqoHQbsETDWRKDEI1/htfhwJ41CbDXNiFZtmORnDnMN0dJe4ipg8ep+TCtIkKAIqxJsuw8ScEIZ1WOWV/RiAJyYm8QpqK+cA8vZXStPkze4539DU5L8jL16GyYdfdw5rNNW2b2gqNrHJ3LxKlnuufrXNJx3IMmT93Cs2tUTlewbaaKV6JBsIeDThI5h48Z0bpra/EjBoHGG9nlcG43CG8DIKShd33XWJw9Va4uFfdA1hJYEdd0QwBMfAQun5uMhYAcUPSN X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: a719c1e1-3e28-4bf2-d67a-08db632dfe66 X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9417.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jun 2023 05:55:39.7897 (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: zK6QltLJUl20LX9v6o49+YRHn+I15CGhCbqJ9PcfAUCG+Sml5ETsx4atQlaI0dOai0iPRPNffycaoVrTCy7Q7w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7362 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 From: Gaurav Jain add support for SHA-256 secure hash algorithm using the ARM v8 SHA-256 instructions for verifying image hash. Signed-off-by: Gaurav Jain Signed-off-by: Peng Fan --- arch/arm/mach-imx/imx8/ahab.c | 28 ++++++++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/arch/arm/mach-imx/imx8/ahab.c b/arch/arm/mach-imx/imx8/ahab.c index c878743feeb..b58b14ca9b4 100644 --- a/arch/arm/mach-imx/imx8/ahab.c +++ b/arch/arm/mach-imx/imx8/ahab.c @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0+ /* - * Copyright 2018-2019 NXP + * Copyright 2018-2019, 2022 NXP */ #include @@ -16,6 +16,7 @@ #include #include #include +#include "u-boot/sha256.h" #include DECLARE_GLOBAL_DATA_PTR; @@ -25,6 +26,8 @@ DECLARE_GLOBAL_DATA_PTR; #define SECO_LOCAL_SEC_SEC_SECURE_RAM_BASE (0x60000000UL) #define SECO_PT 2U +#define AHAB_HASH_TYPE_MASK 0x00000700 +#define AHAB_HASH_TYPE_SHA256 0 int ahab_auth_cntr_hdr(struct container_hdr *container, u16 length) { @@ -128,6 +131,9 @@ int authenticate_os_container(ulong addr) u16 length; struct boot_img_t *img; unsigned long s, e; +#ifdef CONFIG_ARMV8_CE_SHA256 + u8 hash_value[SHA256_SUM_LEN]; +#endif if (addr % 4) { puts("Error: Image's address is not 4 byte aligned\n"); @@ -177,9 +183,23 @@ int authenticate_os_container(ulong addr) flush_dcache_range(s, e); - ret = ahab_verify_cntr_image(img, i); - if (ret) - goto exit; +#ifdef CONFIG_ARMV8_CE_SHA256 + if (((img->hab_flags & AHAB_HASH_TYPE_MASK) >> 8) == AHAB_HASH_TYPE_SHA256) { + sha256_csum_wd((void *)img->dst, img->size, hash_value, CHUNKSZ_SHA256); + err = memcmp(&img->hash, &hash_value, SHA256_SUM_LEN); + if (err) { + printf("img %d hash comparison failed, error %d\n", i, err); + ret = -EIO; + goto exit; + } + } else { +#endif + ret = ahab_verify_cntr_image(img, i); + if (ret) + goto exit; +#ifdef CONFIG_ARMV8_CE_SHA256 + } +#endif } exit: From patchwork Fri Jun 2 06:46:05 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: 1789487 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=I4tZ76Nz; 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 4QXXRl75Ktz20QH for ; Fri, 2 Jun 2023 16:00:51 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 8AE4386618; Fri, 2 Jun 2023 07:55:51 +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="I4tZ76Nz"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 647E586624; Fri, 2 Jun 2023 07:55:50 +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=-0.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FORGED_SPF_HELO,SPF_HELO_PASS,T_SCC_BODY_TEXT_LINE, T_SPF_PERMERROR autolearn=no autolearn_force=no version=3.4.2 Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on061e.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe02::61e]) (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 474D48662C for ; Fri, 2 Jun 2023 07:55:44 +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=A2hR9cxUnGJ/ZpRkdfRQngUJd90yMm+qBUbTHbUwMTtQEM6T90W/lFoLNdlq2tIeNCQd0hFIC1i++Sa6gI+UGw/4MwRWl70sU8GhTvFlK2XIQt6QUKqNhvKj4/mHf7VAYLDNBKvlsvvt5WIcYoGxdaIrx7MQ0pRQROShZNc91mH/l+qOUeF+skO7t8s99udRaW6RmGf3Y72UOTGvI5uofMGhOnz01eLoY72BekTGWKID7mGO667gubLg+E8JBfpJRLIcLeHqd8m2oQaARf3/qdF8jNGHI4qYQ8sL+oJ6wiXOhLr3NlNzKpcclF6Yu2ciBqJ2zlbs2UcDtW7bjeEk7w== 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=Y6dSfrAMI08R+ScYG7vyKD2lM8KsUhLasEBRcioLh+0=; b=FQ0QWDs38mj0NyUf7O6iD3QkCL3Gb4296YxXHfMz0n/kMa1JlWgsFKHlpS3zJcpKM1R6DF99O5LB3BQtDdmwmNOcnMhW6H8FylfwqmI0HhUhvddIvRc1yd3uZQkItw+g/Zp1Qi0z+q7mYUGYCohJbvVa2Whj0a8PBZUngMcQoRujm4tDYKyHwTLt2y+5RiAV2I+J5+WDMcbBNU4hZkE6T9l24PcxrURspc8R+NbLo8PxYVhGSofCBzYoLjJi63n02iyd03LSpBAImCQ8B63CTwi9D/c3VNvVcyeBOUd1bZYxpztRm/h6anCCagSnSLoBFOZw89ITkObwMEZwUBJ5xg== 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=Y6dSfrAMI08R+ScYG7vyKD2lM8KsUhLasEBRcioLh+0=; b=I4tZ76NzKVBoqCDiUXI26hgg0+n2kx62pOGOL82POtC5Rg+NFJtUcSV66bkHlC0Ym3WOrkiMgp9a5H24PrZJrxxuI6x0taQFGIwRNb01mifu5ZyvQfBm7ZFLwxe4KigNcE/t9UKOVxwZR+zilk8yNZx6kYbqmP9+ctAGSLgvw0o= 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 AM8PR04MB7362.eurprd04.prod.outlook.com (2603:10a6:20b:1c5::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.24; Fri, 2 Jun 2023 05:55:42 +0000 Received: from DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::7b3d:4c2a:1636:da28]) by DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::7b3d:4c2a:1636:da28%6]) with mapi id 15.20.6455.020; Fri, 2 Jun 2023 05:55:42 +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 28/30] imx: imx8m: add CAAM_BASE_ADDR Date: Fri, 2 Jun 2023 14:46:05 +0800 Message-Id: <20230602064607.17222-29-peng.fan@oss.nxp.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230602064607.17222-1-peng.fan@oss.nxp.com> References: <20230602064607.17222-1-peng.fan@oss.nxp.com> X-ClientProxiedBy: SG2PR06CA0194.apcprd06.prod.outlook.com (2603:1096:4:1::26) 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_|AM8PR04MB7362:EE_ X-MS-Office365-Filtering-Correlation-Id: 3931fecd-50f8-4819-152b-08db632dfffc 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: SmzthP+/y2e6J+1d2wdB9oUp9dJY69NmM7Z0LDmZuuOZFmpx6wO7P/NfT1x8v0GMZXLDmN462QWXoZnrRlJmIsp1t1n4yJsma7fLAB+BhDaYxOMCiLXexYBk40NveRxoy02q+RaRKZUT5RsRLaAkUVm4Sw40da2hR/UN3RKAZuJyS+TjVJCi5gAt9gqaVP6moFdBloYF3kqB1X8moIeLWsz2pHVSTm7zGcDdRGR1RNWuNg4X3HJuJLifxSbTxyYeFzMzSy+JXZCl8zl5nC9M2b/PIwXlLoqXDEfzoOtPsAwxKQjSe7rl/AnH0rPmECwm2LjGcxbJkfxXI07DMZp1WT/j38ZPnbOfYj0ptSuvmEYXAVtXUbzPIExI3wiz5E8HKy4+92lX24bw3/JyHjnOsqSYeFhgL2zsGARw719Tsq0FpFeUYfDdzFWQ1HClNl63/jalkA6+kOu4E5ByLPQ20kcWaZYv4gkojWPGK7XAl3EvTfn//13wkf3rgo2joxhTh0M/d/JTwDoqut3yfjSRgsmICXXWhbCxDV6QnjrkipqZN6qyDdMgVShMOLR+0+00HNORwbsmC7ixVednYA7qUEPJ73N9+jBLi8aNSZLq45SbXeqWq7JdOFiNtRRajFk7NtelYKOWD3T5Om29A3hY/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:(13230028)(4636009)(366004)(136003)(39860400002)(396003)(376002)(346002)(451199021)(4326008)(66946007)(41300700001)(38350700002)(38100700002)(316002)(6486002)(6666004)(6506007)(52116002)(6512007)(1076003)(26005)(66476007)(66556008)(4744005)(2906002)(6862004)(8936002)(8676002)(5660300002)(2616005)(478600001)(86362001)(186003)(32563001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: nP2SA+WBgUglqsWe+RrsG6PLI680TaD+LFBK9v2eyR2/1Pptb9el851zx0/MY8HfzOeio7oEii8hHrX60AZqMsash4sf+jzXJuChane3aweyHuI93/s6fKfqT56U8OVO3QfbVorUFm8RUtaCAF3/BrNx3CafE8ibw+HAl5thLRihyLfsy5BPQop9P1HXXhSigAGXjuyAIMmZullhnrj1LJ2n8gWO/zgjNeFWqf5GVAhLf6i9UDXEi/7GPaOMqsmNUO1aYCY/emLpXfB59hHaWL6nGLi1EXkl6cFNmSXG9fp1sGshChfbC87bpDn09PPhKPAgEmB/KqqHcC9J398QK+N4iFcNMXnDlcJXT672mtECXAsm/f+0287LwvxueYfr/oAhzIdVpeji3WsvG5NcV0IntOeykKjJ4u9J4hbxFsRXt+ZUb8DhtTlxfEJh19AgO6G2n6Zh0q7VyoOe8tRIsKLHPtTWXThDVCQR1GF8qM5xjjoGLdL2FYjAATnfqRrgoZ27ruF5XKsZl1qc2mfhGbfabhm6bBlijlM7h77vh3Neo7gd56EaCDNVmXoChSnDn5ZvAirEf74N3MtZ1tRNGwK9UViiUvn45645OgwRxAgtSXxFfDISH8y8OHTmaSojH6o64at+7HmS0XLbNAXFfgA1burGg8u5rk+hwgzCmH7l/qxdikgc387Z4gu8IvybLEE7wmQL7GtRyqngHdWOuII4O6gAmNDOSxB8l04Kj4gOvpFEHbRJ8eMiwudP24jRjkDI2E0L7OrJ71gAaI1QrqAJf7M851+jHS4zlMPAZDCMCXziMh0PjXR7Lwgad7vAvlieAjhFStoJ+yVT2bEwp33OOWcbngWiiRbyOsyoX18zde7vNoygR9C4HKrOhFiAaQXsxH1zdtTRmpav9bx+hiB13g9eM7XV8/gtSPmCSFUkpRkuIeRH+G5zBXbi+heX2ffV0UOrJIpXyk+O0uOQKv5kecrx5RRKVo2ZiVZ/xHoB/lOphZJm3g5HS8BzLzS/7rpxYSztnqvdDq7fx+5qMgjHLkOhY46I0gCDjjhDgEDKP+klcnEFyazS5gsotpEedjcIuC3ca3SrvSbTT/6U2Un+79LbXTej92aI4tPJ0yizgBY3edYoG/kTqiMXaqp6IMIOfpa7r4ujEONgjJHeFGgnJrmdYodn+VygrYUgJJ+8IgvWm98eDioMkjtO9Yi8vM5GByBS+oibIUFn6IdbCx0GVPJqj5rb4ul2nUj+pXEzlXdwiffafCFaFhEV8VM1kukRJ8wtnXi2eFqHaM5H3Lx+D5wBvonuJUWU5IHgYQElkXqTuZohfCghCMLpdco1pw6IANCKVEJN6l67u9NSzU3N8QUQzJACk4Dpbunw6VuYcNjJz7XwFNmfXcZVVA05RUHVbICnej3Wo9lVJCn2el0jy7OiL3j4Y7jaxTwGbXCf9mM1utkfccI75XTCYbEgGgkRoBGMn3rVjZ5TJFWeZpnFefyX3PKR6kcHius+rzvYF+iFA7CTq79JWYVZ1Qv5y/wYXZUHsWUi4uSitm0YEG433cqsEVEJWLc5wmeu8bY9ouBofZkVd2lTr9ye+xSW X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3931fecd-50f8-4819-152b-08db632dfffc X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9417.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jun 2023 05:55:42.5601 (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: j/3udEr0T0YZf66/jrIjP+lNdzdj6mOpHD6xsz6bis3SDzPf+tio4pXGxfrGAqjqrAk2hD4FMPDuzvmdWKJnBg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7362 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 From: Peng Fan Add CAAM_BASE_ADDR which will be used by priblob.c Signed-off-by: Peng Fan --- arch/arm/include/asm/arch-imx8m/imx-regs.h | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm/include/asm/arch-imx8m/imx-regs.h b/arch/arm/include/asm/arch-imx8m/imx-regs.h index 8632eddb530..f1b7526ac77 100644 --- a/arch/arm/include/asm/arch-imx8m/imx-regs.h +++ b/arch/arm/include/asm/arch-imx8m/imx-regs.h @@ -40,6 +40,7 @@ #define UART1_BASE_ADDR 0x30860000 #define UART3_BASE_ADDR 0x30880000 #define UART2_BASE_ADDR 0x30890000 +#define CAAM_BASE_ADDR 0x30900000 #define I2C1_BASE_ADDR 0x30A20000 #define I2C2_BASE_ADDR 0x30A30000 #define I2C3_BASE_ADDR 0x30A40000 From patchwork Fri Jun 2 06:46:06 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: 1789489 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=85.214.62.61; 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=KH8WDjcF; dkim-atps=neutral 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 (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4QXXSJ3mGQz20QH for ; Fri, 2 Jun 2023 16:01:20 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id EC64A8661D; Fri, 2 Jun 2023 07:55:57 +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="KH8WDjcF"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 9619686619; Fri, 2 Jun 2023 07:55:51 +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=-0.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FORGED_SPF_HELO,SPF_HELO_PASS,T_SCC_BODY_TEXT_LINE, T_SPF_PERMERROR autolearn=no autolearn_force=no version=3.4.2 Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on0609.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe02::609]) (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 1E02C86623 for ; Fri, 2 Jun 2023 07:55:47 +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=gvUxFV1sZDIb3icCVjH/N3yRj/9fhkwgMvkz/a7ELLr2o2tFvKOJf0p2LQv1uAIy/sG7pfUUA98zfZFvf52OqB22NZTwhAjispke40PpFkcojjTnDvJswR44nRGZ/JfSMRAGf5iUq4gA/9xTLQQa/07GAOKekdUxaYSjodt+eCYk7mksQRDgVFfEqG58J8p1kVW3qvOfh9poayQtDsnLaygu6ALpHRcuuhVskF8Ry0M307gXyGPETAWiAtXoRNHtVZvfuswSqlMA85KdYMTXHMJ8X6OjrC3UINd3KbHWYIWAY0cLLgzMkfjrP1vy6QoibkJShjvM140f8VxbBiU3EQ== 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=omDn0k0T9XVT+JrXhVOYymWeusQ9Y0QzdMwFSc49Aw4=; b=XIrcGNlrLloTmVzTlZ6HFf9WMOT8NSHUGmyN29yqaUmDk7vlJQX9yi1PzWRouBlmq2sMHhUm1uu+seahwsC6+OAiZUUr3vqs7JHHTbPGN/lh6kamDAAm2rYNEYelBSpYWooHokmJZT5mH7sC3bX+rteoCTWJGJOvdys47es344z1+TRjCxWYuaFHkhqx4sBVjrG3RkReBdHXoVtqSbu9PqcgFKqnzH/Eeg7L0oWE/8Um3Vw1YBLhvrxP+8yqvqEWseM7fitXeKDfb9twEFHa2n/veZyIRLJ7cpgdFp5nx5i/SL71GU82EN257if3dd6cSfn6//3WJFRbBKULkok41A== 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=omDn0k0T9XVT+JrXhVOYymWeusQ9Y0QzdMwFSc49Aw4=; b=KH8WDjcF0iRdGlLuhTnHT6QnkFv5ef/izxTAKSWLEJ+u2FbeUkxDWsZiZq3Y1nMtgUHrpl9+p7uKbuHiyiitDN/QJJVNToaCd2amSeQPfmwZNUEqA0y51Q2g5xose+99YYSHybMejMalH3f5BLcEQ/cXzBf2j80SJ5viK326EQM= 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 AM8PR04MB7362.eurprd04.prod.outlook.com (2603:10a6:20b:1c5::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.24; Fri, 2 Jun 2023 05:55:45 +0000 Received: from DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::7b3d:4c2a:1636:da28]) by DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::7b3d:4c2a:1636:da28%6]) with mapi id 15.20.6455.020; Fri, 2 Jun 2023 05:55:45 +0000 From: "Peng Fan (OSS)" To: sbabic@denx.de, festevam@gmail.com, "NXP i.MX U-Boot Team" Cc: u-boot@lists.denx.de, Maximus Sun Subject: [PATCH 29/30] imx: priblob: Update to use structure Date: Fri, 2 Jun 2023 14:46:06 +0800 Message-Id: <20230602064607.17222-30-peng.fan@oss.nxp.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230602064607.17222-1-peng.fan@oss.nxp.com> References: <20230602064607.17222-1-peng.fan@oss.nxp.com> X-ClientProxiedBy: SG2PR06CA0194.apcprd06.prod.outlook.com (2603:1096:4:1::26) 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_|AM8PR04MB7362:EE_ X-MS-Office365-Filtering-Correlation-Id: 89f9510a-b236-489f-411f-08db632e019d 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: 53e2xeudGJvmUhkn6mbuJl68yiKS7fHIe3e8PFcTWe0KoOtztVY11Hi1W6CrEg7NFFkXHIOKn1SydupydMskRSnLrODXGWmQHJquJVtEJRWPXJKquau2ncKTXIDqUKPcn0Dd//wRzPUkxPHu6xH+dKZSYYpW9aQ/2oxoUYZaTH54mCHJK5PrWzxveZHpjcOcwDfDCH6yMVU0FUYvPcBbHjFREAPkXqoBPUCHET7bOdG05wdNuVkdJwItaTM86Ahpn2nQcTSXymPfWU4o+yDCs9iugLBjmEbZjARzSJ/A7ZfCWfaDoCIhwXqxX14T5FlZtfMQ7/kJFucjzrri6WWBaiVX1BtLCpWsTuHQoud15wN4GQxyNNJVqvFcgRdIm6ALqm0HwR3xVMqOl29/NfhRAIZ5ZUT5Tzv1qGP0FjWyv46ut5dX8qnkxrUkBsU7YAZ4Z4Z1qwu/o+tIWj0J56AIcIgMpaEz+RLug5YSu9QOioP/kpjNluqROrKr92QJ2qCiRAukNNysG1Ojii5pQwmFzj5VtJQ6zR/cf0uX17GdvSEHMFRMCnSp0SfqcA6I0+86dCD6sb5tugwd72VF0DqDsyU42aTTUIWkTXSp83f5qWdrWWD9fvnz58uRVB3Uz1CN 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:(13230028)(4636009)(366004)(136003)(39860400002)(396003)(376002)(346002)(451199021)(83380400001)(4326008)(66946007)(41300700001)(38350700002)(38100700002)(316002)(6486002)(6666004)(6506007)(52116002)(6512007)(1076003)(26005)(66476007)(66556008)(2906002)(6862004)(8936002)(8676002)(5660300002)(2616005)(478600001)(86362001)(186003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 0d55VNGTDbH+JsEt3qYQDVBdHpEoO03YHL01Wft+KoO/riVZ3oInj+FnZPj7EengzV3eOE+renh8WftTPUXHH1vTRbfTuwEZ92dQI+OG7ZNKW7hd7v4LHJnv3+mr1RPVaBp0XmX/tbn95aB6Y0u+ODaE2ryZin/qllNZGT19UR+TXK1u6p9QmAmJ2HS2ZNEhnPWV7JbkwbJCJ5nuxCRAYWY5AqX35UPQwAPIeNPAvcj4LhkuJa+DhKKfgtBGTusGMm9q7FZbD5Cr/SMV0D+RSWnYHaiRqNVg4iRAOFXUdtmw5GUn4Elwapu8YKzeSCrmC5OZIYxDaAcvp0LDoz9v0nHPsonjpTGrYdLkrdF8XU7jyu6Ke0m5y2TMs2o/9+RZ2i7nMwdhmoum8yKUmSygM+kxefRJVkA6i1fu51RrA7ZzazjlQ9eWURINu1kERnXSOWmhrXu5lq9lPCP54ViW6kGsgSsDKMx7/DcDyA7aS878DN/v3Ol/24sigRYE9hsrbKNiSPEOit2aXsQqZN45n8RJtzmC9ocu8M82R/6QB/UsJHBsYBs1oUW1qr5mfkRSHj5drq9zvoMROmbeyLjac2f73E8z7AeoZRHHBX9TE/jaqgFyyeaVBP0qcFGpGrEsVMWIJh0XD1CU5E/UZzbAfOkGXhSx0JpP2wDSBqwiOvzYxY409m+7IXT6SUwJEOAYvlXlGyIg5SGurUZ1bsjMqe6+DbPMogvghcgPNifM9DSJ3OYfusT3V7k5ynSfV1WxAGqTsAfaRPGZjJ3DqHPF0z6QtQvKP2XJvw8Iphc3wlzVzCztB9whsG3nrQSEuOYR3m+Z0NBm+FKiyd5KC5uyOTAaI/FxTY+C6IWNus1td+jzdqu+yjfTjqi8NtnVdyfDRP6y6+ooUsUJRK7MyCfvwCWbdpLcFGSaBj5nO0RaRv8/9wV9hfKh1bILnx7bLYhjT8P+76AUjGiFw4lnzsO6DIByi574pp13zsRHQjBQDKjhoitZmPxDGRkVA7tjqWOxAgn0I+bE0NMciAcQmPy5a7D2RTUuJMwg7607uHidAwhLvUJh70uQcH2+siqCA8GAA1CqKYYa7fgHFfX+2FDQexXXNtIJvWtHVgO2apej2o4lnVDrPFg1wHTIf2NbIk2/VuQNCnAS1sQ7mdoQXmwqpB6USQgVeHfMBOn8AY4x6ns11PEeZSMR9KbF9S3gFRjSXwwUWFU/OUKNL5bR55rP6HpraV6n8YNUhzXk0epFHHRi+QmcrP1pMe8w043m/kcFZAq9EQSjBWAmwV/BCnNVx+NnuDhuKma9WLitJplir5O/Ggzz7L8nIzk2IiCgSL76gwRwV27CQL0FUj4i6kEtBV4jvjKJh/+y3xqg+n8xlWu5tSLI5bHNhiiMDXUvFhmWwN5eingh4XHmLUBW9IMcFpX0H3H3UCFJMwDqZy5FRruHF578MqPVVoc7aj6bh7qX3BkD5ft+IjX6abwYXZWcojfCTGIl3BOvVXtglfYqutEj1qcEpX/I66H3+imFwy+ajzDDmw/A/8uGcNeTKlreLslQZaa6UFsSY4B1PdSU74SKTkVBvcAIx7bztxqLl+P4 X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 89f9510a-b236-489f-411f-08db632e019d X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9417.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jun 2023 05:55:45.3122 (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: ADlzH/FzG3mbxGxT7Li9WELqTc1WOirYl54TrxBivHlABHgJCuQev0jMtu18Ubfe7k2CAQiDcMICTR6O4Z2vUw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7362 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 From: Maximus Sun Use structure to avoid define CAAM_SCFGR for each platform Signed-off-by: Maximus Sun Signed-off-by: Peng Fan --- arch/arm/mach-imx/priblob.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/arch/arm/mach-imx/priblob.c b/arch/arm/mach-imx/priblob.c index 9b92eae7818..5b022d5c820 100644 --- a/arch/arm/mach-imx/priblob.c +++ b/arch/arm/mach-imx/priblob.c @@ -13,12 +13,16 @@ #include #include #include -#include "../drivers/crypto/fsl_caam_internal.h" +#include int do_priblob_write(struct cmd_tbl *cmdtp, int flag, int argc, char * const argv[]) { - writel((readl(CAAM_SCFGR) & 0xFFFFFFFC) | 3, CAAM_SCFGR); - printf("New priblob setting = 0x%x\n", readl(CAAM_SCFGR) & 0x3); + ccsr_sec_t *sec_regs = (ccsr_sec_t *)CAAM_BASE_ADDR; + u32 scfgr = sec_in32(&sec_regs->scfgr); + + scfgr |= 0x3; + sec_out32(&sec_regs->scfgr, scfgr); + printf("New priblob setting = 0x%x\n", sec_in32(&sec_regs->scfgr) & 0x3); return 0; } From patchwork Fri Jun 2 06:46:07 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: 1789490 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=YkQI0fXQ; 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 4QXXSZ4TJ5z20QH for ; Fri, 2 Jun 2023 16:01:34 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 36DF886619; Fri, 2 Jun 2023 07:56:00 +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="YkQI0fXQ"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id CD99886619; Fri, 2 Jun 2023 07:55:52 +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=-0.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FORGED_SPF_HELO,SPF_HELO_PASS,T_SCC_BODY_TEXT_LINE, T_SPF_PERMERROR autolearn=no autolearn_force=no version=3.4.2 Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on060f.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe02::60f]) (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 E9F49863C7 for ; Fri, 2 Jun 2023 07:55:49 +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=Eex1zdwT76xLN1KuDCdVBGIDVGFc6pgmDt6Jcladr1Zpzv8t2Q7Nf+/5ke9uVjF8n6vvqbhB8gqsZS/ocSYpb9yk3qoOH3ulf3A8cUWA/5lqk3kvbLj7Y3dyyy3PpFJQHXGYFbSQuqH2k9t6OpNlGmVmAbojccsBIk+K/lhIr6T/lwQ4AlHD0iR53c+YZ2haaLF4OSxZ/lsg0blLbUFZtf2hyCc27K7bZ63x60Tup+2mFh9OcyUMm/7iyViAnGGoeLM2UI8HSag/wQweR1ywWTsuJqtsaVi9iWy1sP6AHAdcqYGrq3ItPfjTDRQpKFw1NiMWZRqeE5LVhKR2xJB5eQ== 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=DKwpvLtI6LM5c/A1tthzlYErDHLB4XK0KD6exB3jpF0=; b=L9nen500mFSOACNmUCvP5HkHIIZfesj/7aP3B1/LrF86x3J2tvdqR31qwo4f1znmAXLrGDQUBG5Ys001aJWhQdIVn5uMBN2LV62W0VZAD15ce3dh2o2MRq2Q0ZwwvN/dIpNBsejnDnOec5dWWE2OI/Z5YCH9mvRcnno2TPFv3Ihz8esvl6tNZuwsHXShwIX/WA+o9G8kUsyMl6pyzOGId3RmDnmLKgur/d/pimiEpoYikwCkeD3MHYHnrvTB7J7DtJbBRgFxXiU/xh7OD9HfslKBHFvf8/QyVVRmDzW7+aXjJig8cLVJLqkaujv2KQiGD8x50U2+6X1KqfEHtK6uPQ== 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=DKwpvLtI6LM5c/A1tthzlYErDHLB4XK0KD6exB3jpF0=; b=YkQI0fXQXM1GkVCj1/j/HTaKU7jxPtapX0HWv9oRZ3GnfZyULJ37SgZ2i1cTFblozD18j6TPl1MfIYI9JyClBZKFgjvS8mHMRj2YqnAY82Bjk+LsN/25ian4isHd1TJZpcbGEQpnFQ1frk4KB+4lgM9Ivij7jwUpkdmlYoPHfIY= 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 AM8PR04MB7362.eurprd04.prod.outlook.com (2603:10a6:20b:1c5::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.24; Fri, 2 Jun 2023 05:55:48 +0000 Received: from DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::7b3d:4c2a:1636:da28]) by DU0PR04MB9417.eurprd04.prod.outlook.com ([fe80::7b3d:4c2a:1636:da28%6]) with mapi id 15.20.6455.020; Fri, 2 Jun 2023 05:55:48 +0000 From: "Peng Fan (OSS)" To: sbabic@denx.de, festevam@gmail.com, Gaurav Jain Cc: u-boot@lists.denx.de, Utkarsh Gupta , Horia Geanta , Ye Li Subject: [PATCH 30/30] imx: fsl_sec: preprocessor casting issue with addresses involving math Date: Fri, 2 Jun 2023 14:46:07 +0800 Message-Id: <20230602064607.17222-31-peng.fan@oss.nxp.com> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230602064607.17222-1-peng.fan@oss.nxp.com> References: <20230602064607.17222-1-peng.fan@oss.nxp.com> X-ClientProxiedBy: SG2PR06CA0194.apcprd06.prod.outlook.com (2603:1096:4:1::26) 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_|AM8PR04MB7362:EE_ X-MS-Office365-Filtering-Correlation-Id: dc04d4f1-6ea5-47e4-792c-08db632e038f 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: ksU68pRFR+sXjJJGYF61MVXnxIoh/G01KwxKI5Y35wb6i+B6ek6IhaQQ925eiKM7xFLaN1JQzlkSlnFqO3JC6vaQAzIhySIoS6QbApHf82phmsDEcvpzPBclU+BqmSGT6BPg58zvnlEg/4EkWpRCVMsmlD/DV8OGN8OfAzsOXtYikHdXT8gixqmgTsRybo5h10lysD6qJEDRo4JC7/a2hzpVETd8jrZ0FEXkueTYKvWu9DBk/hgCJz3O3UyTKnCWoL5hdbUheTVf2RYtLsGBrHjdW4pK9Ilow1wVrdg/SjqZMgO0g2eO8rewU/BaFrTW4s/M3vd1vn0iGZy9vmc1MJuo0MJwTgbNiWRh8yea8edx8ktjuuhfq8phFoALB9BA/zK+fbnVvA/6Xj5w59D8bVyvs5FRj4v7TO2NMCMWY03mD4iyJsn2dUfy4kDGzs9Zt0iBtqCtT6xpRYzGHABm6JXdTj6SQGemDMwVcfTyuSXsqZcNL+0CEN5tnJ+CY6yKJ6QESq4cfa+4RhJlyS6WR3fEIZTPpb8q+zdWiRqhwRHSwAFVcEZ8lZxhBBRffyHUgeeTJbazms5pbDYHVrvMdgonComdfVNmDULXfAaM8P37gkvIcB1d3NCLmjRObjbO 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:(13230028)(4636009)(366004)(136003)(39860400002)(396003)(376002)(346002)(451199021)(83380400001)(4326008)(66946007)(41300700001)(38350700002)(38100700002)(316002)(6486002)(6666004)(6506007)(52116002)(6512007)(1076003)(26005)(66476007)(66556008)(2906002)(6862004)(8936002)(8676002)(5660300002)(2616005)(478600001)(54906003)(86362001)(186003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: w1CJOI50TVYfDDUdFk47zmmCFn+GVArkQqV3/pvpfwBpEyIO4uu3wlS5Tk4kU+QEUwpULgIiNWnRtz1Vo0ktjfjgkLqZNTqRiK9HIrDCQLE2N6xLJldi+Wrpqr7TZxf23TMM0Iw3nzox4+jHe0oMjhIWBwqLCKzJAFsnO6VNJ3JMhxdItJbfbaVePqgoBKDhYp7bcWJpE5k52f8AAxRRwqdgMrA2t76KL4+XU7Ry7K0nKH+QFo/qKdGzrccuWEbVCtoOArTtxvfzcyp/5KPldnx2EkiIFZyIAcT1/30I/P1ZRYu6GyUVcjNhE1tmZPM9RugKLeVFifyMaRmSAU23XckeTtum7DIHbdXgT4hmtuGmZ/fDy/ugLD4laXZkffDk0zEUX6NSwUtX/fnRg5ZV2YSdXkw3Gq6EDBVC7a+OR++t6t3dVdicrhpCiLNejIMwH4WLUE9Jko1iT+A6jihTonnR7FNLZtP7lob5bpzzHxWD+ntsTUMa6iYKtCTP+B6UF8/6h2G2bYfBfFWgDI0FtiOJVnIagc3DCpKokwJEDT3uYheXAms1WM8NH5k/J6oany2DjKciDCOUeErAQLqyepCCy0JyKLmejodn+/hmQRWa73qWPNrEcTxHki9V3CP0fZcM72h1ilkYfNswfqvZ8cceWqWuVJK0ESY2/Z0pkoCu6PDCoO+/UY59Q4pgVdGV9mzODhostRzkAH8an0YwLw471RsJdVHNBOwPk4sGExL7Uw/fClTN0qmfdmbmMuKb3klwl5YIQUw893QIWlgwQjZ8Qq0SWmfe4MZyeBwGuDpR5jEu8U3vXOjhkcq8XpW3qcZ/FVLWLqnPheahDC9ToJJ+mcnlhXNPn7BSFqzSI9kUB7412XWRJZ6n8Eb7H5270cEW/c4Iv4zQAcl4Br07MHcIAC7aGPdXd4ThjJTZMjI6Z4rffC/5kykoXdP+JjKeUJaXV6vTptc1zh4acxE7hucbzoVi6OsOYja18/tjCKOuYA+omUqHms+D7zAyzWubxODCKPDt0ZdlSNYXUjdGW7k7tPmO/y0wCrANZhSe3DP/cD9GpDRatnd3MPo0ejqoms414+6L4qJZ87KgzhnE3TSmHQjgBVq1UmlkhpWQBxc68s+55bB4pSd56IJedAS0lC/JvDgvvWHHnnitUgpVYU+Skpc8SmJ8tPOFYKYWAPZiNfc1+dxnoGxuiFE7R+vgy9m1WFbXxxIPT3CpBRAUIavn4N47R12yZWqgxxpPMBFThVZMYZlEenz7I4xo43Vw/jPTH0xvvsceT1tjeoS9Rt89VnjVOpX2vApyFzJGpqOCLbLG9P9UcrVdfcBikRtrCu0hsbWRzR1FUSJx9ln+2o4Sv+JTjdbT6O0ZdgIEM9FJq2xBNy/HfDNJIZmr9tQ2yp8wlicI1xJt31kQM53moKrJhIcFsVcNz1Rl4wyRUarK+QIgT3RkU66DIGg8EViFVTjMortfHIhg9xlZqkqvrqmAlAgNuPlQUUI9MLzIJgVSZ6BEx6hKdgdchCXcDpwWZM398i7lX0aCB3g0m5xTi+kdDinIyvO/jdx5Cgv1+GmZJ7TXuBXxCdprhVf20q0e X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: dc04d4f1-6ea5-47e4-792c-08db632e038f X-MS-Exchange-CrossTenant-AuthSource: DU0PR04MB9417.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jun 2023 05:55:48.4439 (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: P/vd2LP03Hxrt9jsz5yJwF/g+BfVl6emJxTGY75eL13l9pRt29bG8bRcJI68IWco2o8WCYjShJ3geOqPPySHUA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7362 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 From: Utkarsh Gupta The sec_in32 preprocessor is defined as follows in include/fsl_sec.h file: When address "a" is calculated using math for ex: addition of base address and an offset, then casting is applied only to the first address which in this example is base address. caam_ccbvid_reg = sec_in32(CONFIG_SYS_FSL_SEC_ADDR + CAAM_CCBVID_OFFSET) resolves to: caam_ccbvid_reg = in_le32((ulong *)(ulong)CONFIG_SYS_FSL_SEC_ADDR + CAAM_CCBVID_OFFSET) instead it should resolve to: caam_ccbvid_reg = in_le32((ulong *)(ulong)(CONFIG_SYS_FSL_SEC_ADDR + CAAM_CCBVID_OFFSET)) Thus add parenthesis around the address "a" so that however the address is calculated, the casting is applied to the final calculated address. Reviewed-by: Horia Geanta Reviewed-by: Ye Li Signed-off-by: Utkarsh Gupta Signed-off-by: Peng Fan --- include/fsl_sec.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/fsl_sec.h b/include/fsl_sec.h index d8861d1d0b7..9dad1d1ec47 100644 --- a/include/fsl_sec.h +++ b/include/fsl_sec.h @@ -13,8 +13,8 @@ #include #ifdef CONFIG_SYS_FSL_SEC_LE -#define sec_in32(a) in_le32((ulong *)(ulong)a) -#define sec_out32(a, v) out_le32((ulong *)(ulong)a, v) +#define sec_in32(a) in_le32((ulong *)(ulong)(a)) +#define sec_out32(a, v) out_le32((ulong *)(ulong)(a), v) #define sec_in16(a) in_le16(a) #define sec_clrbits32 clrbits_le32 #define sec_setbits32 setbits_le32