From patchwork Thu Mar 25 09:30:23 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Peng Fan (OSS)" X-Patchwork-Id: 1458295 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; 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=OeM6W0Dz; 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 4F5g3Y1wrhz9s1l for ; Thu, 25 Mar 2021 20:36:41 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 8FBCD82946; Thu, 25 Mar 2021 10:33:48 +0100 (CET) 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="OeM6W0Dz"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 13DED827AB; Thu, 25 Mar 2021 10:32:58 +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=-0.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FORGED_SPF_HELO,MSGID_FROM_MTA_HEADER,SPF_HELO_PASS autolearn=no autolearn_force=no version=3.4.2 Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on20615.outbound.protection.outlook.com [IPv6:2a01:111:f400:7d00::615]) (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 14392827AB for ; Thu, 25 Mar 2021 10:32:55 +0100 (CET) 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=QEgAAv5Aku1j9v5PhGdKvvLj4snb0KCDybLDtLJAaCbdHFp/aKEqsKVORHGbe1L1E71EA9zAAqSJFNC8hu3HwVEVFpZdWNYcXorb5oD4xhAZkRhEp6cZV+l0lB0nzjN7UAbJ/Zz9QpUynIPN4X87oFuFowT3q9GpR/2Pql6Zy8EsqcId/vdJN9u5qoJaGkesH1tqHCibh0VSK7ZMDab26jfccfM9OskZc+K8vHKTeVgMpwlfjJ60DVz6EQK0+FUfLPpRfajlHdDY6tu4C5LVj4uFHXTGR7tQhHo3lbQrh5PxawUxzijUWqPmzks0WBaUODHPbJlNvzjzGbx0smyCkA== 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=5IMjX7IhMO97nZTmnXrYHnig9trKk+o6VT1BQBsiROs=; b=I/vp2ucJEZGHXdfc7+FFAUoHcEdZ/F3TXkpHMJM4FFv3fF3iPeSseCDFyyfvKY6NlxLs+sz7vWpYpIXAMNJPRRCgblpL5CeTV2hy43YA1H6kmsJaFBePEE6QWKDZB9TcT1oyMQLyQZHUmpbU4OdDxCJYsFCC148wXl1or0CuPrWBK4v/BxqLfJlBuJS9KQrSAId8+k+/7vPWMirKQmVzwrD40ijs7Bj9W4bRUhKoblGEhLH1a0yr/lI2MKSbFL6LfTQhYv2INM9BjwfmAYiapReEPmQgxJbjs8zpzWrA5d/XTQzqin4YZYe5OC1Q3QhgWDYGY/sl78x9QlxWWJrTsw== 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=5IMjX7IhMO97nZTmnXrYHnig9trKk+o6VT1BQBsiROs=; b=OeM6W0DzwunUolTEvyad/0B0PLs7rmICCOz6j5Oe+x8M/s/fJFgIqJKCOUja9yqGiwh3q9y0tTMwFlANaWGVVSj6+d5sGuJIJjMASH4b9k1cYO+PkzpcfWlbC7Bwo6xW65W8z3uxuPBKpoJuGjrX2w9GlRuk/QhG+conJsz778I= Authentication-Results: denx.de; dkim=none (message not signed) header.d=none;denx.de; dmarc=none action=none header.from=oss.nxp.com; Received: from DB6PR0402MB2760.eurprd04.prod.outlook.com (2603:10a6:4:a1::14) by DB7PR04MB5243.eurprd04.prod.outlook.com (2603:10a6:10:17::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3977.25; Thu, 25 Mar 2021 09:32:53 +0000 Received: from DB6PR0402MB2760.eurprd04.prod.outlook.com ([fe80::d58c:d479:d094:43d0]) by DB6PR0402MB2760.eurprd04.prod.outlook.com ([fe80::d58c:d479:d094:43d0%9]) with mapi id 15.20.3955.025; Thu, 25 Mar 2021 09:32:53 +0000 From: "Peng Fan (OSS)" To: sbabic@denx.de, festevam@gmail.com Cc: uboot-imx@nxp.com, u-boot@lists.denx.de, Franck LENORMAND , Peng Fan Subject: [PATCH 24/37] caam: enable support for iMX7ULP Date: Thu, 25 Mar 2021 17:30:23 +0800 Message-Id: <20210325093036.3270101-25-peng.fan@oss.nxp.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210325093036.3270101-1-peng.fan@oss.nxp.com> References: <20210325093036.3270101-1-peng.fan@oss.nxp.com> X-Originating-IP: [119.31.174.66] X-ClientProxiedBy: HK2PR0302CA0021.apcprd03.prod.outlook.com (2603:1096:202::31) To DB6PR0402MB2760.eurprd04.prod.outlook.com (2603:10a6:4:a1::14) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from localhost.localdomain (119.31.174.66) by HK2PR0302CA0021.apcprd03.prod.outlook.com (2603:1096:202::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3999.16 via Frontend Transport; Thu, 25 Mar 2021 09:32:51 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 74f065ff-1088-46a4-703f-08d8ef70f731 X-MS-TrafficTypeDiagnostic: DB7PR04MB5243: X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:551; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 0OuUdGEcrFSvZV3hOqhdF9SuOwGFUf+MBmElEGk19RtgbPHBGogLU052NljwM/5iVWT6Fm6k0OOOxNJFYxouL/y6+Jn9oqKrFQmReD0PvtuCOLcHkTMGHEk7SrryWnLTRhIEYJ8QFkFiY73YA7tdprCpX1ACfQ+C5sy4qEu2lSOvvywHg9a29opbJPU5Krr2r5XFDeJ1gKunz+zTSQicoGom6q+p0+bav9MbNSh3blFL5vCHG9dgai05S8vmlVmv7ssPuMMg2FNvDY+AY1OZRJbdvae8rUp3qvLUhykTIgML3KNmSH6kIGDWSDb4Tq5mxglnsOCib/r1phU3dmpJthjHoXBlZLwg4Ipc3VQiOAZEkJPRxRTKpVM0ppV1s0bwOVO6IFbVijJ922l3o+i/4WVrVgjDOuUq4zpPBSOgOxO87wHK/mHEFnDJOGCIbdoHIJwSNngDm/z/7uSByf+7NpPFUz+Mpi9CsthkvWIJ3zrnJYgfumsMWIemCvdx4R6qI9+w1kaku9aupi2LMC29dJe9uVILzP7yaSHwqZ1sPRcWUX0gu/gwu+pPEq8NwYnvKjTsA3cS7G/25qao0xybGu50UKdD4Oaebl0V/LedLmai/Cl6W1fYT3MOZm0gqBi63vTXiYlW0Uhqx8dE0qTW/1zxBmPFLdLVq+kNKoPAGUcCo7lkP6iMecmXT2UPvLsb X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB6PR0402MB2760.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(136003)(366004)(396003)(346002)(39860400002)(376002)(83380400001)(38100700001)(956004)(316002)(2616005)(5660300002)(66946007)(6666004)(66476007)(1076003)(66556008)(86362001)(69590400012)(6512007)(2906002)(8936002)(6486002)(4326008)(8676002)(26005)(186003)(16526019)(52116002)(6506007)(54906003)(478600001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: VQhm5QVNd40LxgTKaTcWbaxAfAemjYj0Trr2gwxsNXwqgoyncW7N9X1miMT2He6e61KyaRsK+FQxiManwDjM3ueDZ53wAoN3TsuARG4rPrjoLAQKOhbyg3S97HSV3munmbcEhZuwse5WiLbyZNj/KV4jjjvpsN3PpqUln4Rf3geKsLQeDs6Qe0jBF0Yj4YnrF4ybpYsFis9L+DW2+6UXwGTWdb7AOWqHSgn1b4x82A+Hukiygt1Q4RgtLbqdM6qd94iVJg57EVjtokO9cVQqBJBa4f4j4fJuyTSJ0K28uGuDuDfU65/V8wfP+2ZW42KEles1VJWjpFoNUpHejBQskQX/v9IaUOOuV93+1ebE8F4mk1I4UyO1VuulfdslDa1DOfnG2y5Cez3cbndsZOXTgYeN/XHEonkbVxvWvlNxPONKEQetSKdcqoNtEqlE3yGHCbrbnKfMsH6WfO5GHqGa/w7OFt0I3DqL+4JWGpU3DglAt8sfit7iwWwyN7CbDNEPvm9BWkPEIF6QQrQd0UPDE15Gcs5V9tFT0vvJSw3hp+uws4JOViUlTLorWu/ctndgE0Li2DuIIn5iInToJh1sCXhBuC7hJ+j0o7R9wf2WKk8Yignw5gfHrAP3uhQa6UwYTtVPoVDthtR0J37K6LTbF5Bj/HcTrUcMhrWR6ysVdII1U9NaGxaz6HLe+y0MAeLStR/r7ES+rCoLxNblDpObyN+cED4QRya/adGbCMZBFYD6DuRq5RZ/PDEx37kA0pmNfyjtcO5sYFQkHmLUHGnA0KZ2TLDtZtQespxISZTDt2WQoH6104vieEHElGc/wYuWKGU3w35T4pG7odUziZeW5CgmifSSR65z4+U0jd71Ld6D7gpLcK2oxVRSM29bgltkpUJbOmkO04kWiols7fvnIlg931ZMEd9eO37/L6GJphQYR3mAsVufSqjLuT26sIVIVbjL834IapMGTgSHxd9wxjlCDO/tZKqHjS/jhB4AcO3Qzf6Rpt34GtBbCVLGCtVpH5yzDU9cLQTN7pbp7KXoVgB+HVtx1KVI4VmnO8PjNXPceYqcQozG18djJRVZJiVSeFwmeZt7V07k4id/EwDkt8RNF5HgrmKkxRzaVuPiglv07nFq1UbsZyw5ppOgO55OoXSmghnMNxzfgEbZSJUSW2zR2yyIFWuyNi1me9CefcKZpytcSJeLp3bsJ4o7RYQUS59LHHyRP1TfMJyvmjOBTJm75dnNuYmcaUu22/26uA1H8/9PGHDpUTeat9D5wwLbsBV66+ei90wPnYa3cPxNGnn/Jh7vgRNLv8Ui/c/VWRdgzSZkU6m1VzOeVYrrSEphyZ5j8anl+aJtBPJHGeMKww== X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 74f065ff-1088-46a4-703f-08d8ef70f731 X-MS-Exchange-CrossTenant-AuthSource: DB6PR0402MB2760.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Mar 2021 09:32:53.6892 (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: 8r+9SLVRhhDHZ2HOhcCMs8G24mQwt6yBdMFkv1IvhZDvIeAePw7tLOF9ilG4747TKDgPo1/XMY/ELGslSFTTiw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR04MB5243 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 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.4 at phobos.denx.de X-Virus-Status: Clean From: Franck LENORMAND Signed-off-by: Franck LENORMAND Signed-off-by: Peng Fan --- arch/arm/Kconfig | 3 +++ arch/arm/include/asm/arch-mx7ulp/imx-regs.h | 12 ++++++++++++ arch/arm/mach-imx/mx7ulp/Kconfig | 1 + drivers/crypto/fsl/jobdesc.c | 2 +- include/fsl_sec.h | 8 ++++---- 5 files changed, 21 insertions(+), 5 deletions(-) diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 3307f2b3fc..70b9ad5b9f 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -875,6 +875,9 @@ config ARCH_MX31 config ARCH_MX7ULP bool "NXP MX7ULP" select CPU_V7A + select SYS_FSL_HAS_SEC if IMX_HAB + select SYS_FSL_SEC_COMPAT_4 + select SYS_FSL_SEC_LE select ROM_UNIFIED_SECTIONS imply MXC_GPIO imply SYS_THUMB_BUILD diff --git a/arch/arm/include/asm/arch-mx7ulp/imx-regs.h b/arch/arm/include/asm/arch-mx7ulp/imx-regs.h index 9a420dc30b..cb0c2c15c0 100644 --- a/arch/arm/include/asm/arch-mx7ulp/imx-regs.h +++ b/arch/arm/include/asm/arch-mx7ulp/imx-regs.h @@ -16,6 +16,8 @@ #define CAAM_SEC_SRAM_SIZE (SZ_32K) #define CAAM_SEC_SRAM_END (CAAM_SEC_SRAM_BASE + CAAM_SEC_SRAM_SIZE - 1) +#define CAAM_ARB_BASE_ADDR CAAM_SEC_SRAM_BASE + #define OCRAM_0_BASE (0x2F000000) #define OCRAM_0_SIZE (SZ_128K) #define OCRAM_0_END (OCRAM_0_BASE + OCRAM_0_SIZE - 1) @@ -224,6 +226,16 @@ #define IOMUXC_DDR_RBASE ((AIPS3_BASE + (AIPS3_SLOT_SIZE * IOMUXC_DDR_AIPS3_SLOT))) #define MMDC0_PCC_REG (PCC3_RBASE + (4 * MMDC0_PCC3_SLOT)) +#define CAAM_IPS_BASE_ADDR (AIPS2_BASE + 0x240000) /* 40240000 */ + +#define CONFIG_SYS_FSL_SEC_OFFSET 0 +#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_JR0_ADDR (CONFIG_SYS_FSL_SEC_ADDR + \ + CONFIG_SYS_FSL_JR0_OFFSET) +#define CONFIG_SYS_FSL_MAX_NUM_OF_SEC 1 + #define IOMUXC_DPCR_DDR_DQS0 ((IOMUXC_DDR_RBASE + (4 * 32))) #define IOMUXC_DPCR_DDR_DQS1 ((IOMUXC_DDR_RBASE + (4 * 33))) #define IOMUXC_DPCR_DDR_DQS2 ((IOMUXC_DDR_RBASE + (4 * 34))) diff --git a/arch/arm/mach-imx/mx7ulp/Kconfig b/arch/arm/mach-imx/mx7ulp/Kconfig index 6680f856c5..2ffac9cf7c 100644 --- a/arch/arm/mach-imx/mx7ulp/Kconfig +++ b/arch/arm/mach-imx/mx7ulp/Kconfig @@ -9,6 +9,7 @@ config LDO_ENABLED_MODE Select this option to enable the PMC1 LDO. config MX7ULP + select HAS_CAAM bool choice diff --git a/drivers/crypto/fsl/jobdesc.c b/drivers/crypto/fsl/jobdesc.c index fbc1aeddee..8c3db64527 100644 --- a/drivers/crypto/fsl/jobdesc.c +++ b/drivers/crypto/fsl/jobdesc.c @@ -15,7 +15,7 @@ #include "rsa_caam.h" #include -#if defined(CONFIG_MX6) || defined(CONFIG_MX7) +#if defined(CONFIG_MX6) || defined(CONFIG_MX7) || defined(CONFIG_MX7ULP) /*! * Secure memory run command * diff --git a/include/fsl_sec.h b/include/fsl_sec.h index c661bd6ead..a98f6cb12a 100644 --- a/include/fsl_sec.h +++ b/include/fsl_sec.h @@ -195,7 +195,7 @@ typedef struct ccsr_sec { struct jr_regs { #if defined(CONFIG_SYS_FSL_SEC_LE) && \ - !(defined(CONFIG_MX6) || defined(CONFIG_MX7)) + !(defined(CONFIG_MX6) || defined(CONFIG_MX7) || defined(CONFIG_MX7ULP)) u32 irba_l; u32 irba_h; #else @@ -209,7 +209,7 @@ struct jr_regs { u32 rsvd3; u32 irja; #if defined(CONFIG_SYS_FSL_SEC_LE) && \ - !(defined(CONFIG_MX6) || defined(CONFIG_MX7)) + !(defined(CONFIG_MX6) || defined(CONFIG_MX7) || defined(CONFIG_MX7ULP)) u32 orba_l; u32 orba_h; #else @@ -242,7 +242,7 @@ struct jr_regs { */ struct sg_entry { #if defined(CONFIG_SYS_FSL_SEC_LE) && \ - !(defined(CONFIG_MX6) || defined(CONFIG_MX7)) + !(defined(CONFIG_MX6) || defined(CONFIG_MX7) || defined(CONFIG_MX7ULP)) uint32_t addr_lo; /* Memory Address - lo */ uint32_t addr_hi; /* Memory Address of start of buffer - hi */ #else @@ -263,7 +263,7 @@ struct sg_entry { #define BLOB_SIZE(x) ((x) + 32 + 16) /* Blob buffer size */ -#if defined(CONFIG_MX6) || defined(CONFIG_MX7) +#if defined(CONFIG_MX6) || defined(CONFIG_MX7) || defined(CONFIG_MX7ULP) /* Job Ring Base Address */ #define JR_BASE_ADDR(x) (CONFIG_SYS_FSL_SEC_ADDR + 0x1000 * (x + 1)) /* Secure Memory Offset varies accross versions */