From patchwork Mon Apr 7 16:20:17 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pankaj Gupta X-Patchwork-Id: 14040241 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 D5B6FC36010 for ; Mon, 7 Apr 2025 11:01:13 +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=DPJ5lWYgpybrjV62P7t2aqk2/F HkylRzwmQz/wSYEvqoJZgidExib0LtO70YHtI4sxlSowvs0MFvuNlA8zMiJ9hA0YSCzCnxXkpK9PE Mdx52ort1NGi6hB1wRPvLmdTI0lF/XgNRN4iVjzaoIM7GAdly2Zqow6FwZxc4U3uKDyOQ1G24lJ6n XpJRD7D18KkTRbnphFHW/tgBLRkj24yb79ujyzpHh97WTYM5kIvYe3urYaLhbA26LshlLXO5+5owF SyAOLO4Lk2XFq3jgNrk26Dxv0YYkaHMlNe/x6iHUJ8xgXy+D5teLRt09qN05c4af1EXHyOIKxhWhb nwXU5FTQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.1 #2 (Red Hat Linux)) id 1u1kDu-0000000HTT9-32rQ; Mon, 07 Apr 2025 11:01:02 +0000 Received: from mail-db8eur05on2060e.outbound.protection.outlook.com ([2a01:111:f403:2614::60e] helo=EUR05-DB8-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98.1 #2 (Red Hat Linux)) id 1u1kAR-0000000HSAL-0LIA for linux-arm-kernel@lists.infradead.org; Mon, 07 Apr 2025 10:57:28 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Gh5rp7RIwRuACr0aA9WsSmUVMfLMvqyX2UVk/CYkcSEabmrwKtmFhg/ktD0ZYKOVAueo6iAkwwPel0wrmPC9UR+dCxdfH9e3AUuYTyjkEKx2+eLpsHfOWQ4S+1BKNn8z18MAPxjtSHEb8aKos6JEyYc3qNV8pSqbIcTrQdiVMkuhEZKj6DUrOjvOWaTtV6u1ETbiM2vJG+rZqXlii5XDyNbsk9gkO1V9zY1qC5rOvs6zvaknRb5Iyipb6cxG7ktMTnsZZUtQBW3qljnAhm5+ltT23K0xFdhNY5+QzRZlHeSZyy+8CgMvXhZN9Dw+54NA1KlBKV4LVIxfuoGUnqltKw== 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=ftx02DwRNlRVWnCDFShPreQkxWofbxbEJx5BV6HGLdj5xRYss+OvphT8/c1rIlY3ieCLNC/8i1Uj055IfHxJSC7I+Bgw1CLo0CWaScwDzGWO5pK3OPPQFuKYYbed+5oGvMrsvKX5kaspc0Gu+3yL+8keTHb1xWAQhX2gCB90EMd1NFgDrXz+hk7yqSuDNgVrUDOxrzsYg4bNZZqXZL4VNY76l3i8AONNCZcM3pl6h8yO1+2PS1MN8/qAyUDhISzWZK769nygEulNINKwd/EuBK0mmMPi19l+4VNqp7JmWjMfPaw0jo4pID4z+08mflxW0dQ2BKQUGZMf70cs5R+NQQ== 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=NjW+ATISD9YW9K8CthINsQO1QQlDbNzBD5NXUmnE3lfasmK7anGLrP25jGOBac5g/EgnrpuwZuNLvZDKI8KV4Rxd9EwSSwPQ2+AyOj9MD1SvNVpjtjyOuoxQHIKXw/OrH2nJD8u9xi/tBc8tWNeiXoWDKlEjN+s/pNpo5I6LX4CNWzovF6jUMh9znEEAC9hAgOFwkh/3coY3bkeDoInGTZN6sRt3uzL/ltWNsuuyPIlUy9sDYrUUZ/ytsrLy7v/3HgGFxUVNd9p/nmDdxrRSBIxsmEZEkA+ZoLxWSz895zzHiu2Ej/JBBpmXaGYCBHFBGewiP35YJlEx1rLzpy3QOg== 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 DB9PR04MB8493.eurprd04.prod.outlook.com (2603:10a6:10:2c5::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8583.43; Mon, 7 Apr 2025 10:57:22 +0000 Received: from AM9PR04MB8604.eurprd04.prod.outlook.com ([fe80::e751:223e:aa3d:5827]) by AM9PR04MB8604.eurprd04.prod.outlook.com ([fe80::e751:223e:aa3d:5827%6]) with mapi id 15.20.8583.045; Mon, 7 Apr 2025 10:57:22 +0000 From: Pankaj Gupta Date: Mon, 07 Apr 2025 21:50:17 +0530 Subject: [PATCH v15 1/7] Documentation/firmware: add imx/se to other_interfaces Message-Id: <20250407-imx-se-if-v15-1-e3382cecda01@nxp.com> References: <20250407-imx-se-if-v15-0-e3382cecda01@nxp.com> In-Reply-To: <20250407-imx-se-if-v15-0-e3382cecda01@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=1744042844; l=6679; i=pankaj.gupta@nxp.com; s=20240523; h=from:subject:message-id; bh=8QvSWd4rmn+G1ZEKi8f+TGc8yN5T+yIQA/mdWdtzwO0=; b=cnLODRBINgMk4IGg+gWCaCZdQ4at2BGQgAmiZpfAkiD8zHP6GuBcIo4a1JDptjYTa/kxDx45P rL4NpClCvtaCm/x7hbdeI4ObBrMQMqmTeArlA95cBYNs4rARBQ8UvHm X-Developer-Key: i=pankaj.gupta@nxp.com; a=ed25519; pk=OA0pBQoupy5lV0XfKzD8B0OOBVB6tpAoIf+0x1bYGRg= X-ClientProxiedBy: SI2PR01CA0036.apcprd01.prod.exchangelabs.com (2603:1096:4:192::22) To AM9PR04MB8604.eurprd04.prod.outlook.com (2603:10a6:20b:43b::21) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM9PR04MB8604:EE_|DB9PR04MB8493:EE_ X-MS-Office365-Filtering-Correlation-Id: 160ce391-adb8-4cc9-65de-08dd75c2f907 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|52116014|366016|7416014|376014|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?q?h83yTEycdiGy0kCTwfmni3leyU7G/yZ?= =?utf-8?q?Ch7SmWXTEAW8yHXpE3YVOB+kDzejkl+C+0haVDPbxNQ5KJLbQROMqkC/kAwJvRnCx?= =?utf-8?q?rP+8HrJICi4jgmzEeBjqtJk+KwEYy3IxaGhR5nHJIVbpG9YQcgDVM8fJPrJFpGT/a?= =?utf-8?q?YpHXCsrml7Mow3TgCWxwg8qbF4HIDQ7pfaA1A7S8Q3XINyKOTBQ0yAfHpkV8MmOt+?= =?utf-8?q?mlGQWg2XFyevvoxDsmED68tV1s1zPq6LnV9ayu9bXvLQhSC/utEgZWhPr260g24qh?= =?utf-8?q?fIzFRLksz0PeYUuAXfBlPLVvR8nzThKm+NuOpvaLdmGpaA5k2H60CCoVHrBikcc27?= =?utf-8?q?UoCcC9KIhI/bH1JylORN/q4JqhQz6p0+CD7Ch+93rNee5ud+bPmVTfW6+rBT8Wm8m?= =?utf-8?q?EI7EjpT4Q3rnrTjY84cbN7rrUt6hXP1meQjUm1j48yw4Wd3rCKzNPXozE0O/1o4VD?= =?utf-8?q?Dab1SroeyQFLcDJ80vYiu5lD9YAupbxuIhsAmS46/bsuewV4L3U06KfD2jELzRyOc?= =?utf-8?q?ryiBugHa6ywMN82oIU6jh5T8RQZyDvgpGpIYg+toqq6PcY0j0xZUQ4OsMnNmRRbo0?= =?utf-8?q?IJnDFg/4+dEIPN9P7pvRjX9FQUixBgzxmYVvXFTKCKdWViWKZBSOIWfkFIQ/Tweh5?= =?utf-8?q?2nNv5TnGyUBTGvp8Btny4f2aTIKTRojreNhJoZLtsnpx9ovFqPVe7w3gFNr/Mp2d9?= =?utf-8?q?slEKf3pRkVybzjGEjAKZ8DKiBqxGpSojOBCzGAMp1lrFu+8fJHXUAVcMO266ised1?= =?utf-8?q?+5GXGNWdPNd0cj5c2HthMCMf7sFbdX5moYcjP7njy9WQkOJm9Hflh3Mz6pyeS5yUQ?= =?utf-8?q?KQIrv7eMBeHVbM3AXiqfJi+llDgiJmFEvkKu4c5i6XMjNPaTNevAF/7YGaKvxrynk?= =?utf-8?q?gUybdcXUca9oWFxUinauEu/l3iVUMEXkyL8MJiypszo/oz7dj2a9LEAqhHWTmwle4?= =?utf-8?q?Rjn7XQ5YdB8UbEj7M58krYtEx1/wKUPkAoLOtYZ+UokEudZUXiSzeqsl11kDNCsnM?= =?utf-8?q?gZE9UJpxI3gQ2gsQZ1q5RLiHQgkW1ycLHm90AEZj7sSJy2Y8RyXCrgUiumqmrBlan?= =?utf-8?q?sfocrYeg5bTxV37SeLXBvFvIzp11Y4yAMFVQ+aB6hdbp8Wl3ezaht/tRXSVxN+KrO?= =?utf-8?q?wUFrkcnES04jc8hT4h8iBBSNkWtE6Td2uPBjKAa2dUHVOzVCgL1CHc5hwKn5XP9mA?= =?utf-8?q?yoiho5N29vWv7+Xymg/c3VpiPltyovFmETb0zy8C0mTY4CexAqEdkpEUBsQVnU5Ge?= =?utf-8?q?0pIsV3tk9EmkPkAtvx7LY3zwGjOoee75d0v9xwqEHTprrwBcjcS/ROBHB1AukXGCC?= =?utf-8?q?Y5w1sZYkphKEQsaC17W8s/u2Y9RaYzJpj/Lh0zKf6WQXweyyDr1lwOuxclo7NqvLm?= =?utf-8?q?ZkSeAfHwteIEeJVYJj2/E0/fV1SEC/1eg=3D=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)(52116014)(366016)(7416014)(376014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?hzST2h/CtvnTldPuIxd7iAhvd841?= =?utf-8?q?6b4FHPFwwe940BueW+XZ0JZbl5b5L8+Q86/e+lS//UQF0dixYaSKFbcGKEFCoiBVF?= =?utf-8?q?Zm8Te4zn+axiP+isumu4b2WE4TVA2GeUQlPCLHrH6kenU6HMqUPHssWW8BUdfblNf?= =?utf-8?q?g4AlufpEBw9KDCVrJ6dNdb03Z3OHV+IEWtCuNCp5ZPR2A/AhoBcKPicvnMcG9hQr9?= =?utf-8?q?yK+kA0ogRamN6N1CrxJng0uHMHci4nUtsY36ES0LvxY/aGeCbBaoyH03iiU0FzY1J?= =?utf-8?q?T4JrVs/+UsK2RM4sNI6CYZIJHdXpS6Qg0zaw9T2dAj/5zUyMIzWogWQpOz/MZBPbz?= =?utf-8?q?eQTp7kJ30/azWConvf9ccVsCR3WzTqSqh9kv8govEiyFncAgTL5enWMvlLTxgsVE9?= =?utf-8?q?BjqEGvqCQVm5V69ca0uimOcLazFcU0HH2ZC7ImTEY5ond4wkhGaLLW9PmEnK+n/qb?= =?utf-8?q?M8H8YgyPbS5zNySVPzHPeoKkM02dl8FLq5fSSUBtXYhAqfHGOODsQQVtajdnBEf4T?= =?utf-8?q?wWcB6u58Jq682A1FBpYArGG3MKt7q5vi/Wy2zGM6R8WzHwOIgRCz+aIGuQa/tRm8k?= =?utf-8?q?56i5STE6CtOn6Dwqf4eQAMNj65bKs3krQ1Yxz9R/vmPGTTMXZfodyXBpatOux/6Gb?= =?utf-8?q?RhdGs2JVY6psU1KrTLVYt7bgxZ+fP8z651TupGQIg2Vfa+ou8yb6MiGujPCJqJgk9?= =?utf-8?q?DRNVztBhakMcoyltOWFUk6ET71qqFZOeRRyzgsYqw7C/R3Ph4Dm8gLmU1pTmHTZtF?= =?utf-8?q?66d27IOFruZF1kxtCFNAFib5QE5CijsELS0hbaKd9ZOiU1LC31QN/Zi2Q7IE6NJ5X?= =?utf-8?q?kV4ehh5ewbq+eKS4Hk1OZieYVr3GSh0V7Wb7R37q2HZx0NnXZfRCg4KAjEBzcDZ7/?= =?utf-8?q?ztvNLhDGaeuLQg4FON/kvk9dk45yDu2e37wwYbNPwzCejTNBDqqxHI1BNYAOV+7Cm?= =?utf-8?q?43KjbcMAeXsf5IEmRb6NqAByvlXDQbt5xIYU2Bii4hlBPKHu7Zawr5j0dfSk0VMov?= =?utf-8?q?MCH84PRW312Oq1j86FOwez9Rk3Z3JTUIHaJoBqT7Dr5jaaHCvIqYQKphfvUJhQrxx?= =?utf-8?q?ZcjcityRUwV2/QwaEJIFwnUscX6M7C8Jd+h5XGVhEzLDcxp9yRhVRdkHeoFNiugwO?= =?utf-8?q?XGU3LOlsD/INdfWWQvVEXg9S3BRF7X3XsDsVgi5ib+EnWnHXT87kp7tqT2I5Vuh/a?= =?utf-8?q?OTgCcgaVm+ThZwBJaU51bYIKuzbpQDqw7ap3OQolaUzh19ZgER1dc+TULcONEwZoJ?= =?utf-8?q?DS+WcwBCLD7r9FiqqjGtHSYZ5QgwUNT353ekmbAeilQ36kBpiK9JsB0Xx7x/CYBZC?= =?utf-8?q?kDOuPrcXfqQrNSAs3/nxJttMY77t0f9Fz0gTb1+U7oesEIGtQJRotZDvjKGnGxnFd?= =?utf-8?q?zTjv/+C2UCAF0pSHayyxRvuVvXEm+G5o9nHq5oNDE8ZpYP/BNZZVUzzxy37+ngrCF?= =?utf-8?q?NlQSBQtgt+DKxBu6PricLua122l3NhYBwOZXDM7jeHdZl9Vd1WxPy6QyzQlGSEGzu?= =?utf-8?q?w56Nwt32C8YV?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 160ce391-adb8-4cc9-65de-08dd75c2f907 X-MS-Exchange-CrossTenant-AuthSource: AM9PR04MB8604.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Apr 2025 10:57:22.0433 (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: /9mgEMvEDs+BzVlxyk9GVyMc8w6ty3Ucc+BQpUmOza4nvQ0lU4xZoc2cmmt0lmP2a/kAM8vcRi43ViikKar9Ow== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8493 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250407_035727_271475_7735F975 X-CRM114-Status: GOOD ( 13.60 ) 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: