From patchwork Tue Nov 30 10:40:36 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gaurav Jain X-Patchwork-Id: 1561509 X-Patchwork-Delegate: sbabic@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=nxp.com header.i=@nxp.com header.a=rsa-sha256 header.s=selector2 header.b=a9ouODhF; dkim-atps=neutral Authentication-Results: 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=) 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 RSA-PSS (4096 bits)) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4J3Jgg6Y9vz9sWJ for ; Tue, 30 Nov 2021 21:42:07 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id D089983094; Tue, 30 Nov 2021 11:41:50 +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="a9ouODhF"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id C60E182FB3; Tue, 30 Nov 2021 11:41:44 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FORGED_SPF_HELO, MSGID_FROM_MTA_HEADER,SPF_HELO_PASS,T_SPF_PERMERROR autolearn=no autolearn_force=no version=3.4.2 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on0600.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe0d::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 2E87682FB3 for ; Tue, 30 Nov 2021 11:41:39 +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=KSkNxpxljwsLUwrPLtNUddsc0mY8gMKWl32b23NYZJtolkQhZ2RqdFlhCa+oHRjZBfi9ZiWdhoXvdOy0XxzP0L7GsvZs6wBUefuQIs9hFtAA/PfBfPafJkt+6qVnBrn909g0bzpktpQIpMjIgPJbK70VJ387kA04E5SSHKYnhkwU19LJFYjjLYTmyylUNhW4Qg5bI43wR4A7bQbz3aZj0/yE/u+EtgOIpCKbFNbLsOfW+luRpZ0dwgqrjB3hM/bUy6kBHl3l4zNSz0rDZ25t8SqpVWwOOrLt/NaxWDmLhq/3VDprpNAeCuDMH7UVE9CnzZT+GU3dXF0+UUnSzJoB5A== 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=O7Nse7X9QxRK6vuMehmmwTLK7iHhyroZkdadyoUvWLM=; b=IouFQssjBz/fOFc49sdCLPh9EhtSJWnBPh30Ty78Y9VDeEiu+8Prt9xYEZWkNVBwZHdOq5o2OiR7hJFhMSk+r2P8JbvICXgbX2SKetsIQdmmZMvQCWGKFeYIApfZEPU1MWC0QQD6Du3nx8E4f3aSyD1Z/PY4poby+a9iT/86uzOuxO191i3vVT4XAcsN36EQhCY5wCHECOqyp9/hE+0jOoMlUeygCxbaQgRlXYO30QPyWZM9ahJAgD1++EDRIq12QaczfbtZ0WlaCaJMFsogVJQjjv5C1/0ukP98umDjnUiIdG3PJwCR//RxMJgvzKRuCuUML/cxKFGqvdKC4IF4oQ== 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=O7Nse7X9QxRK6vuMehmmwTLK7iHhyroZkdadyoUvWLM=; b=a9ouODhFT2iCYPzWP7bQEoUEvRuD4SFaMCgT5knVpRapG12K0uopZLJfca5FUKd5PfbXPla0ZnCBkaD79s/F78l9xJGoRMWQcmm5DZP1WEqu/Ejz64WwGDDtmsKDIJcYr/0LMyFPJezv5q/qs8UCDF6y1qDegvO9WNftI9EhRwk= 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 VI1PR0402MB3709.eurprd04.prod.outlook.com (2603:10a6:803:1e::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4734.23; Tue, 30 Nov 2021 10:41:37 +0000 Received: from VI1PR04MB5342.eurprd04.prod.outlook.com ([fe80::9c7:29fc:3544:10fb]) by VI1PR04MB5342.eurprd04.prod.outlook.com ([fe80::9c7:29fc:3544:10fb%3]) with mapi id 15.20.4734.024; Tue, 30 Nov 2021 10:41:37 +0000 From: Gaurav Jain To: u-boot@lists.denx.de Cc: Stefano Babic , Fabio Estevam , Peng Fan , Simon Glass , 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 v6 03/15] crypto/fsl: i.MX8M: Enable Job ring driver model in SPL and U-Boot. Date: Tue, 30 Nov 2021 16:10:36 +0530 Message-Id: <20211130104048.6207-4-gaurav.jain@nxp.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20211130104048.6207-1-gaurav.jain@nxp.com> References: <20211130104048.6207-1-gaurav.jain@nxp.com> X-ClientProxiedBy: SG2P153CA0054.APCP153.PROD.OUTLOOK.COM (2603:1096:4:c6::23) To VI1PR04MB5342.eurprd04.prod.outlook.com (2603:10a6:803:46::16) MIME-Version: 1.0 Received: from lsv03326.swis.in-blr01.nxp.com (14.142.151.118) by SG2P153CA0054.APCP153.PROD.OUTLOOK.COM (2603:1096:4:c6::23) with Microsoft SMTP Server (version=TLS1_2, cipher=) via Frontend Transport; Tue, 30 Nov 2021 10:41:31 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: ad55344b-e5bf-4d3c-6d90-08d9b3edfc52 X-MS-TrafficTypeDiagnostic: VI1PR0402MB3709: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:43; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Y68Ka5leUvtW3uSgacHzF4kxP2ikwh7+URtuI2BsfsxpSve7dZgz+YfOa5IKM5yd53YzbM6x5C0viRQXfiwRQEV6UTECv5pm2v24SxaiGZ8BKcEiOicae5ZjvYjCHbPdFi9CInvfZjPUUXRRLM1liEFY7v9/WAoKusOBQbeOnYZs/ngs+Vh6G+gDfaNsAR3Yph+BCqILnXWtMkIahBInaOUKXsm8gTItx/ADOiRQURO4OyJmf4mTkyBW7OVvBgu4AS0BWvSbqXo4MNoF9gayEo8CUyv65BSMnFiK/WwfAYn8Z2VNcr5ywFn9o0DOPCodBnITWAcZza2NUps5OFpb0CWUFPzmDQCu85w7UgZkQfUPd1r1yUApMN5IRRSG4WgtD5KHfJej2P3MiYKGvQMOjRBhihO4L9YTHcKDlAvBDyOOt68UnQbvjwqjJ7qJHvZXoPseiQauqRxDrjBwb0HKNBvG9l/yPSE+pKYDvz/fq2Uk6bqSJGxjGFx6n/IG995ESujFUkcKd+X1GxCskHhIXUBlMrNAYPGl1jJ0hwBea9ogESC3I+x7IJD4A8m2DSpzIj6W3soYpPcH8DgaFfUeq6lMgpqcHRg0S+ZgHUyhr4nnh+PidihF97PZQgOTZjFe8OAykqqLLe5FuyPz010ZCx02V956vZ3/87Rqg6TVq/gYks1dWfbO/ndiThEqQXrOLS0vyoieERaDY37vjcg4JN5aj36wr47LwVcEd6UtrlbjLInxbuVN8XUOAvd1Mx7r 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)(55236004)(52116002)(83380400001)(54906003)(7696005)(4326008)(38350700002)(6486002)(66556008)(5660300002)(8936002)(44832011)(38100700002)(66946007)(186003)(8676002)(956004)(36756003)(6916009)(26005)(2906002)(316002)(508600001)(86362001)(1076003)(66476007)(1006002)(2616005)(110426009); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: Bbco9womY/Y0FhXDAf00qDs6pJbC7vDTHKA8VuZYn2ByyjeTBSIBM2W4N3pvY0jhX2wbZzA1xJPSQojNVn6ir5ckIhdLk2TuNAcldHmhHL5IQCGyT6tND7CB0C7Gq+m7Axx0x1WFAVp7gH1GCx7zrHyJj93959X0B56zqww0crKOvfSnP9EtTMHCkpC03pbfWRnGmVgeQUdn3P/3T6A63FEsh6cISrufHVdxjXZxTROmjQ/WP14RHxzYBmUvR3F92CihASlA/zZm/vSxtXvLqZrPRYrMPo3epgcJvVLS8YJBxuAf9IX5FXAPFkwplOxHDugnzFQdyqmrKZTWpIkWzfWjGb8g11r/3DPKEcRkzJZ+kO0PS6dx+HXGgRs0JPmrUPUWgybGkDd4WKFwW1LSrrC7NOWLXJJ88M3UjFOhrVFunhoXJFIrk9vo96plcohpo4UEULAVkeWcsOmqTzssq+bfRd2dfKFdpQtrji0PSB4Pgf23DXZTNqbCVwmUpFuxfNvgU3Pup5jnSNWG2E+2GljeSEJV/OTlSTpYrtANgKjZ+eokP23tvvxC9rZxrvFJqWJ1EVSjT4FARLFBdpE2mju74TfN6aEE9B/1sj0UL9YyotRJBTiZxMYkriBfI+U8IeVxVed6q8QXM43PsPnpaBMuu8Ddvrigl61QtXL3uDXLZN1qt6Zbd55q8Jrjj0zi6leXJbphPcEIaRdS3z28MWV5J3op/zk91KMa2bhMvfjhEzEA6qgnT9GMcK174JfgWCEH2dUpC4sQm7AnDFMwLHrKDQ5R90T1+w8IMw1WkVYe1ft8s/shHf69OxTM7XSKJ+RN6oBOrjWUPiEZ2d/J29LMORFodbbUT8d7i+wXl356N+tDr3/q/elqF8/Y2j2W2oWIcFjbkl4THXVUZ1Bx99blHnpfjxkxX5nn4RUEt4i28lpYonKo1bzr3MVptHk+O1ita4efWvWCZfdIpKOK+FXMjRtHCGY8ryYtIEM6+JrGA7JCyXHuEGy6cHsrGz2/dJLb52NHcXdRBaknJcfWtDSKDy5KG8Jtd1lYaqPzHw3wh6MIzxJEis1YBvL7z3JKdcxeKiMaOH0RaIGkIU5nzm+gdpDAB5Xs13LXqXoeyVXZXuWBxAo4nhCS+j5cJOdIah0hXn9W92twFwgAVGz053VYbd0PnM+Dc3+KCd0c1CWcMOJa6s5tVn3sMIw49PMYjr5K90c0pUqf0nknh9RvJAFc4wGWvZ8WWz38/WvHUhKQC7Fi2+5zgZXxYoC8Di3z3KsZK2C1ZmSdnOiTWdMrnMnySweQB4RUfz0Pd8hVh0PXh0tmSczGSMm+5WbdcJ9Fpn/hCWrKqNpSjNV4qf+IRXMBsOuxkxBDd4+G0+u6YZVt44NS5HgHQb52cbloct3X03qsXoMlaAKMt8fqASVlh6Y8BhkJwRcKG/cZ2cuYWyju4Kjd7YDsg2feqMbE7ZhR6o+r40pdKrvCaUE/EDNDtCQuTlY39ykbUytspeinVAG8MZKLCT+F4SzmJs/aPbC2JRPWjsllqfo9dMPLoO2MGfQXRGiHWksFkkNG30d3BY1F/4Ikobet3wk7Cdn5BUAhqyaYw7t90Zx/Jd8t3dMqDfxo/RjTy6eYXWxZf7mYgP8= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: ad55344b-e5bf-4d3c-6d90-08d9b3edfc52 X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5342.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Nov 2021 10:41:37.4175 (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: p6w6Yb7E0MpOV80g3PP02BnqRqtzCK2pS4sW/jk675/ATjrKNq27MzAZaJ6N+qD36486dt6ZlhT1YAJDKMqvxA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB3709 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.37 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 | 23 ++++++++++++++++++++++ arch/arm/mach-imx/imx8m/soc.c | 10 +++++++++- board/freescale/imx8mm_evk/spl.c | 9 ++++++++- board/freescale/imx8mn_evk/spl.c | 8 ++++++-- board/freescale/imx8mp_evk/spl.c | 13 ++++++++++-- board/freescale/imx8mq_evk/spl.c | 9 +++++++-- drivers/crypto/fsl/jr.c | 14 ++++++++++--- scripts/config_whitelist.txt | 1 + 10 files changed, 78 insertions(+), 12 deletions(-) diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index f7f03837fe..550f884077 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -815,7 +815,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 276b8bd974..4988171d2b 100644 --- a/arch/arm/mach-imx/imx8m/Kconfig +++ b/arch/arm/mach-imx/imx8m/Kconfig @@ -38,6 +38,11 @@ config TARGET_IMX8MQ_EVK bool "imx8mq_evk" select IMX8MQ select IMX8M_LPDDR4 + select FSL_CAAM + select FSL_BLOB + select MISC + select ARCH_MISC_INIT + select SPL_CRYPTO if SPL config TARGET_IMX8MQ_PHANBELL bool "imx8mq_phanbell" @@ -50,6 +55,11 @@ config TARGET_IMX8MM_EVK select IMX8MM select SUPPORT_SPL select IMX8M_LPDDR4 + select FSL_CAAM + select FSL_BLOB + select MISC + select ARCH_MISC_INIT + select SPL_CRYPTO if SPL config TARGET_IMX8MM_ICORE_MX8MM bool "Engicam i.Core MX8M Mini SOM" @@ -88,6 +98,10 @@ config TARGET_IMX8MN_EVK select IMX8MN select SUPPORT_SPL select IMX8M_LPDDR4 + select FSL_CAAM + select FSL_BLOB + select MISC + select SPL_CRYPTO if SPL config TARGET_IMX8MN_DDR4_EVK bool "imx8mn DDR4 EVK board" @@ -95,6 +109,10 @@ config TARGET_IMX8MN_DDR4_EVK select IMX8MN select SUPPORT_SPL select IMX8M_DDR4 + select FSL_CAAM + select FSL_BLOB + select MISC + select SPL_CRYPTO if SPL config TARGET_IMX8MP_EVK bool "imx8mp LPDDR4 EVK board" @@ -102,6 +120,11 @@ config TARGET_IMX8MP_EVK select IMX8MP select SUPPORT_SPL select IMX8M_LPDDR4 + select FSL_CAAM + select FSL_BLOB + select MISC + 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..0f9bd77354 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,13 @@ static void acquire_buildinfo(void) int arch_misc_init(void) { + 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..c81128f442 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,13 @@ static void spl_dram_init(void) void spl_board_init(void) { + 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..ab19dabf7b 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,10 @@ void spl_board_init(void) 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"); 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..bcef96caa3 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,13 @@ void spl_dram_init(void) void spl_board_init(void) { + 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..8a47dd01a5 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,11 @@ int power_init_board(void) void spl_board_init(void) { +#ifdef CONFIG_FSL_CAAM + if (sec_init()) + printf("\nsec_init failed!\n"); + +#endif puts("Normal Boot\n"); } diff --git a/drivers/crypto/fsl/jr.c b/drivers/crypto/fsl/jr.c index eea2225a1e..a99792afbb 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 @@ -675,8 +683,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 #ifndef CONFIG_ARCH_IMX8 diff --git a/scripts/config_whitelist.txt b/scripts/config_whitelist.txt index b9c1c61e13..81de1a3793 100644 --- a/scripts/config_whitelist.txt +++ b/scripts/config_whitelist.txt @@ -1848,6 +1848,7 @@ CONFIG_SYS_FSL_IFC_SIZE2 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