From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-oi2-f1.google.com (mail-oi2-f1.google.com [74.125.231.193]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 342323E0C75 for ; Wed, 1 Jul 2026 13:25:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.231.193 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782912341; cv=none; b=DWscLce0o5vKB3vcmmTuWBaiNK7jPjGu0vXPgT4tloy9z/aSCENpOfh63pxcTUNKII+P/sr/TPCdNlzoVbSqxgHNdX4mIpRahyyEGfqfd+W4DPuuAdwWsAcjP2kZ3x+53QCp3W/utbQI7IQwBNaq1DTU9+EceAcGOcZraYqQua4= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782912341; c=relaxed/simple; bh=yNoLbb0TeKretzaEu3X7NPlkPt7hTaBNJoeGzZ/1W6k=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=K284b3vJRvlQ1ehcVignEMtcKRs+XPyFzqAlv5HnDe8CRBIdCvq0G6jsvv5xujVRFF7i1paJeHitCDlaltnpOxaxEgzdBKL/4eKVZpJf23TnbrTox2/G1yTQ6c/GTOIAtkUkfw8gJVuKq/XODaN9B7QhoN2xbvm1b5Qf02c1bIg= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=lIgs1wBi; arc=none smtp.client-ip=74.125.231.193 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="lIgs1wBi" Received: by mail-oi2-f1.google.com with SMTP id 5614622812f47-495fbed415dso210693b6e.0 for ; Wed, 01 Jul 2026 06:25:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1782912339; x=1783517139; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=7dk9Opzu24JNP4K9nU0Mr28PXO88jXoMMk5rdIT57/w=; b=lIgs1wBiBWO1v09JQe2qItAmtKycY4pYafho1u2bE37ROUvY7sZaiwaHeJYU8dC505 wAHiczIsgAb1hNUbzxyuqD5Rcii+/p1DqQqOkngTeZg9CTYTtGYt1fazC2Vhtc4sdtiY 76Kr0DoHlBml3oX4149HH9yGzqZyxZ8pU9+1iKOz4LZ3LGr3L4uELLZS+2rMBCnjwNK0 K7kZjrh0VaclKELXGexLnpeARtobk6cFY5DUfTK5AbB2rD6yRGOooAJPrUt307cGm+cP MO0mU3fVpCjaG/sR6HIhUo8J+JzNLA9VvjOysAcBqhhFnFajJCGeJ8kY3G0BYZb8Nr0f CmiA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782912339; x=1783517139; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=7dk9Opzu24JNP4K9nU0Mr28PXO88jXoMMk5rdIT57/w=; b=d73cSY4G/sP3eIOWXMD0T/5S0afUqJEkvIcm6U5Rx2SRlm0mgpYLJItw1wMi8UaryS 2V/iK5kmQAwNpiqKtcQEEHJ/t69SGx0/W0V/UrHQjcC9Hicarm5BvOveQLWX9wooL5Qb PFfbQwNqnlRIM3PBDdi+D5AZ4ugiyBzOZ4/i6SkUWxxIUUuGLcL3N3Adu9sdMoam5KR4 Tl1bCwwKvqjn7lcJ/vJ4yy9ef8C0Qa6SX3zgD0R00/ST7YkVoJZbtQhsOUoQCn/ZTDE9 g+ISxrtFUeO4JfUqnnUQEotuTexrpwOquQIYiMUgj34524bWp+G+T2V5hg3yeqWNgAnh w9nA== X-Forwarded-Encrypted: i=1; AFNElJ8P9y1qshpgW4aUmcyVc/rHek3giH4gMno59ADVCsKapsicMWd+gXLVhTVosJEsqDOfwcssA8hwwsiHFzI=@vger.kernel.org X-Gm-Message-State: AOJu0YyD8W+SrcuCTzNMgzVXxHEKxkQelD7cwpBZHxoDA71srZARL8zg EXDarodrB6r5VUCao9yZnQAFrx8J14cO3MwjldetpWB18DU2Rtzks5hV X-Gm-Gg: AfdE7cmTfLptnNjZ9qlZsFPeKRD5UFM8PlXve9/xLcl/HCfh+VujPhbk0sRcEn4ZWNy Gt5sg3ipccdlpb8gZ8Eh1E5Ss76yGsEV/OzdCgCcOfw2J1L3enPvoHRYAmcbm/momxjh7p9hBZx fwrDZvOBuWmjrRpTwudEBqQd84ppCTtRzgNkoyyJIyt6n71jVXMjz10ia6LriKhymxgTKxzvKh6 eNYnmzpq09DSTJLI/OmBwsdCXH5Si1Cztich5V/VFVBCMDNuXLmkv+RwcbocOKHNJhqzqqSJy3Q Ub8MZ7/9OA+SbOB/JMEPvBpisigw2WPPNecRquWdF7gJb6PCI7zQe557kKAJRqZP8L0894/b4Hw vfPf6ZWR/sJv/TLRhru1JUByv+8PYw/nOr/IR0jqFe5lQiu67KOxwIWBCRy+sxrrkOHQz6A1uqf DWzhPFm+qVoYW5r4wI3R6Wul0Bf3sFpJC1PlO9EoquBogoozQNttu6OIs= X-Received: by 2002:a05:6830:348a:b0:7e9:e5df:5ee2 with SMTP id 46e09a7af769-7eb3cedcb83mr899113a34.6.1782912339110; Wed, 01 Jul 2026 06:25:39 -0700 (PDT) Received: from ubuntu24.. (dsl092-249-254.sfo4.dsl.speakeasy.net. [66.92.249.254]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-7e9ec34f898sm4938144a34.27.2026.07.01.06.25.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 01 Jul 2026 06:25:38 -0700 (PDT) From: Xing Loong To: Jens Wiklander Cc: Krzysztof Kozlowski , Conor Dooley , Rob Herring , Sumit Garg , op-tee@lists.trustedfirmware.org, devicetree@vger.kernel.org, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, Xing Loong Subject: [PATCH 0/3] tee: add MbedTEE driver Date: Wed, 1 Jul 2026 21:25:11 +0800 Message-ID: <20260701132514.186953-1-xing.xl.loong@gmail.com> X-Mailer: git-send-email 2.43.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit This series adds a Linux TEE driver for MbedTEE, a Trusted Execution Environment for embedded systems (https://github.com/mbedtee). Two RPC transports are provided for systems where platform firmware or board configuration has already established the REE/TEE separation before Linux boots: - ARM/ARM64: SMC calls and GIC SPI notifications (TrustZone) - RISC-V: shared-memory ring buffers and IMSIC MSI notifications The driver implements the TEE subsystem interface (tee_driver_ops) and provides GlobalPlatform TEE Client API support, dynamic shared memory registration, and tee-supplicant support for REE filesystem and RPMB operations. The series is structured as follows: [1/3] dt-bindings: vendor-prefixes: add mbedtee [2/3] dt-bindings: firmware: add mbedtee,rpc binding [3/3] tee: add MbedTEE driver Xing Loong (3): dt-bindings: vendor-prefixes: add mbedtee dt-bindings: firmware: add mbedtee,rpc binding tee: add MbedTEE driver .../bindings/firmware/mbedtee,rpc.yaml | 221 +++++++ .../devicetree/bindings/vendor-prefixes.yaml | 2 + Documentation/tee/index.rst | 1 + Documentation/tee/mbedtee.rst | 155 +++++ MAINTAINERS | 9 + drivers/tee/Kconfig | 3 +- drivers/tee/Makefile | 1 + drivers/tee/mbedtee/Kconfig | 20 + drivers/tee/mbedtee/Makefile | 11 + drivers/tee/mbedtee/core.c | 236 +++++++ drivers/tee/mbedtee/mbedtee_drv.h | 269 ++++++++ drivers/tee/mbedtee/mbedtee_msg.h | 219 +++++++ drivers/tee/mbedtee/rpc_callee.c | 609 ++++++++++++++++++ drivers/tee/mbedtee/rpc_callee_arm.c | 91 +++ drivers/tee/mbedtee/rpc_callee_riscv.c | 203 ++++++ drivers/tee/mbedtee/rpc_caller.c | 539 ++++++++++++++++ drivers/tee/mbedtee/rpc_caller_arm.c | 66 ++ drivers/tee/mbedtee/rpc_caller_riscv.c | 192 ++++++ drivers/tee/mbedtee/shm_pool.c | 105 +++ drivers/tee/mbedtee/shm_pool.h | 15 + drivers/tee/mbedtee/supp.c | 310 +++++++++ include/uapi/linux/tee.h | 1 + 22 files changed, 3277 insertions(+), 1 deletion(-) create mode 100644 Documentation/devicetree/bindings/firmware/mbedtee,rpc.yaml create mode 100644 Documentation/tee/mbedtee.rst create mode 100644 drivers/tee/mbedtee/Kconfig create mode 100644 drivers/tee/mbedtee/Makefile create mode 100644 drivers/tee/mbedtee/core.c create mode 100644 drivers/tee/mbedtee/mbedtee_drv.h create mode 100644 drivers/tee/mbedtee/mbedtee_msg.h create mode 100644 drivers/tee/mbedtee/rpc_callee.c create mode 100644 drivers/tee/mbedtee/rpc_callee_arm.c create mode 100644 drivers/tee/mbedtee/rpc_callee_riscv.c create mode 100644 drivers/tee/mbedtee/rpc_caller.c create mode 100644 drivers/tee/mbedtee/rpc_caller_arm.c create mode 100644 drivers/tee/mbedtee/rpc_caller_riscv.c create mode 100644 drivers/tee/mbedtee/shm_pool.c create mode 100644 drivers/tee/mbedtee/shm_pool.h create mode 100644 drivers/tee/mbedtee/supp.c base-commit: 03e2778d1f11de9260543f969e9e888a1c2bf830 -- 2.43.0