From patchwork Tue Jun 9 10:34:42 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ye Li X-Patchwork-Id: 1305780 X-Patchwork-Delegate: sbabic@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=nxp.com header.i=@nxp.com header.a=rsa-sha256 header.s=selector2 header.b=Ja1owEt7; 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 RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 49h62S4mqPz9sSy for ; Tue, 9 Jun 2020 20:35:12 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 5942D814A4; Tue, 9 Jun 2020 12:35:09 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=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=nxp.com header.i=@nxp.com header.b="Ja1owEt7"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 33899814A4; Tue, 9 Jun 2020 12:35:07 +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.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER, SPF_HELO_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.2 Received: from EUR03-AM5-obe.outbound.protection.outlook.com (mail-am5eur03on060a.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe08::60a]) (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 DA94A813B7 for ; Tue, 9 Jun 2020 12:35:03 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=ye.li@nxp.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=IyCkSBlgS3rFrRVXLRm/6MDe3oTTkupTQ+MsgPEgN9JwrS90M3ded5SZpvj9NsFc1YLhRM4ZW5R2hlKaMorQE09GnwPRdWnNv1aAGXz6FCcjFEU38HsxefOE7Y1U02LQXADXTlfWKc2Vo1+IUt9xr93GNx1LqmIbQ05VcTv4BBhIYPgpa/byFYlE45IxaY4pxe4xX5fDtXhoBLJHA7z+AWiA24Wlzo+4xuogD5B9N5MH4zA3LFPtYItiwaHon6H3K8sunxQFN9rRegUQwWD2fWATLoN7RZ14QLZjR9HNXsFqkR3brq5CjxPmek4D4t1QvD6QFJD4v56AsXhg2c+vPw== 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-SenderADCheck; bh=IZTYtokj1DWK2NO3q2i50Bh2E1meSuz7hHrSCz5nZFE=; b=Ff2D+dcca7G9ZfMK3uPl3YB08xJea4e7m3ERWRiM2eKrCBVy4l4tBocyvHv3Wuoh30Dd7kusF+/Mo0EGra6oAzZW75qbHiKDrjGhpBhzCYQix5+QonKkSqmL9HL7aMpc7sg4v9z/MVkHpOv1gwgbuMzdQ3c48Gd6X8JGFcGQI8eTTebJETkpMPmtHU1sPNsWcVPV1DJpmQkHvF9QBr1NGXW/7xYfPFjNqEsaRvIoyZKhaH0zQoa2guwJQI5XXFmsemnckFLiwKs/KEyumOcCGKNYVoPZRXYJIH6vZe3qkSfoAA2TFCu5zql+DopPcVcTq2gjGBP5JsCCYL0YHq9b5A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=IZTYtokj1DWK2NO3q2i50Bh2E1meSuz7hHrSCz5nZFE=; b=Ja1owEt7DJP92nsAdnTKrurwqmDN2q/Z8WcjLVxe4G8XfAJZEG95F+y26fAlt6V2ANxTLh6n2etABr1ZzwZgasc8Q8AwmTquSljnuMFwZtn0SazlVlRnt2BxhBDCfercI3uPdDoiNDmzpQWetpAajfwuyPm2NO1+iU8RjIghbMA= Authentication-Results: denx.de; dkim=none (message not signed) header.d=none;denx.de; dmarc=none action=none header.from=nxp.com; Received: from VI1PR04MB4414.eurprd04.prod.outlook.com (2603:10a6:803:69::13) by VI1PR04MB4493.eurprd04.prod.outlook.com (2603:10a6:803:76::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3066.18; Tue, 9 Jun 2020 10:35:02 +0000 Received: from VI1PR04MB4414.eurprd04.prod.outlook.com ([fe80::450f:3c2f:20f2:1bf5]) by VI1PR04MB4414.eurprd04.prod.outlook.com ([fe80::450f:3c2f:20f2:1bf5%6]) with mapi id 15.20.3066.023; Tue, 9 Jun 2020 10:35:01 +0000 From: Ye Li To: sbabic@denx.de, u-boot@lists.denx.de Cc: fabio.estevam@nxp.com, peng.fan@nxp.com, uboot-imx@nxp.com Subject: [PATCH 1/3] misc: scu_api: Add SCFW API to get the index of boot container set Date: Tue, 9 Jun 2020 03:34:42 -0700 Message-Id: <1591698884-72174-1-git-send-email-ye.li@nxp.com> X-Mailer: git-send-email 2.7.4 X-ClientProxiedBy: SG2PR02CA0027.apcprd02.prod.outlook.com (2603:1096:3:18::15) To VI1PR04MB4414.eurprd04.prod.outlook.com (2603:10a6:803:69::13) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from ubuntu.localdomain (119.31.174.68) by SG2PR02CA0027.apcprd02.prod.outlook.com (2603:1096:3:18::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.20.3066.20 via Frontend Transport; Tue, 9 Jun 2020 10:34:59 +0000 X-Mailer: git-send-email 2.7.4 X-Originating-IP: [119.31.174.68] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 1bcb8b7e-d8e9-403d-58c1-08d80c60c3c3 X-MS-TrafficTypeDiagnostic: VI1PR04MB4493: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:23; X-Forefront-PRVS: 042957ACD7 X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: dGWq3n35Dp3Xf5n71yeWZ7dVOX9/NTp+uPRsCN7WbpYJYr+B9jMI5agP6DdtGledP/oqHv/71a043LScViYHhdrmSJ1uTqfDTr4t3j3j9iZbHtDMrtjC58zZzPuzXDX9JSne5kecIYw98MPg3/FelP98IhpDFQklmvv9WSDW9TV4cqj6Yv0zdSv6PRgmlqWT4uzHtXTPCR5kV387bVMlguJ2rmbZTwsCgMvrY1NuH6tm5aIrc6C6C/pff8OXJAItWrlhylb+gb5IyrYGmDNkDS59hAEF5NovPaEH2y0koVL6m18RFsyTb+hEIZ2FP0aE03Hx2P5Yr4rDgHPmkD2tJglP75ZiVYhHsuPcRS/VkfVeEc3pAz046hUV2Y+MThRf X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI1PR04MB4414.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(346002)(376002)(396003)(366004)(136003)(39860400002)(2616005)(956004)(478600001)(8936002)(44832011)(316002)(52116002)(6506007)(8676002)(66946007)(86362001)(6512007)(5660300002)(26005)(36756003)(6486002)(66476007)(186003)(2906002)(16526019)(4326008)(66556008)(6666004)(15583001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: ZleTXZlUei5WEGF3gc46ltlyqfkWB+KBkjWv73mKR+WuIPdP7mkkmnwbG6BMuXCp5yIjut/Av4c9Hangk8E2UL5pG0K28D9YvrSL5Q6/+wvR/3xIqeIXd/tSbRN5l3kD//pM+A9S0NmdxriDnoW1qpCCWKBISFXOlSt73Jz0N4fYKpOfDCQ9TY4fYtGQVVJoDRDz/sLM13fEPehQ/JtBvnptwc41cPszS3TKhD3xxQmQI+c0NjDm6BJ47CBNbGAqwXTdzS47bBg9GtU5g2TOXgrangQFcp+cX8OL4ofhKpYrmXzlTVbXufPH7zmCepK/MX0Mgr2/fHzLA2BgK/dxWGG66X62twt8lWxx/AZUqeXD8JkFHpJS6NCqY/uImc8BfYkgkMJnXaWrRoHAfKEKDaNcZJUkWp/mzXHPNi5A/8Ri1TWjYjitQrlir9EQSrXRIknQFcP2xxEEzySBZ+URGpQp00whtLa2iirClx4T0PQ= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1bcb8b7e-d8e9-403d-58c1-08d80c60c3c3 X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jun 2020 10:35:01.7835 (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: xWgruIq/EaZTqrfF000/7c+/LzUEGqitvzbEVRwNpeQXmQwMymGxeNdLvlSnFTdo X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4493 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.30rc1 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.102.2 at phobos.denx.de X-Virus-Status: Clean Add SCFW API sc_misc_get_boot_container to get current boot container set index. The index value returns 1 for primary container set, 2 for secondary container set. Signed-off-by: Ye Li Reviewed-by: Peng Fan --- arch/arm/include/asm/arch-imx8/sci/rpc.h | 1 + arch/arm/include/asm/arch-imx8/sci/sci.h | 1 + drivers/misc/imx8/scu_api.c | 25 +++++++++++++++++++++++++ 3 files changed, 27 insertions(+) diff --git a/arch/arm/include/asm/arch-imx8/sci/rpc.h b/arch/arm/include/asm/arch-imx8/sci/rpc.h index c1a9c35..9f55904 100644 --- a/arch/arm/include/asm/arch-imx8/sci/rpc.h +++ b/arch/arm/include/asm/arch-imx8/sci/rpc.h @@ -115,6 +115,7 @@ struct sc_rpc_msg_s { #define MISC_FUNC_GET_TEMP 13U #define MISC_FUNC_GET_BOOT_DEV 16U #define MISC_FUNC_GET_BUTTON_STATUS 18U +#define MISC_FUNC_GET_BOOT_CONTAINER 36U /* PAD RPC */ #define PAD_FUNC_UNKNOWN 0 diff --git a/arch/arm/include/asm/arch-imx8/sci/sci.h b/arch/arm/include/asm/arch-imx8/sci/sci.h index f91f7cc..1c29209 100644 --- a/arch/arm/include/asm/arch-imx8/sci/sci.h +++ b/arch/arm/include/asm/arch-imx8/sci/sci.h @@ -82,6 +82,7 @@ int sc_misc_get_control(sc_ipc_t ipc, sc_rsrc_t resource, sc_ctrl_t ctrl, u32 *val); void sc_misc_get_boot_dev(sc_ipc_t ipc, sc_rsrc_t *boot_dev); void sc_misc_boot_status(sc_ipc_t ipc, sc_misc_boot_status_t status); +int sc_misc_get_boot_container(sc_ipc_t ipc, u8 *idx); 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, diff --git a/drivers/misc/imx8/scu_api.c b/drivers/misc/imx8/scu_api.c index 3e38edb..20b74fb 100644 --- a/drivers/misc/imx8/scu_api.c +++ b/drivers/misc/imx8/scu_api.c @@ -374,6 +374,31 @@ void sc_misc_boot_status(sc_ipc_t ipc, sc_misc_boot_status_t status) __func__, status, RPC_R8(&msg)); } +int sc_misc_get_boot_container(sc_ipc_t ipc, u8 *idx) +{ + struct udevice *dev = gd->arch.scu_dev; + int size = sizeof(struct sc_rpc_msg_s); + struct sc_rpc_msg_s msg; + int ret; + + if (!dev) + hang(); + + 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_BOOT_CONTAINER; + + ret = misc_call(dev, SC_FALSE, &msg, size, &msg, size); + if (ret < 0) + return ret; + + if (idx) + *idx = (u8)RPC_U8(&msg, 0U); + + return 0; +} + void sc_misc_build_info(sc_ipc_t ipc, u32 *build, u32 *commit) { struct udevice *dev = gd->arch.scu_dev;