From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id BB670C433EF for ; Wed, 12 Jan 2022 13:32:39 +0000 (UTC) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 2217F83224; Wed, 12 Jan 2022 14:32:24 +0100 (CET) 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="FECkxs3x"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 3415C831D1; Wed, 12 Jan 2022 14:32:21 +0100 (CET) Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04on060a.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe0e::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 A399B8313E for ; Wed, 12 Jan 2022 14:32:17 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=gaurav.jain@nxp.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=C4wp4Q85txPK9fpXen8YIDXPKIhPCPC++Rz+7Py2Meqe6ShL4/1SBRaHHbwDkv+qZN+EHk3H14pMHKw5Ig4wsw2Zvrtw//LNNAC7QEemT/2DdStQRwjVBJqE226i8oQCu4d2dsEpl9uMl58+7p/LeQzEfGjquHA+ON1i89KmEMn+SY1BZereg/uVYOKJk/iFkYLc/RKw08zYUmvWwt79nW2rB+c75fcrTcPVAyBvsg4Wm8MZDJoazPx3KCRzSaq3fGlk7IN/R9xz98oWucd22YJXonJxThOlEGgFCslspimmi1OruM5wKNgEVkYNartMOHhprpQc5g+dIMOrqxH4dw== 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=oQi7A77pGf9TfzM28bSSsUgsTzI0wzjIN6JGqw/pdM4=; b=Bt/XdBDS1CvaD7Ms27aZyeMreFG96oNZblyRLk2ixhaAuncjDJm2s/W0NBx77fBTh4jWetBQIcuohjY6qRPLoxHDAQp0zv+nODLJW/6EG0l9vsesYIhxfQu6AxamTo3yTNQ3upUAvne6MfSOfzZ7r+CMGo/VaD7JBdjGDeouNvTcqmi/rK0YBKR2yyPoDDdEMR68BHxCIghh3VcU0HZ+Qqq4Th5ASaR0GzS/9FiQK6x/NTi8lrXQlQ0BRtM3OO5g9fqx/ajX8O/SxTDv0mbZEDSy8ECyOJ1EC1c+a/pws6wUwvz39hz2dZRDPnQB9VuopzJ5jDD+phm4OvCXBCXzoA== 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=oQi7A77pGf9TfzM28bSSsUgsTzI0wzjIN6JGqw/pdM4=; b=FECkxs3xQnXJQdL2j6UpfwBXQ66cMgnzf/WgdTFzXyKZI3t7wOO+ZqWXj0eY3MJaQT5uDdr/dwhnPKDyjVFJ1x6F4NwPoKJ8Zu6reqHYAePRP/nJHrlYyUUVFvEDIA1jrNfhiVLBJYvpZdoFOWjffvwpIF83BMIvB7QXoHuLTSQ= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from VI1PR04MB5342.eurprd04.prod.outlook.com (2603:10a6:803:46::16) by VI1PR04MB5853.eurprd04.prod.outlook.com (2603:10a6:803:e3::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.9; Wed, 12 Jan 2022 13:32:16 +0000 Received: from VI1PR04MB5342.eurprd04.prod.outlook.com ([fe80::ceb:f79:2700:ba2a]) by VI1PR04MB5342.eurprd04.prod.outlook.com ([fe80::ceb:f79:2700:ba2a%3]) with mapi id 15.20.4867.011; Wed, 12 Jan 2022 13:32:16 +0000 From: Gaurav Jain To: u-boot@lists.denx.de Cc: Stefano Babic , Fabio Estevam , Peng Fan , Simon Glass , Michael Walle , Priyanka Jain , Ye Li , Horia Geanta , Ji Luo , Franck Lenormand , Silvano Di Ninno , Sahil malhotra , Pankaj Gupta , Varun Sethi , "NXP i . MX U-Boot Team" , Shengzhou Liu , Mingkai Hu , Rajesh Bhagat , Meenakshi Aggarwal , Wasim Khan , Alison Wang , Pramod Kumar , Tang Yuantian , Adrian Alonso , Vladimir Oltean , Gaurav Jain Subject: [PATCH v10 03/14] crypto/fsl: i.MX8M: Enable Job ring driver model. Date: Wed, 12 Jan 2022 19:01:16 +0530 Message-Id: <20220112133127.16880-4-gaurav.jain@nxp.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20220112133127.16880-1-gaurav.jain@nxp.com> References: <20220112133127.16880-1-gaurav.jain@nxp.com> Content-Type: text/plain X-ClientProxiedBy: SI2PR02CA0035.apcprd02.prod.outlook.com (2603:1096:4:195::22) To VI1PR04MB5342.eurprd04.prod.outlook.com (2603:10a6:803:46::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: d364f7cc-6e3e-4375-6163-08d9d5cff2c8 X-MS-TrafficTypeDiagnostic: VI1PR04MB5853:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:53; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: TS64vz3g2WfCeU9oXnbb5vu7ORSuwNg7V24qpJWLYROBLZ9KbpGneqJnc7Z4wF/eT4Pa7aeKJCymAWhdZWD9YS/ZfWM9Uvmn49B2ysOj/3a8evG85ILq3GLILVwQo7t5mS4rIT2BVLKx8QfBndCE8oZK6TB37CA/GjOpdWYvhtr6RpxMr1llAppsMByfFiB+EaAq6vaKQilHowAhzuiIO8oschtvAZ/SH3vdGo68pyrf4d44VgwpV8MIJG4QCMJfp8WLkoLsCBdrFwdZwCIQmakRkx0foFUdfkNFQgvnCbR9HKDEM71t+QItzRwLf1kQOLF9Nu+qyDL3Ab1djW4fbnMTAfbmnzXyGfjQqBvQfn2RKFPlD/roXP+Bi8NZuDvctE8GeKYSmHeut56QiK8xaoJLVlGgJ+96+wRaUYzz0M+RYXwDqThhyPB+goBiHxj1mxiW8tiazTwB/kTjK19hVXiIbAAprp9LAgQhyZInxlzKvu+fDauKWMlct6Cuj3dWqlH7qkGI8zXPLQWkflcHn3tWab3GCI5Eu/oj3Vqt3TPQR5r/hdeLnOOgsBp6oT6B2USbV3EnhHav6l4wAlcvg/l69hDZAXzpR/HqAWeb0R+xMQekyRfbQZKdmPcx0kE2mkgH8gog3hszllF+iQ/LU8t4Uu4NSKI7W0lpWoSOK1/A3P9++yHhuXGgHglJxxEAZHRdewbIyWS6uNXH99cR0A== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI1PR04MB5342.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(44832011)(6486002)(38100700002)(186003)(38350700002)(6512007)(316002)(26005)(2616005)(86362001)(508600001)(36756003)(6916009)(55236004)(66946007)(6506007)(66556008)(52116002)(4326008)(66476007)(8676002)(8936002)(5660300002)(83380400001)(2906002)(1076003)(54906003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?tVFW5uDjQq55Q+1gGsrlRG3uuLUtiGJna+oFjgz4O3vhh9ReEKOQVaUsyLX9?= =?us-ascii?Q?lQacixBPmCeK8ZSGZsExqQpnqANQl7tBYu/J0N4/YbXZC9rfmdCqg2TIYRol?= =?us-ascii?Q?YdDFeXo+xj9H1pVgqVp5mu+YJG0f+MTbaUx3AozY3DXOsZLtTbkcIcF2CI2R?= =?us-ascii?Q?wcTfHbBLio2Ob7mHg3GjodgenrHcGwgVLUnpFh20v1WyCTUjnTbAWyudJGSC?= =?us-ascii?Q?Vdk+k11tdeHNq/p+wuzCGdBGQ0qcIUm80dNMORQLD2ZZmWeULTZSZ1IXh5x8?= =?us-ascii?Q?tx7hHkAdWt5YLFRC5dIPVQ7jcreGJLlh3KgTzqkIDBjz3Q4cFXlCEP13vYJK?= =?us-ascii?Q?6dSMhvcFOZEoW/ElysomQ21YYpcf+5zj+FRfNr6hfTbiueLVOZBsynZdLHDB?= =?us-ascii?Q?HU0J4O8fOSM4gprsQexX85VA380GgamvrFPojRxilMBDGlAnJu+Xc8nnkzC3?= =?us-ascii?Q?7TQMf2iWePONiQJoG9FUau1wBH7J2m9lnNmcGmKbw0GDvnKMVgcilPqRDx2K?= =?us-ascii?Q?Cop1ERLs5vzE8VRO4k/Qy7OIC4sC6G0lTiZp+ppNVFSIaSIMWhKkgX15EyKM?= =?us-ascii?Q?Ak1FiWWhEej1m925Px4uUC3xfzP5LzfHbuzChJ9GO5szvQzga6brjv4WCbpv?= =?us-ascii?Q?rB7A/rfDll3QB2fOJp3MpIMhbMxsTyZB3qi8wlU2/rW4mTW9upp8IlS8xJdq?= =?us-ascii?Q?VABNGDtZKTXgPiLJ+cbcbrZYG8ZNShTytsywdmqG9t/pbr32ozuc9MfiyxiX?= =?us-ascii?Q?je262LrZRHEoloCQMqzkL7oBOSt+FuAFReMWeYeO8omQeGx5XL/m8jsI3Piw?= =?us-ascii?Q?STybS5yP0t4o4YSU6ubReTKDjPMp3lCv9QzI769iwYqa6ArShmCKioczRpqy?= =?us-ascii?Q?EbnifMCl0rLNGhdgYfOM2+t7fziZqz507pDBNiQAAYoPMKuJIMCZV01d9GRP?= =?us-ascii?Q?nXrTXHODt05QPH4U3Zz7MSPSb2ZkrNxqDCDLlXy2H/r+HDBdJVemZFk5akqs?= =?us-ascii?Q?lRJI9sdCCYlAH5zk7kBdI8RcAkcvrW5CIAwrsYhPNE5d5/fxmkUHWxvi1oga?= =?us-ascii?Q?x0Z6U+fd6IvFVzTt1JUu4ojUq6Rly2VuhBWqUC++pD53UO1Qa793yYXInTZq?= =?us-ascii?Q?nLBCRVrk4uSl6rFx2pEU3uIw6sFD9EuO9eSE6jue3EGji/83k41CqCsB4AW5?= =?us-ascii?Q?lwgV3ZJlHn6U22p85vTwErVSRQHcCfX3O60sjueaCv+7nmK9HO0rKyLpNmsw?= =?us-ascii?Q?ynQtMEX269zq05+/vwYoPnzRaWCglW9iWpt8hLSCt/NF6/lqTHE6XwDwBU8E?= =?us-ascii?Q?uCxQM5VjwY8GjTdSnXcTvfi6CeX2JMGGeYsOTjR3r4fHBP1W0k/AZO42fb7c?= =?us-ascii?Q?NWTbkE9QAl2Nx/539yeh/tQ7FRQBugQW8cfxEZPQZ2YmZwjacvXowtWQWnEM?= =?us-ascii?Q?EnQwlu/oxeozLUgDfAB/UnrHNCh1sXRW+ZXHfWhq2ND9gaQ1vQlOr+UK8hA3?= =?us-ascii?Q?xMUzQGhJoEY8VqcN7srF/wmheffQlZKTVS4gJOZ0dvXgqDonz5Pidx1qVPEw?= =?us-ascii?Q?DFR+OHrK7BZNbQAD/ZiYLVfVLM4d1FZE/CgR9+fgt3qDFbSUTeiMBNDWFqeU?= =?us-ascii?Q?h1USWNFzUpRMR6Qtpa6Fm8E=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: d364f7cc-6e3e-4375-6163-08d9d5cff2c8 X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5342.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jan 2022 13:32:16.0144 (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: fkdp0LcVPUPCfcIX8eV3CxlWpdzDb2Qx7t+4B0JW2q3VBdBi32g7vr//TDeHcHtnTvohaf5Cy7aFPVjosrfasA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5853 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.2 at phobos.denx.de X-Virus-Status: Clean i.MX8MM/MN/MP/MQ - added support for JR driver model. sec is initialized based on job ring information processed from device tree. Signed-off-by: Gaurav Jain Reviewed-by: Ye Li --- arch/arm/Kconfig | 2 +- arch/arm/include/asm/arch-imx8m/imx-regs.h | 1 + arch/arm/mach-imx/imx8m/Kconfig | 13 +++++++++++++ arch/arm/mach-imx/imx8m/soc.c | 11 ++++++++++- board/freescale/imx8mm_evk/spl.c | 10 +++++++++- board/freescale/imx8mn_evk/spl.c | 9 +++++++-- board/freescale/imx8mp_evk/spl.c | 14 ++++++++++++-- board/freescale/imx8mq_evk/spl.c | 8 ++++++-- drivers/crypto/fsl/jr.c | 14 +++++++++++--- scripts/config_whitelist.txt | 1 + 10 files changed, 71 insertions(+), 12 deletions(-) diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 7264d72bde..67f6805b13 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -820,7 +820,7 @@ config ARCH_IMX8M select ARM64 select GPIO_EXTRA_HEADER select MACH_IMX - select SYS_FSL_HAS_SEC if IMX_HAB + select SYS_FSL_HAS_SEC select SYS_FSL_SEC_COMPAT_4 select SYS_FSL_SEC_LE select SYS_I2C_MXC diff --git a/arch/arm/include/asm/arch-imx8m/imx-regs.h b/arch/arm/include/asm/arch-imx8m/imx-regs.h index b800da13a1..ff8de53f67 100644 --- a/arch/arm/include/asm/arch-imx8m/imx-regs.h +++ b/arch/arm/include/asm/arch-imx8m/imx-regs.h @@ -72,6 +72,7 @@ #define CONFIG_SYS_FSL_SEC_ADDR (CAAM_IPS_BASE_ADDR + \ CONFIG_SYS_FSL_SEC_OFFSET) #define CONFIG_SYS_FSL_JR0_OFFSET (0x1000) +#define CONFIG_SYS_FSL_JR1_OFFSET (0x2000) #define CONFIG_SYS_FSL_JR0_ADDR (CONFIG_SYS_FSL_SEC_ADDR + \ CONFIG_SYS_FSL_JR0_OFFSET) #define CONFIG_SYS_FSL_MAX_NUM_OF_SEC 1 diff --git a/arch/arm/mach-imx/imx8m/Kconfig b/arch/arm/mach-imx/imx8m/Kconfig index d6a869068a..f3713529da 100644 --- a/arch/arm/mach-imx/imx8m/Kconfig +++ b/arch/arm/mach-imx/imx8m/Kconfig @@ -39,6 +39,9 @@ config TARGET_IMX8MQ_EVK select BINMAN select IMX8MQ select IMX8M_LPDDR4 + select FSL_CAAM + select ARCH_MISC_INIT + select SPL_CRYPTO if SPL config TARGET_IMX8MQ_PHANBELL bool "imx8mq_phanbell" @@ -52,6 +55,9 @@ config TARGET_IMX8MM_EVK select IMX8MM select SUPPORT_SPL select IMX8M_LPDDR4 + select FSL_CAAM + select ARCH_MISC_INIT + select SPL_CRYPTO if SPL config TARGET_IMX8MM_ICORE_MX8MM bool "Engicam i.Core MX8M Mini SOM" @@ -91,6 +97,8 @@ config TARGET_IMX8MN_EVK select IMX8MN select SUPPORT_SPL select IMX8M_LPDDR4 + select FSL_CAAM + select SPL_CRYPTO if SPL config TARGET_IMX8MN_DDR4_EVK bool "imx8mn DDR4 EVK board" @@ -98,6 +106,8 @@ config TARGET_IMX8MN_DDR4_EVK select IMX8MN select SUPPORT_SPL select IMX8M_DDR4 + select FSL_CAAM + select SPL_CRYPTO if SPL config TARGET_IMX8MP_EVK bool "imx8mp LPDDR4 EVK board" @@ -105,6 +115,9 @@ config TARGET_IMX8MP_EVK select IMX8MP select SUPPORT_SPL select IMX8M_LPDDR4 + select FSL_CAAM + select ARCH_MISC_INIT + select SPL_CRYPTO if SPL config TARGET_PICO_IMX8MQ bool "Support Technexion Pico iMX8MQ" diff --git a/arch/arm/mach-imx/imx8m/soc.c b/arch/arm/mach-imx/imx8m/soc.c index 863508776d..6e07b0a7c1 100644 --- a/arch/arm/mach-imx/imx8m/soc.c +++ b/arch/arm/mach-imx/imx8m/soc.c @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0+ /* - * Copyright 2017-2019 NXP + * Copyright 2017-2019, 2021 NXP * * Peng Fan */ @@ -20,6 +20,7 @@ #include #include #include +#include #include #include #include @@ -1197,6 +1198,14 @@ static void acquire_buildinfo(void) int arch_misc_init(void) { + if (IS_ENABLED(CONFIG_FSL_CAAM)) { + struct udevice *dev; + int ret; + + ret = uclass_get_device_by_driver(UCLASS_MISC, DM_DRIVER_GET(caam_jr), &dev); + if (ret) + printf("Failed to initialize %s: %d\n", dev->name, ret); + } acquire_buildinfo(); return 0; diff --git a/board/freescale/imx8mm_evk/spl.c b/board/freescale/imx8mm_evk/spl.c index 4ef7f6f180..cf4882cd10 100644 --- a/board/freescale/imx8mm_evk/spl.c +++ b/board/freescale/imx8mm_evk/spl.c @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0+ /* - * Copyright 2019 NXP + * Copyright 2019, 2021 NXP */ #include @@ -51,6 +51,14 @@ static void spl_dram_init(void) void spl_board_init(void) { + if (IS_ENABLED(CONFIG_FSL_CAAM)) { + struct udevice *dev; + int ret; + + ret = uclass_get_device_by_driver(UCLASS_MISC, DM_DRIVER_GET(caam_jr), &dev); + if (ret) + printf("Failed to initialize %s: %d\n", dev->name, ret); + } puts("Normal Boot\n"); } diff --git a/board/freescale/imx8mn_evk/spl.c b/board/freescale/imx8mn_evk/spl.c index 03f2a56e80..dfa81a0d65 100644 --- a/board/freescale/imx8mn_evk/spl.c +++ b/board/freescale/imx8mn_evk/spl.c @@ -1,7 +1,7 @@ +// SPDX-License-Identifier: GPL-2.0-or-later /* - * Copyright 2018-2019 NXP + * Copyright 2018-2019, 2021 NXP * - * SPDX-License-Identifier: GPL-2.0+ */ #include @@ -49,6 +49,11 @@ void spl_board_init(void) struct udevice *dev; int ret; + if (IS_ENABLED(CONFIG_FSL_CAAM)) { + ret = uclass_get_device_by_driver(UCLASS_MISC, DM_DRIVER_GET(caam_jr), &dev); + if (ret) + printf("Failed to initialize %s: %d\n", dev->name, ret); + } puts("Normal Boot\n"); ret = uclass_get_device_by_name(UCLASS_CLK, diff --git a/board/freescale/imx8mp_evk/spl.c b/board/freescale/imx8mp_evk/spl.c index eca42c756e..503a752ae9 100644 --- a/board/freescale/imx8mp_evk/spl.c +++ b/board/freescale/imx8mp_evk/spl.c @@ -1,7 +1,7 @@ +// SPDX-License-Identifier: GPL-2.0-or-later /* - * Copyright 2018-2019 NXP + * Copyright 2018-2019, 2021 NXP * - * SPDX-License-Identifier: GPL-2.0+ */ #include @@ -20,6 +20,8 @@ #include #include #include +#include +#include DECLARE_GLOBAL_DATA_PTR; @@ -35,6 +37,14 @@ void spl_dram_init(void) void spl_board_init(void) { + if (IS_ENABLED(CONFIG_FSL_CAAM)) { + struct udevice *dev; + int ret; + + ret = uclass_get_device_by_driver(UCLASS_MISC, DM_DRIVER_GET(caam_jr), &dev); + if (ret) + printf("Failed to initialize %s: %d\n", dev->name, ret); + } /* * Set GIC clock to 500Mhz for OD VDD_SOC. Kernel driver does * not allow to change it. Should set the clock after PMIC diff --git a/board/freescale/imx8mq_evk/spl.c b/board/freescale/imx8mq_evk/spl.c index 67d069b2b0..b28056bb48 100644 --- a/board/freescale/imx8mq_evk/spl.c +++ b/board/freescale/imx8mq_evk/spl.c @@ -1,8 +1,7 @@ // SPDX-License-Identifier: GPL-2.0+ /* - * Copyright 2018 NXP + * Copyright 2018, 2021 NXP * - * SPDX-License-Identifier: GPL-2.0+ */ #include @@ -22,6 +21,7 @@ #include #include #include +#include #include #include #include @@ -199,6 +199,10 @@ int power_init_board(void) void spl_board_init(void) { + if (IS_ENABLED(CONFIG_FSL_CAAM)) { + if (sec_init()) + printf("\nsec_init failed!\n"); + } puts("Normal Boot\n"); } diff --git a/drivers/crypto/fsl/jr.c b/drivers/crypto/fsl/jr.c index 8103987425..4e7accfb89 100644 --- a/drivers/crypto/fsl/jr.c +++ b/drivers/crypto/fsl/jr.c @@ -43,9 +43,17 @@ struct udevice *caam_dev; #define SEC_ADDR(idx) \ (ulong)((CONFIG_SYS_FSL_SEC_ADDR + sec_offset[idx])) -#define SEC_JR0_ADDR(idx) \ +#ifndef CONFIG_IMX8M +#define SEC_JR_ADDR(idx) \ (ulong)(SEC_ADDR(idx) + \ (CONFIG_SYS_FSL_JR0_OFFSET - CONFIG_SYS_FSL_SEC_OFFSET)) +#define JR_ID 0 +#else +#define SEC_JR_ADDR(idx) \ + (ulong)(SEC_ADDR(idx) + \ + (CONFIG_SYS_FSL_JR1_OFFSET - CONFIG_SYS_FSL_SEC_OFFSET)) +#define JR_ID 1 +#endif struct caam_regs caam_st; #endif @@ -669,8 +677,8 @@ int sec_init_idx(uint8_t sec_idx) caam = dev_get_priv(caam_dev); #else caam_st.sec = (void *)SEC_ADDR(sec_idx); - caam_st.regs = (struct jr_regs *)SEC_JR0_ADDR(sec_idx); - caam_st.jrid = 0; + caam_st.regs = (struct jr_regs *)SEC_JR_ADDR(sec_idx); + caam_st.jrid = JR_ID; caam = &caam_st; #endif ccsr_sec_t *sec = caam->sec; diff --git a/scripts/config_whitelist.txt b/scripts/config_whitelist.txt index 79f03d1636..98a4bf5aec 100644 --- a/scripts/config_whitelist.txt +++ b/scripts/config_whitelist.txt @@ -1273,6 +1273,7 @@ CONFIG_SYS_FSL_IFC_LE CONFIG_SYS_FSL_ISBC_VER CONFIG_SYS_FSL_JR0_ADDR CONFIG_SYS_FSL_JR0_OFFSET +CONFIG_SYS_FSL_JR1_OFFSET CONFIG_SYS_FSL_LS1_CLK_ADDR CONFIG_SYS_FSL_LSCH3_SERDES_ADDR CONFIG_SYS_FSL_MAX_NUM_OF_SEC -- 2.17.1