From patchwork Tue Mar 11 15:39:32 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pankaj Gupta X-Patchwork-Id: 14011461 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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 3B78FC282EC for ; Tue, 11 Mar 2025 10:20:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:MIME-Version:Cc:To: In-Reply-To:References:Message-Id:Content-Transfer-Encoding:Content-Type: Subject:Date:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=8+o55FPMa7m6VVea9dp3slj5OALcBnoJzyUth39j3Gk=; b=g5j475ryZBDeXK5zC3LGxOPJo5 cMhssBjoxUyJEwLMzt8C15fVt0JCVwAi1DgIlzZpIBiSarriq9fBBg+GhBJSgR3nsnevFKPDwPHUS fOrYz+eAhByEtqtOEBqDAWo6FEMusb+f/Fqwa9+lXZLqSgkqDkTHHgQsJZ6Wmuj6lKej/5RTRnuXm w0hNgFpxrAIJAuHdn1yWUjHEp2V8Fm2MFnQNNsEROeAkmohKlINutVcb8H21FBSo/Y6aRzHcbXxyb 2Auj56Fzn3U2hSHvyx6vX0yceRVQrKieJJTSJHPRTOyvPQRJKgG0NNn36edKIpTnHE0r3ER3uOE7T mqSLYmhA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1trwiK-00000005JM5-2DO9; Tue, 11 Mar 2025 10:19:56 +0000 Received: from mail-am6eur05on20622.outbound.protection.outlook.com ([2a01:111:f403:2612::622] helo=EUR05-AM6-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1trwf5-00000005IXq-3In9 for linux-arm-kernel@lists.infradead.org; Tue, 11 Mar 2025 10:16:37 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ajpTjIuBy1BBtoldbQvd4sv02XPO96m0+8tIfMrunbywohZtHHz8+tvsYo56C3UafL7ggrsLuFegqn6WUoo7H70BG+purQaqn2HZ1foSHbTSpLQDdlyqNNFvvRqaSDLs8nSXiaVlziiRAEzXcoVs+KliN+JYeUdzRBy1wvXAJ2X2bsITLQTUTn6ukAbA3KuuyVu1Wmgc40m8DKGofD4er1UnHbOwy0FXBRTdF7yO/RKQdzYSam6HJMiNwAi8fFLKlYRj33PNVqKm8nNowTdFAh0Qd46bFV6fONdR0aKdpSybOs3Ak26dSlkNmGypVpMzWUGUYq/GBUdXYggPrztdKw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=8+o55FPMa7m6VVea9dp3slj5OALcBnoJzyUth39j3Gk=; b=NNWl28XPxF1tdY+btaZK6P+0KGYvCm4YXqNnFRImLy3jTZLuly/bZVvvBnzlqk+7iB//sFccGlvKEFjITJHR8WJNz00JuYrB9QZ/u8UFKLO+2fAX+Bns+HhzWpCRmKfVHo1mAKkCYsGOQ8/K/DyRHUfdJ2GMVzVVeN4KVJbCJFRWmycQeNovHDMIhmQU5/T5EIrK/GDZfFZYPOuyB2fg2xkKlzpb5ZY1B2+IE6zCWWD2FfEL9mDVvpZlIFz2xxvlmwtqtbptNwYMrmLToP49QhrWc33f8Ltpswi2FXNDuvJ+IN2mm4SMNvTrACg7Yc3iOEQ3f4uYymulYBqcT5vVOQ== 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=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=8+o55FPMa7m6VVea9dp3slj5OALcBnoJzyUth39j3Gk=; b=FDry9rSYVUSq+lIwwUaAQbg2UkOegJw/YMFU5SYiW6mP6gicKFvpKBntb4V2lzuXiLeW90byWNNZ9CkhIPwiN5SjWKLWdZnpGm8SSYoojO0xva5yqbC+ukNql1w+QGNpP3WQjtnINeAYm/sbuM1c1sMDLf/AEl/OWRWcZPQBiJHdNzpLOg0vMPCaP1YT2dZ1eA46KqflK4CiwxVDMPECHel5QCy8CxyyTxd5AbOAqeJz5kmC5nVWxxrhmnfL+KspcHVHPDsr3yULwh02kKp/FSji6DvVYtBx4DANxw43s2USAilJtyvDXgJgMg7Kzarhm5Yp/kfDrEQRZFuEgRP62Q== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AM9PR04MB8604.eurprd04.prod.outlook.com (2603:10a6:20b:43b::21) by AS8PR04MB8449.eurprd04.prod.outlook.com (2603:10a6:20b:407::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Tue, 11 Mar 2025 10:16:32 +0000 Received: from AM9PR04MB8604.eurprd04.prod.outlook.com ([fe80::e751:223e:aa3d:5827]) by AM9PR04MB8604.eurprd04.prod.outlook.com ([fe80::e751:223e:aa3d:5827%5]) with mapi id 15.20.8511.026; Tue, 11 Mar 2025 10:16:32 +0000 From: Pankaj Gupta Date: Tue, 11 Mar 2025 21:09:32 +0530 Subject: [PATCH v13 1/5] Documentation/firmware: add imx/se to other_interfaces Message-Id: <20250311-imx-se-if-v13-1-9cc6d8fd6d1c@nxp.com> References: <20250311-imx-se-if-v13-0-9cc6d8fd6d1c@nxp.com> In-Reply-To: <20250311-imx-se-if-v13-0-9cc6d8fd6d1c@nxp.com> To: Jonathan Corbet , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Pankaj Gupta Cc: linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org X-Mailer: b4 0.13.0 X-Developer-Signature: v=1; a=ed25519-sha256; t=1741707617; l=6679; i=pankaj.gupta@nxp.com; s=20240523; h=from:subject:message-id; bh=8QvSWd4rmn+G1ZEKi8f+TGc8yN5T+yIQA/mdWdtzwO0=; b=QrKxODkUusya9z2rvOnASNmwvr4BfNWPB25HUY1IJp4IAd7gjm2iOgx0IL/YfBO4pMvCa/4DP PeCofX0cN77BiKtfkMEwD51vx8cqcrwiLlOMpCaiaPphca3JkBMllVw X-Developer-Key: i=pankaj.gupta@nxp.com; a=ed25519; pk=OA0pBQoupy5lV0XfKzD8B0OOBVB6tpAoIf+0x1bYGRg= X-ClientProxiedBy: SG2PR02CA0094.apcprd02.prod.outlook.com (2603:1096:4:90::34) To AM9PR04MB8604.eurprd04.prod.outlook.com (2603:10a6:20b:43b::21) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM9PR04MB8604:EE_|AS8PR04MB8449:EE_ X-MS-Office365-Filtering-Correlation-Id: a312d4cf-7f28-485a-47c7-08dd6085cbbc X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014|52116014|7416014|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?FCzIALuoTkCpmTlSJjawenMRvD9qx5h?= =?utf-8?q?jdlS3jZ8Q6v92GJ6y2Q4fW/Fo61Z78NwQlJi7MXCyu4FM59k/sBMd7f37K+hbQ6zt?= =?utf-8?q?Py5pXG5R/06OPo/7tGK+StnOlw32ullri8arzg+kK2Zb0qVk6PSgVcgLlqjhuD6hu?= =?utf-8?q?C5N5xQmLsfhI+VeXPbXW6eqamlsFxzNQrx8B5W3DYKwLVGfhcCuX8NVLYV18EexqL?= =?utf-8?q?ZZ3gz02Dq0Ug8omlPzOmZdSjNt1y7hBav0NNw6PPeTiAfgjJFw8lH73l1riMyDp52?= =?utf-8?q?7n/Dn9n1q3YE0B1PKfLGJYyJi+duQzak5k4L3jz9gnso/kFCMJ/QadoxV8CYqaGX7?= =?utf-8?q?tFE7GzrrkZQR9uuj6H3uZbXeVOavcgW+BdRdKRrfPVg9tgtLpGgIG0kyhYyak1FsR?= =?utf-8?q?5ky0N19V8jfZSZ6LVlGO4VrGwTQajF68rECVmBbfj9AOTOVaAE1Gb7esiTv5ya8XO?= =?utf-8?q?NnTM7l0puMjodwDH+5gvo2Ppo5JhHfCIHGlmEXyLmguz/rgsdzAQVqhsBIadwLSEU?= =?utf-8?q?r1jj3Gjgw6o9ng+FZRFSJH9ewYFLDc+kJy+YuT4v87yrQB3eaEg12zhLj6NSFl/Nq?= =?utf-8?q?4wLjJKMFsFbNh4xHYdWoakfcMhLW3/ddbhwfg1oMc21Kr3RGSFZOOAdMxYU5+1CDL?= =?utf-8?q?Awgh5kfTi1V3z8Nrf+0qpBMxEgQJjKLjonumeg131d4r0RCfm8hK/0arY9Setz6w8?= =?utf-8?q?vxeh7N5CcyN9Jc0UijUhB3WoBlojQtY5Wl/jtCtXjnqRdDbPVCaHwAnoRCuI684Vd?= =?utf-8?q?WYolueU0PDw9qubzm3xM5E86VRgbxSSc4igPKk4nIaLfPlh5DArU0c8cTXRJfxct4?= =?utf-8?q?Ys+OEtnbn9V+iH8yvwzacps6EW2fZvRs+HtyGX1s9VngrlF/B3MvydsGh9nZgdtt2?= =?utf-8?q?P01nLnAiKO6grTmotsURN0HOH+lOxhVakuUneyGmFFSmR4721m3Zl9aXsmWNlPW+M?= =?utf-8?q?HmvZv/+uQiTzcdpoPaDYYuW2vfdeiz8v/5+eVrqGNpaUofKzB6wgC7Gu83Sdy/wrI?= =?utf-8?q?Ut3xL4v7DQeE2BQSeNFPCPvlVwxiUrayodmCw/w8zbZdY9OYvDWFwExSDWhsNIH5B?= =?utf-8?q?uHSgFhVq6rL/yNDwZ5vqDbpzCrPpkT+g7DfAxGH4tmg+0rYkI0MA2DtAsBDxHOa6P?= =?utf-8?q?XzgkA0YOG8lpDIc5hWckfFnHwHQbBQBjHv1gjZEBriWe/tHc68q0XSAIt6VVVzX23?= =?utf-8?q?2X333D3E6jb3DW1cK8H2YaCr5gz+KhIFUzzbSSsqFmKZ6icmBIg1MnnX6DjEiNmc0?= =?utf-8?q?r6+XZwubwXp0NvEMzS4Eu5lGi2o2CKD8ToGmlPi/7DsGHTN1E0InTovOxNsQ7uZlv?= =?utf-8?q?8QTIcckFAq8NiPJGJ7QCTwaTV+loRa7G/HZY9OKRgPTMs70I4wMJ0+g=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM9PR04MB8604.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(52116014)(7416014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?b4XGt+9eYczBYyp5rk5EwTKWhTyz?= =?utf-8?q?E4sZoBjOVnr/1KzsTccLk3DSDrkIdEGszQC9IPYikhhS5e1dD04PqkOBxhYrYh5a8?= =?utf-8?q?IpIEfgejxYHqOmSqQiW4GJSoXjJhep40uHYi0VVOGU7CVVfXMupGZoAY76c2ezNUG?= =?utf-8?q?Ks4Ag96PYwLnvxUMhcip8fb2jkwDevZWNaZ+M1Aur1CDMr0BmRdVqV80i9wRi+twa?= =?utf-8?q?QA5j7uzJK4tjk8NIYmm2r8g3zIL02KqXB5tmRJH3yaryOHlv4jd05K7V9QNiHyva5?= =?utf-8?q?IXcb6tWv4gYKfU3YfGKaC2IBNHXK4TwEka0INIReKkanbovht6PYaUEyvTX5sv67n?= =?utf-8?q?pqtiwkGGFf7k1aHYXeRqs86ybmuw8g4idii/RvLF2IPtn7V4GPclF9ok0feovduwE?= =?utf-8?q?/0Qr8ubHZyCxBiXgS/zhzRRHREAZk0bole2ZkSrHiJRWt75WwsT5ZV+ZDv+9+b1WS?= =?utf-8?q?MP9FLFEmoZxgqUS63wWqlc6vtn5cyBr2CDEk5Q0YylpCPsXzl0qZ0KHqS/Nde+seQ?= =?utf-8?q?b3wfyTPAQFYYTj85LSAefQncqjpOW8m1tsVvCVAS2h9lNR8cUoHLoLh0Pt4oaSZFb?= =?utf-8?q?Ruskkw8Zkdtt54ys299bXmN2T00AXies1a8o/+pxan2lsZQqkvAhcbItCJSQEcSa/?= =?utf-8?q?Fa2KRyfxuCyTnEgxmqNwuoPRSHbngg+I3N9rZ4Maf/FPlm3jHKwI4PwZBPFmOP0BO?= =?utf-8?q?P7/ADehhOk5j77RLdaHpH8sa2ijRkL4/ZT/0xZfHGNfuvQX7QUH2Oar2t+JX1LyaH?= =?utf-8?q?lysPEuRFQvAcdoXKos4t9ocjhVRDcRkAxXpfOCh/Dlha5mgI/MMgscmIJBkxphs8y?= =?utf-8?q?hjhNKxIfothY5ZYQTVe/XcvQnc1LOnGaF0hQEL8MopF2TxM8dsqYvK/WIW13KTc9m?= =?utf-8?q?W4F6j6HHozuTH1Jav34tCvKgoc42UBry8kYRCPVdYoFZHJMT50qvROTHR/r8pQZ/D?= =?utf-8?q?sgzpAI5qIldYy4MC/aNehvuG+k3zkeBP+z9d/29zsTVjOaRJZ7ADvU3g+CU5YgY21?= =?utf-8?q?XLAoBYz685LH55dT2J6OzTEVbhHfT8RbaKCwTc4luWquKyeM5cRl2bquudkrFQRRL?= =?utf-8?q?HncRBsxUtCHeVldn398k17Bn5kCEHENwUBuKcOggIqMBZaRpOsRLEaawSxjkAo1u/?= =?utf-8?q?XMSAU+R4w7Xj6rZ7usydlcm2dB7Bxq5QbyAipyNNa7GDfmj5v8aQesLcsnSEojvqC?= =?utf-8?q?oz3rKhcmM/lQHZmvo1802Ey5+jbEboxtYYxzs1zuE9peOCLBeuxvfgATT4bbN/5YK?= =?utf-8?q?LByW4bcMQtvKyFjVssixIRfN4qAGDsDmkdG5USIoyftvijr9XwiFz+7++/WeiawBb?= =?utf-8?q?M+ThgkSOc0qWYr+6p8z5er9ElIR62Y8bCmAHDltHTLcIdjZrW/9Up7uNT7BTJisa6?= =?utf-8?q?LBxqjWbLQpVVpVeWkkVoy8aAqzTwWiPscan5HSGx9PgpiqKQw5UsPMsL83jMN9eXT?= =?utf-8?q?My62poN9UYoTY1s7N632+dtYAVKi4voEoG8USCYsx25Q0WYWJyOhaWI3gi7JVt8d9?= =?utf-8?q?3Cq+hTD/YUYw?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: a312d4cf-7f28-485a-47c7-08dd6085cbbc X-MS-Exchange-CrossTenant-AuthSource: AM9PR04MB8604.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Mar 2025 10:16:32.2690 (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: 4px//th9KvHIfwdK67wF/ABN8170GzMHMtCIr9gVCukpf9wGkDs0kncFzLuKsz4rgWmTf52jTt3ljWEt8/GNqQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8449 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250311_031635_984447_CA6F6784 X-CRM114-Status: GOOD ( 13.49 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Documents i.MX SoC's Service layer and C_DEV driver for selected SoC(s) that contains the NXP hardware IP(s) for Secure Enclaves(se) like: - NXP EdgeLock Enclave on i.MX93 & i.MX8ULP Signed-off-by: Pankaj Gupta --- .../driver-api/firmware/other_interfaces.rst | 121 +++++++++++++++++++++ 1 file changed, 121 insertions(+) diff --git a/Documentation/driver-api/firmware/other_interfaces.rst b/Documentation/driver-api/firmware/other_interfaces.rst index 06ac89adaafb..a3a95b54a174 100644 --- a/Documentation/driver-api/firmware/other_interfaces.rst +++ b/Documentation/driver-api/firmware/other_interfaces.rst @@ -49,3 +49,124 @@ of the requests on to a secure monitor (EL3). .. kernel-doc:: drivers/firmware/stratix10-svc.c :export: + +NXP Secure Enclave Firmware Interface +===================================== + +Introduction +------------ +The NXP's i.MX HW IP like EdgeLock Enclave, V2X etc., creates an embedded secure +enclave within the SoC boundary to enable features like + - Hardware Security Module (HSM) + - Security Hardware Extension (SHE) + - Vehicular to Anything (V2X) + +Each of the above feature is enabled through dedicated NXP H/W IP on the SoC. +On a single SoC, multiple hardware IP (or can say more than one secure enclave) +can exist. + +NXP SoCs enabled with the such secure enclaves(SEs) IPs are: +i.MX93, i.MX8ULP + +To communicate with one or more co-existing SE(s) on SoC, there is/are dedicated +messaging units(MU) per SE. Each co-existing SE can have one or multiple exclusive +MUs, dedicated to itself. None of the MU is shared between two SEs. +Communication of the MU is realized using the Linux mailbox driver. + +NXP Secure Enclave(SE) Interface +-------------------------------- +Although MU(s) is/are not shared between SE(s). But for SoC like i.MX95 which has +multiple SE(s) like HSM, V2X-HSM, V2X-SHE; all the SE(s) and their interfaces 'se-if' +that is/are dedicated to a particular SE will be enumerated and provisioned using the +single compatible node("fsl,imx95-se"). + +Each 'se-if' comprise of twp layers: +- (C_DEV Layer) User-Space software-access interface. +- (Service Layer) OS-level software-access interface. + + +--------------------------------------------+ + | Character Device(C_DEV) | + | | + | +---------+ +---------+ +---------+ | + | | misc #1 | | misc #2 | ... | misc #n | | + | | dev | | dev | | dev | | + | +---------+ +---------+ +---------+ | + | +-------------------------+ | + | | Misc. Dev Synchr. Logic | | + | +-------------------------+ | + | | + +--------------------------------------------+ + + +--------------------------------------------+ + | Service Layer | + | | + | +-----------------------------+ | + | | Message Serialization Logic | | + | +-----------------------------+ | + | +---------------+ | + | | imx-mailbox | | + | | mailbox.c | | + | +---------------+ | + | | + +--------------------------------------------+ + +- service layer: + This layer is responsible for ensuring the communication protocol that is defined + for communication with firmware. + + FW Communication protocol ensures two things: + - Serializing the messages to be sent over an MU. + + - FW can handle one command message at a time. + +- c_dev: + This layer offers character device contexts, created as '/dev/_mux_chx'. + Using these multiple device contexts that are getting multiplexed over a single MU, + userspace application(s) can call fops like write/read to send the command message, + and read back the command response message to/from Firmware. + fops like read & write use the above defined service layer API(s) to communicate with + Firmware. + + Misc-device(/dev/_mux_chn) synchronization protocol: + + Non-Secure + Secure + | + | + +---------+ +-------------+ | + | se_fw.c +<---->+imx-mailbox.c| | + | | | mailbox.c +<-->+------+ +------+ + +---+-----+ +-------------+ | MU X +<-->+ ELE | + | +------+ +------+ + +----------------+ | + | | | + v v | + logical logical | + receiver waiter | + + + | + | | | + | | | + | +----+------+ | + | | | | + | | | | + device_ctx device_ctx device_ctx | + | + User 0 User 1 User Y | + +------+ +------+ +------+ | + |misc.c| |misc.c| |misc.c| | + kernel space +------+ +------+ +------+ | + | + +------------------------------------------------------ | + | | | | + userspace /dev/ele_muXch0 | | | + /dev/ele_muXch1 | | + /dev/ele_muXchY | + | + +When a user sends a command to the firmware, it registers its device_ctx +as waiter of a response from firmware. + +Enclave's Firmware owns the storage management, over Linux filesystem. +For this c_dev provisions a dedicated slave device called "receiver". + +.. kernel-doc:: drivers/firmware/imx/se_fw.c + :export: