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 CA70DC433F5 for ; Tue, 30 Nov 2021 10:43:40 +0000 (UTC) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 12461830C8; Tue, 30 Nov 2021 11:42:34 +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="Xuf4z54D"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 36A14830B9; Tue, 30 Nov 2021 11:42:21 +0100 (CET) Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on0619.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe0d::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 0D01D83096 for ; Tue, 30 Nov 2021 11:42: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=HSEy/H8Bkm07s0UhX2fbTYpQ4UqksE9KDqNgVNV9OjmDdw+yPloCnbeGy7NjXdbM+MCeDGmf9YROiJZlq6Co2znMGUZs6gMSIfMPljMMjBVSvPIZZoAptSpQNZ9qKheg/Fk72Pe/I2J0z3bkFJyYMdyIYYdE6nv7EJCp5NprCTcsqYpIVF4UBFf5dysWlf5iZiOrqKRYIq07+PfLP9b6oT2++4r9ic7sGoqJnYwCQbTxU6zkSSSzLA3HP4DQVDv2GMrwTaP6P/e7Quq14rzoZENGm/EbxpQUawN1CE/Mq5ZqQRm1fHXnSPbya8B3Pv8oKPoXh/R4osMAhQnpAYveMw== 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=DH+1W/DbVEkBs5a9mtKBalEuAnxn2cvpuaZwJpatKjY=; b=Rab86BVpH/nPkDtg2XucnweKvPOtzKHEu9bDCpzZP/gztCl+WNX1Uht5w1Ve7nFcXRr/wcK9qyNJAU/oC0qcTUdXj0pAg1bSivd7EyLyYnz42f+UiCpsxtpmjsBF4+nyqk4B0p9HHa8hlQZyf7R3T+l8kjfKQJ9AJh5J69b+pslGWFuUGGH2ZWA+qqwb3j/8JSjmjCntMaRWeSW7uwtwgRSkbkkn/3yfQjyWEaV6nn4XicjHW4v93Vl+TBUg0Ee7eWnUCeVoWmwKaZjSuvqTCsATjlGDiDqTpxmRi3zjdVQ8KCka/Mr83JNKf1Nxj8JvuuPUzf5lRDXyEAdIK9LDwg== 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=DH+1W/DbVEkBs5a9mtKBalEuAnxn2cvpuaZwJpatKjY=; b=Xuf4z54DSxI7ktRz2p5m7Rd+Y/Vy8Xt6I7wSIfv0mD6hO2jna9pc6AdYxmA0M19tQ3382Z+ThPmipkmxO928bWdpa+rdlRUTCr6tEOQMZyzJuXSKGwPG6/nyanW2Ub+DZx2Yt97OgXxixuf36xe2TEudHGpLbeQJsPIX1VdnBgI= 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:42:15 +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:42:15 +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 09/15] crypto/fsl: i.MX8: Enable Job ring driver model in SPL and U-Boot. Date: Tue, 30 Nov 2021 16:10:42 +0530 Message-Id: <20211130104048.6207-10-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> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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:42:09 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: cac25c50-fb58-46ab-796d-08d9b3ee12f3 X-MS-TrafficTypeDiagnostic: VI1PR0402MB3709: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:118; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: tsBiK2Jt6pEgVNKbSHJaBn4PUFs18w9Bvu+ge9M0n2mIUoeZ2fGCmlJ3e+pCMSmEouNME8BTJeZuYxvBiFVNbMxoI6Bj41og37n0RJWvkScQ/tWouPS33AoNWzwC6uKD9KxYNCh97vL2MS/4Jey6BgU3cfrTpHxVwNZXLYIaQkNjJvm3FZkTedXPibMdrEmjcAnHR50TtTGMdUlSy8D23Av0M7Fe+cc7KlA+/nWx+UA6+yDYC7Q6rcoTysmGbbThVDM/qmZOIm6zo5US2YrrJMPA0jyGkxZL3nO8n/n+hxARek/fFYB3wiS9w4qdToCKjRXy8Uj7pUVodvkDbuTblWlQixq1/brXnDK4ELmAyscG3a/F4XkQLB7mQxQ0OKilcGf2MITvwn8LoXJ0dwK23tbhSZP/sBKVhUQd4brD3Zf0juswkkpCtzZkh6C+pyqYT4cxHqlcmKMpw4iR5f7RPr+XPVRjkMKg5bQJLHK2RCqUIVVMk1aV2DE7cSnGo3rq0TN+4OTjVdRbeC7UHvQOpAmBTrig9PxwEqmDR8OZVOZ+ZeYHSKFQ44K5z9HemO8oEUqb1Sm1DBxBsBRJui36e4MabQGpxiyXu4wSEyka3lhLB5V0j2EEbSsRbem7FMPNd6Sk1bVtl89wvL5kbunlIgf2G7/L83Al6Y6Nmqoivh7YTGD9iiEwoPABvrJNCDdBwOEKMi2rfyNX614FvaUDfkvGhwOpxd6pzg1Hqytf4po= 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)(6666004)(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: =?utf-8?B?T2NIZm1qUDNlM3pZdGo1UFpVaVh0WWRBRXBsZmQ0L00yYm91OWF0T2VoQVpB?= =?utf-8?B?Y29idWl6dlhqNndVemxVRVhpYXE3L1kwSHJWM3pjUXFlbUFTMlVYbFEzRmI5?= =?utf-8?B?dzZQdVorYjNZUm5HNW1NVUV6eWxGR1JST1A4K3pYbXUvNEJMVFJhRjdKbVVa?= =?utf-8?B?VGdnaHRvbldXY1kyUHF3ZVpYQk5WMm9HZy9mMlQvSnRwREVadlNzaHdPSjdr?= =?utf-8?B?ZExoOWJGMmV5NnN4ZFpkT1hZWjV4TkRhR1BmdEF1b3MxTzZEK296YmNndVR0?= =?utf-8?B?LzRZanpwY2J5UWJiYjlOeUVDeGd2ZmNkQXE0ZnFac003YjdFb25odFowSWti?= =?utf-8?B?TG9RYTZwY1F5bmRCOFMveHJXZ0lhU3pVYnh6cTJZVG5VcU4vdWtTMVJzdnI0?= =?utf-8?B?aytpUjRQbVNta0wyM0JVWnhaRVIzMUMwYmxQWXVFY0srYXJOaGlmaUF6VlIw?= =?utf-8?B?T3pRbjljNzAxbFdIbGQxeXk4elRhdVNEc0ZnN3kyc3VFT0lRVWE4blF5TWJv?= =?utf-8?B?MDVKQkYrTHd1Z05abXVPeUJTeG16OFVlTHAwYjBUVTJmdXhlV2VCcUd4emlG?= =?utf-8?B?OTRTVUlodnhXN09lOTVpNkw1cGNDMVExTkg1NG9oRnlZUWU4QVV3Mk5iNTlV?= =?utf-8?B?NHRRZ25TMUhocnZOd2ttNEJQOGwyenBLeExxL1NtQ3dCdHg4MFQzeTRONjA2?= =?utf-8?B?SHZNMERuSE9jWWlMRlRKVHlva0RlMkdaNHNGdHp3Mmp2T0hSMks3d29TQ1NX?= =?utf-8?B?VTZrZ0Y3U0NmdzF0MlQvMTBuTys1cGFqN2tRbGFpYXZEb3FES0x2R3hyKzZh?= =?utf-8?B?b3RJbHFkYzRtT1VYWnVSNkpPWE0yU3hPeG81YWovMDlpa2ZVNDZXZUQzdzdO?= =?utf-8?B?aCtWdnM0bm1OaFJCa1c2NzA2c2lBR2kzR1FtbHNmUWdQSE80dEhDN1RnWTAy?= =?utf-8?B?NTlEclJ2U1dRYjJuRTZ2T21ybTZkdzErMGdhMUVOSGZlK1hwTmZaaUJLNFZ0?= =?utf-8?B?SkVTaFdXZDVsdkhRL2pIbWVWMUlyNXo4MXJ5Z3lmSlh3eWxFTXlzQkRRVVg0?= =?utf-8?B?YXlrS2ZpelIwVXhJNGZpYTFPMWVKOExROE43Ung2eUUvQTBrS2ZBTEFrOEVm?= =?utf-8?B?dkJLd2pRNEYxbmQzY09YZFRjVjhITEY5RG1sT0xBem9XUmF4eXJ2R1hBRHhH?= =?utf-8?B?NnV4RzllTHc3ZE5yNjNDakhtWjlmV0E5SENnOTBwY3Fla1hoYWVNTUZUZEdG?= =?utf-8?B?V0U3QjR4UFp2cUJmNEp1MlBvTXZ6R0pyVGtlbWNVRWRySFl6dEdEMnBSZGVh?= =?utf-8?B?RXNUNXR5UVphNlpqRGw4bHpNQ3RjWXpEaEthRkVyTXlCRk5nZHZybGFQQ1dQ?= =?utf-8?B?NW4xQzc2ZCtEaUIyTjJyQnYvalJiMWZrTXFIWjhuU09INGRXUHBEdllOemFx?= =?utf-8?B?cHJPbHl5NjdsLzN4Wkd4ZUI5RE91WGQ0dFR1NG5HQStnYWZLY2xuMFJkeUlr?= =?utf-8?B?K3BGSzR4K21ubEJBM3l3OVZwRHNMbnFyMTZFa2FMQjFEcUNvWG5RaVY5VUoz?= =?utf-8?B?cmU4Ym5kSkVHbjg5aU9WVmFtV3EyNi9RZUZKZjhJWjAyR3JOc0FpM0Jod05y?= =?utf-8?B?clRaVC9jUldPVm1PendtTUV3V2ZzUG1GUk9mOHVPVEFSaTZPd3RBR2xmakV4?= =?utf-8?B?dVhqVDNRdVRUcG9tdUlvSlVEZkVPS2V2aS9nekJMbmlVUFVuUXhERy9ZSWYy?= =?utf-8?B?cUdXTlhtbzRyd2dtQTgyV1RoSm1pQzhxcnJSMFpOK0k2R1NNOFdUMEs5ZVRW?= =?utf-8?B?ZWxjRCt0S3U0QzZGSzhZZC9ZdldNcUUxYVVycDFFWlFwRjNRVVAvc3B1SVM0?= =?utf-8?B?N3k4aDJ0a3d1ZmtlcVBwSGVqa0Z2WjFGZmJra0FKVDNXZU4zWERVLzI1WHpo?= =?utf-8?B?YVZmOExFQ2pXM3Q2dmdjYWJVY2pscVMyTDR3bTA0QTZPZWp6OHloK1pFSUhG?= =?utf-8?B?Lzg3Vnk4RFV2MXJOZURkNjRFZHVvZUk2VDRFS2hYZ0ZKOGNtTUlVS0JXU2Fo?= =?utf-8?B?UFNTelRTVkF0NGFEaVZjK2x2MkNOSTJkWGZMcnpxTmpGN01uK3o3NGxtV21k?= =?utf-8?B?eWVvVlhYN0NHZVAwRFc3S3p5MGEzOHR0MTVNeUZYbzdFUjB3RmMwZ2Q5V0p1?= =?utf-8?Q?xdJwWQ5Ggug7YnBuq8Y4Qdo=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: cac25c50-fb58-46ab-796d-08d9b3ee12f3 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:42:15.3658 (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: Tn2NLtGq3zE5CBkaAKQiEDHWHF0rVFcpnxondNhasvCQ6sxTRsOXg6/HGKxi7gMw+GNnaLYUe+AGcjbCbGvZOA== 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.MX8(QM/QXP) - added support for JR driver model. sec is initialized based on job ring information processed from device tree. Signed-off-by: Gaurav Jain Signed-off-by: Horia Geantă Reviewed-by: Ye Li --- arch/arm/Kconfig | 3 +++ arch/arm/include/asm/arch-imx8/imx-regs.h | 5 ++++- arch/arm/mach-imx/cmd_dek.c | 1 + arch/arm/mach-imx/imx8/Kconfig | 9 +++++++++ arch/arm/mach-imx/imx8/cpu.c | 16 ++++++++++++++- board/freescale/imx8qm_mek/spl.c | 6 ++++-- board/freescale/imx8qxp_mek/spl.c | 6 ++++-- drivers/crypto/fsl/Kconfig | 2 +- drivers/crypto/fsl/jr.c | 24 +++++++++++++++++++++++ include/fsl_sec.h | 12 +++++------- 10 files changed, 70 insertions(+), 14 deletions(-) diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 524a2204eb..7ce2bbc954 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -804,6 +804,9 @@ config ARCH_LPC32XX config ARCH_IMX8 bool "NXP i.MX8 platform" select ARM64 + select SYS_FSL_HAS_SEC + select SYS_FSL_SEC_COMPAT_4 + select SYS_FSL_SEC_LE select DM select GPIO_EXTRA_HEADER select MACH_IMX diff --git a/arch/arm/include/asm/arch-imx8/imx-regs.h b/arch/arm/include/asm/arch-imx8/imx-regs.h index ed6e05e556..2d64b0604b 100644 --- a/arch/arm/include/asm/arch-imx8/imx-regs.h +++ b/arch/arm/include/asm/arch-imx8/imx-regs.h @@ -1,6 +1,6 @@ /* SPDX-License-Identifier: GPL-2.0+ */ /* - * Copyright 2018 NXP + * Copyright 2018, 2021 NXP */ #ifndef __ASM_ARCH_IMX8_REGS_H__ @@ -47,4 +47,7 @@ #define USB_BASE_ADDR 0x5b0d0000 #define USB_PHY0_BASE_ADDR 0x5b100000 +#define CONFIG_SYS_FSL_SEC_ADDR (0x31400000) +#define CONFIG_SYS_FSL_MAX_NUM_OF_SEC 1 + #endif /* __ASM_ARCH_IMX8_REGS_H__ */ diff --git a/arch/arm/mach-imx/cmd_dek.c b/arch/arm/mach-imx/cmd_dek.c index 89da89c51d..04c4b20a84 100644 --- a/arch/arm/mach-imx/cmd_dek.c +++ b/arch/arm/mach-imx/cmd_dek.c @@ -9,6 +9,7 @@ #include #include #include +#include #include #include #include diff --git a/arch/arm/mach-imx/imx8/Kconfig b/arch/arm/mach-imx/imx8/Kconfig index b43739e5c6..9a20ebe84e 100644 --- a/arch/arm/mach-imx/imx8/Kconfig +++ b/arch/arm/mach-imx/imx8/Kconfig @@ -8,6 +8,7 @@ config AHAB_BOOT config IMX8 bool + select HAS_CAAM config MU_BASE_SPL hex "MU base address used in SPL" @@ -72,6 +73,10 @@ config TARGET_IMX8QM_MEK bool "Support i.MX8QM MEK board" select BOARD_LATE_INIT select IMX8QM + select FSL_CAAM + select FSL_BLOB + select ARCH_MISC_INIT + select SPL_CRYPTO if SPL config TARGET_CONGA_QMX8 bool "Support congatec conga-QMX8 board" @@ -89,6 +94,10 @@ config TARGET_IMX8QXP_MEK bool "Support i.MX8QXP MEK board" select BOARD_LATE_INIT select IMX8QXP + select FSL_CAAM + select FSL_BLOB + select ARCH_MISC_INIT + select SPL_CRYPTO if SPL endchoice diff --git a/arch/arm/mach-imx/imx8/cpu.c b/arch/arm/mach-imx/imx8/cpu.c index ee5cc47903..5140c93a37 100644 --- a/arch/arm/mach-imx/imx8/cpu.c +++ b/arch/arm/mach-imx/imx8/cpu.c @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0+ /* - * Copyright 2018 NXP + * Copyright 2018, 2021 NXP */ #include @@ -89,6 +89,20 @@ int arch_cpu_init_dm(void) return 0; } +#if defined(CONFIG_ARCH_MISC_INIT) +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); + + return 0; +} +#endif + int print_bootinfo(void) { enum boot_device bt_dev = get_boot_device(); diff --git a/board/freescale/imx8qm_mek/spl.c b/board/freescale/imx8qm_mek/spl.c index 944ba745c0..332a662dee 100644 --- a/board/freescale/imx8qm_mek/spl.c +++ b/board/freescale/imx8qm_mek/spl.c @@ -1,7 +1,7 @@ +// SPDX-License-Identifier: GPL-2.0-or-later /* - * Copyright 2018 NXP + * Copyright 2018, 2021 NXP * - * SPDX-License-Identifier: GPL-2.0+ */ #include @@ -24,6 +24,8 @@ void spl_board_init(void) { struct udevice *dev; + uclass_get_device_by_driver(UCLASS_MISC, DM_DRIVER_GET(imx8_scu), &dev); + uclass_find_first_device(UCLASS_MISC, &dev); for (; dev; uclass_find_next_device(&dev)) { diff --git a/board/freescale/imx8qxp_mek/spl.c b/board/freescale/imx8qxp_mek/spl.c index ae6b64ff6e..2fa6840056 100644 --- a/board/freescale/imx8qxp_mek/spl.c +++ b/board/freescale/imx8qxp_mek/spl.c @@ -1,7 +1,7 @@ +// SPDX-License-Identifier: GPL-2.0-or-later /* - * Copyright 2018 NXP + * Copyright 2018, 2021 NXP * - * SPDX-License-Identifier: GPL-2.0+ */ #include @@ -39,6 +39,8 @@ void spl_board_init(void) { struct udevice *dev; + uclass_get_device_by_driver(UCLASS_MISC, DM_DRIVER_GET(imx8_scu), &dev); + uclass_find_first_device(UCLASS_MISC, &dev); for (; dev; uclass_find_next_device(&dev)) { diff --git a/drivers/crypto/fsl/Kconfig b/drivers/crypto/fsl/Kconfig index 249a37f5a7..656db51864 100644 --- a/drivers/crypto/fsl/Kconfig +++ b/drivers/crypto/fsl/Kconfig @@ -11,7 +11,7 @@ config FSL_CAAM config CAAM_64BIT bool - default y if PHYS_64BIT && !ARCH_IMX8M + default y if PHYS_64BIT && !ARCH_IMX8M && !ARCH_IMX8 help Select Crypto driver for 64 bits CAAM version diff --git a/drivers/crypto/fsl/jr.c b/drivers/crypto/fsl/jr.c index a99792afbb..9b751aca9b 100644 --- a/drivers/crypto/fsl/jr.c +++ b/drivers/crypto/fsl/jr.c @@ -25,6 +25,7 @@ #include #include #include +#include #define CIRC_CNT(head, tail, size) (((head) - (tail)) & (size - 1)) #define CIRC_SPACE(head, tail, size) CIRC_CNT((tail), (head) + 1, (size)) @@ -790,6 +791,25 @@ int sec_init(void) return sec_init_idx(0); } +#ifdef CONFIG_ARCH_IMX8 +static int jr_power_on(ofnode node) +{ +#if CONFIG_IS_ENABLED(POWER_DOMAIN) + struct udevice __maybe_unused jr_dev; + struct power_domain pd; + + dev_set_ofnode(&jr_dev, node); + + /* Power on Job Ring before access it */ + if (!power_domain_get(&jr_dev, &pd)) { + if (power_domain_on(&pd)) + return -EINVAL; + } +#endif + return 0; +} +#endif + #if CONFIG_IS_ENABLED(DM) static int caam_jr_probe(struct udevice *dev) { @@ -820,6 +840,10 @@ static int caam_jr_probe(struct udevice *dev) jr_node = jr_node >> 4; } caam->jrid = jr_node - 1; +#ifdef CONFIG_ARCH_IMX8 + if (jr_power_on(node)) + return -EINVAL; +#endif break; } } diff --git a/include/fsl_sec.h b/include/fsl_sec.h index c4121696f8..7b6e3e2c20 100644 --- a/include/fsl_sec.h +++ b/include/fsl_sec.h @@ -3,7 +3,7 @@ * Common internal memory map for some Freescale SoCs * * Copyright 2014 Freescale Semiconductor, Inc. - * Copyright 2018 NXP + * Copyright 2018, 2021 NXP */ #ifndef __FSL_SEC_H @@ -194,12 +194,10 @@ typedef struct ccsr_sec { #define SEC_CHAVID_LS_RNG_SHIFT 16 #define SEC_CHAVID_RNG_LS_MASK 0x000f0000 -#define CONFIG_JRSTARTR_JR0 0x00000001 - struct jr_regs { #if defined(CONFIG_SYS_FSL_SEC_LE) && \ !(defined(CONFIG_MX6) || defined(CONFIG_MX7) || \ - defined(CONFIG_MX7ULP) || defined(CONFIG_IMX8M)) + defined(CONFIG_MX7ULP) || defined(CONFIG_IMX8M) || defined(CONFIG_IMX8)) u32 irba_l; u32 irba_h; #else @@ -214,7 +212,7 @@ struct jr_regs { u32 irja; #if defined(CONFIG_SYS_FSL_SEC_LE) && \ !(defined(CONFIG_MX6) || defined(CONFIG_MX7) || \ - defined(CONFIG_MX7ULP) || defined(CONFIG_IMX8M)) + defined(CONFIG_MX7ULP) || defined(CONFIG_IMX8M) || defined(CONFIG_IMX8)) u32 orba_l; u32 orba_h; #else @@ -248,7 +246,7 @@ struct jr_regs { struct sg_entry { #if defined(CONFIG_SYS_FSL_SEC_LE) && \ !(defined(CONFIG_MX6) || defined(CONFIG_MX7) || \ - defined(CONFIG_MX7ULP) || defined(CONFIG_IMX8M)) + defined(CONFIG_MX7ULP) || defined(CONFIG_IMX8M) || defined(CONFIG_IMX8)) uint32_t addr_lo; /* Memory Address - lo */ uint32_t addr_hi; /* Memory Address of start of buffer - hi */ #else @@ -268,7 +266,7 @@ struct sg_entry { }; #if defined(CONFIG_MX6) || defined(CONFIG_MX7) || \ - defined(CONFIG_MX7ULP) || defined(CONFIG_IMX8M) + defined(CONFIG_MX7ULP) || defined(CONFIG_IMX8M) || defined(CONFIG_IMX8) /* Job Ring Base Address */ #define JR_BASE_ADDR(x) (CONFIG_SYS_FSL_SEC_ADDR + 0x1000 * (x + 1)) /* Secure Memory Offset varies accross versions */ -- 2.17.1