From patchwork Sat Nov 15 18:52:02 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Glass X-Patchwork-Id: 711 Return-Path: X-Original-To: u-boot-concept@u-boot.org Delivered-To: u-boot-concept@u-boot.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1763232825; bh=GIHIs/OJdLA0GnUIcgNqV8o9vwL3Wk7FxKEgrvPto6Q=; h=From:To:Date:In-Reply-To:References:CC:Subject:List-Id: List-Archive:List-Help:List-Owner:List-Post:List-Subscribe: List-Unsubscribe:From; b=hSDMys6yE4ECb/Dz8AVY4hZwrFVHjxh9AP/pjY42MdFuNgDOAhZP/llZpIYEx3DHv PGshFfTeKHCheO2bFuF/HCkct1wzxcUTjnjeEfToxiW8DKKWEg98F59pEi9PCBAX+2 hJ74ggbr9xKx8o39k6PD2Y83+Hadt2F3nuos2D/Z4NTwboIMVVOu1x52i1+H+iE275 aCYzd979fFlItm/Ain/sqSpmbn4z0xLtbmZwssMXRTtenQSk5t5da4DsaFY/xTqUgl 9AbhM+NaLA1TN8+cJfjYrDUV8ojnslxLv3keIXcBXA3xTLB2EB0x+pnXn0znIngb3G p9REx5ZckcbPQ== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id E2D556861A for ; Sat, 15 Nov 2025 11:53:45 -0700 (MST) X-Virus-Scanned: Debian amavis at Received: from mail.u-boot.org ([127.0.0.1]) by localhost (mail.u-boot.org [127.0.0.1]) (amavis, port 10024) with ESMTP id 5uSILQPr93fW for ; Sat, 15 Nov 2025 11:53:45 -0700 (MST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1763232825; bh=GIHIs/OJdLA0GnUIcgNqV8o9vwL3Wk7FxKEgrvPto6Q=; h=From:To:Date:In-Reply-To:References:CC:Subject:List-Id: List-Archive:List-Help:List-Owner:List-Post:List-Subscribe: List-Unsubscribe:From; b=hSDMys6yE4ECb/Dz8AVY4hZwrFVHjxh9AP/pjY42MdFuNgDOAhZP/llZpIYEx3DHv PGshFfTeKHCheO2bFuF/HCkct1wzxcUTjnjeEfToxiW8DKKWEg98F59pEi9PCBAX+2 hJ74ggbr9xKx8o39k6PD2Y83+Hadt2F3nuos2D/Z4NTwboIMVVOu1x52i1+H+iE275 aCYzd979fFlItm/Ain/sqSpmbn4z0xLtbmZwssMXRTtenQSk5t5da4DsaFY/xTqUgl 9AbhM+NaLA1TN8+cJfjYrDUV8ojnslxLv3keIXcBXA3xTLB2EB0x+pnXn0znIngb3G p9REx5ZckcbPQ== Received: from mail.u-boot.org (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id D17BF68521 for ; Sat, 15 Nov 2025 11:53:45 -0700 (MST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1763232823; bh=tluAfYdZIUcCyh0xS1/BzNrVK1NhfH8SNEAaj8H+Ie4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=VwuRUQWUIvOBOW72R5gTcY99H2vuJIuqMbb9FSwCwEwuiwC6NKAtPd9L2eIKITsm0 H6waJz381xOyG0B+i92GFNRS4KXfN8Vt42OHVa1LcGLtr8HL6HJ/DIORHriIz6sJrF NivaORGTkYT9LhvdsIj6bAj5I6FIA9vdG7VBNEkA0dRByFfAVe5FbtbZZ4jENpX0BM aP3hgq35hi6dgjs8DlXNKMsFxIa00/vFySVIFEM1O2Z8nM79sWBJKXdgYat6NfRSlo RBiz7gXh1OYPb/exRmB3ShcuyHhzBEgW2DfqHtH1vgJukIYTlprxX/0vEIB9oEkBXq lAhx6q8/q1xnQ== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 8C01A685D9; Sat, 15 Nov 2025 11:53:43 -0700 (MST) X-Virus-Scanned: Debian amavis at Received: from mail.u-boot.org ([127.0.0.1]) by localhost (mail.u-boot.org [127.0.0.1]) (amavis, port 10026) with ESMTP id EodooXP3yTG0; Sat, 15 Nov 2025 11:53:43 -0700 (MST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1763232819; bh=BNwPaQRFnog/ydJplX/dQgqg2m1NLKnvsmrfMPA/JJs=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=eDnspKUaRfLXUj/DeSH29YKKrl1tLr4cVPQDsZbjKpFbVIwcJwDenHldNTiLGRqru sbQoVQmt8KzMtGY0P/pHsFxhLmipAEFzVXxSUspA1Cv4dzrSvPPaMyIdl4ECuLaaDm RgthfOgUDPNzwEBi45q/W5rhQSPDCVbTvY+sXswrnp+0r9SV+i2Sw5e1I4yehOuSQ4 OymYaivlRlvTTS5I403p2Mr2fXZYVdGOFeR8oUMc8kDIuyXezPFiji4p1cXV9yNIL8 Ce4GCLL4epmzfRQHZRWL3dS2ibcgRKIiSyfxOfSQ54ZTnz6LTLEtd2A8/W/prxlbp2 VVmUiLrVk557Q== Received: from u-boot.org (unknown [73.34.74.121]) by mail.u-boot.org (Postfix) with ESMTPSA id 2A4CF66654; Sat, 15 Nov 2025 11:53:39 -0700 (MST) From: Simon Glass To: U-Boot Concept Date: Sat, 15 Nov 2025 11:52:02 -0700 Message-ID: <20251115185212.539268-14-sjg@u-boot.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251115185212.539268-1-sjg@u-boot.org> References: <20251115185212.539268-1-sjg@u-boot.org> MIME-Version: 1.0 Message-ID-Hash: MWMOZXT2KTSJVQPSEHDYKJJPCDPX2RM7 X-Message-ID-Hash: MWMOZXT2KTSJVQPSEHDYKJJPCDPX2RM7 X-MailFrom: sjg@u-boot.org X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: Simon Glass X-Mailman-Version: 3.3.10 Precedence: list Subject: [Concept] [PATCH 13/16] tkey: Provide a real tkey device with test.dts List-Id: Discussion and patches related to U-Boot Concept Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: Simon Glass It is sometimes useful to use a real TKey even when running with the test devicetree. Put it first, so it becomes the default. Update tests to select the emulator explicitly. Signed-off-by: Simon Glass --- arch/sandbox/dts/test.dts | 5 +++++ test/cmd/tkey.c | 7 +++---- test/dm/tkey.c | 23 ++++++++++++----------- 3 files changed, 20 insertions(+), 15 deletions(-) diff --git a/arch/sandbox/dts/test.dts b/arch/sandbox/dts/test.dts index 1d0ebc33387..7fef23a9285 100644 --- a/arch/sandbox/dts/test.dts +++ b/arch/sandbox/dts/test.dts @@ -1124,6 +1124,11 @@ }; }; + tkey { + compatible = "sandbox,tkey"; + sandbox,device-path = "/dev/ttyACM0"; + }; + tkey-emul { compatible = "tkey,emul"; }; diff --git a/test/cmd/tkey.c b/test/cmd/tkey.c index f2d52850d4e..15ff5283b62 100644 --- a/test/cmd/tkey.c +++ b/test/cmd/tkey.c @@ -28,10 +28,9 @@ CMD_TEST(cmd_test_tkey_help, UTF_DM | UTF_SCAN_FDT | UTF_CONSOLE); /* Test 'tkey' subcommands with emulator */ static int cmd_test_tkey_sandbox(struct unit_test_state *uts) { - struct udevice *dev; - - /* TKey device should be available in sandbox */ - ut_assertok(uclass_first_device_err(UCLASS_TKEY, &dev)); + /* Use tkey-emul for predictable test results */ + ut_assertok(run_command("tkey connect tkey-emul", 0)); + ut_assert_nextline("Connected to TKey device"); /* Test info command */ ut_assertok(run_command("tkey info", 0)); diff --git a/test/dm/tkey.c b/test/dm/tkey.c index 4ff5ecad7ea..5835e214f50 100644 --- a/test/dm/tkey.c +++ b/test/dm/tkey.c @@ -16,8 +16,9 @@ static int dm_test_tkey_find(struct unit_test_state *uts) { struct udevice *dev; - ut_assertok(uclass_first_device_err(UCLASS_TKEY, &dev)); + ut_assertok(uclass_get_device_by_name(UCLASS_TKEY, "tkey-emul", &dev)); ut_assertnonnull(dev); + ut_asserteq_str("tkey-emul", dev->name); return 0; } @@ -29,7 +30,7 @@ static int dm_test_tkey_get_udi(struct unit_test_state *uts) u8 udi[TKEY_UDI_SIZE]; struct udevice *dev; - ut_assertok(uclass_first_device_err(UCLASS_TKEY, &dev)); + ut_assertok(uclass_get_device_by_name(UCLASS_TKEY, "tkey-emul", &dev)); ut_assertok(tkey_get_udi(dev, udi)); @@ -54,7 +55,7 @@ static int dm_test_tkey_get_name_version(struct unit_test_state *uts) struct udevice *dev; u32 version; - ut_assertok(uclass_first_device_err(UCLASS_TKEY, &dev)); + ut_assertok(uclass_get_device_by_name(UCLASS_TKEY, "tkey-emul", &dev)); /* Get name and version */ ut_assertok(tkey_get_name_version(dev, name0, name1, &version)); @@ -74,7 +75,7 @@ static int dm_test_tkey_in_app_mode(struct unit_test_state *uts) struct udevice *dev; int ret; - ut_assertok(uclass_first_device_err(UCLASS_TKEY, &dev)); + ut_assertok(uclass_get_device_by_name(UCLASS_TKEY, "tkey-emul", &dev)); /* Check mode - should be in firmware mode initially */ ret = tkey_in_app_mode(dev); @@ -92,7 +93,7 @@ static int dm_test_tkey_load_app(struct unit_test_state *uts) u8 dummy_app[128]; int ret; - ut_assertok(uclass_first_device_err(UCLASS_TKEY, &dev)); + ut_assertok(uclass_get_device_by_name(UCLASS_TKEY, "tkey-emul", &dev)); /* Create a dummy app */ memset(dummy_app, 0x42, sizeof(dummy_app)); @@ -118,7 +119,7 @@ static int dm_test_tkey_get_pubkey(struct unit_test_state *uts) u8 dummy_app[128]; int i; - ut_assertok(uclass_first_device_err(UCLASS_TKEY, &dev)); + ut_assertok(uclass_get_device_by_name(UCLASS_TKEY, "tkey-emul", &dev)); /* Load a dummy app first */ memset(dummy_app, 0x42, sizeof(dummy_app)); @@ -149,7 +150,7 @@ static int dm_test_tkey_derive_wrapping_key(struct unit_test_state *uts) }; struct udevice *dev; - ut_assertok(uclass_first_device_err(UCLASS_TKEY, &dev)); + ut_assertok(uclass_get_device_by_name(UCLASS_TKEY, "tkey-emul", &dev)); /* Derive wrapping key from password */ ut_assertok(tkey_derive_wrapping_key(dev, password, wrapping_key)); @@ -192,7 +193,7 @@ static int dm_test_tkey_derive_disk_key(struct unit_test_state *uts) struct udevice *dev; u8 dummy_app[128]; - ut_assertok(uclass_first_device_err(UCLASS_TKEY, &dev)); + ut_assertok(uclass_get_device_by_name(UCLASS_TKEY, "tkey-emul", &dev)); /* Create a dummy signer app */ memset(dummy_app, 0x42, sizeof(dummy_app)); @@ -217,7 +218,7 @@ static int dm_test_tkey_udi_app_mode(struct unit_test_state *uts) struct udevice *dev; u8 dummy_app[128]; - ut_assertok(uclass_first_device_err(UCLASS_TKEY, &dev)); + ut_assertok(uclass_get_device_by_name(UCLASS_TKEY, "tkey-emul", &dev)); /* Load an app to enter app mode */ memset(dummy_app, 0x42, sizeof(dummy_app)); @@ -240,7 +241,7 @@ static int dm_test_tkey_load_app_with_uss(struct unit_test_state *uts) u8 dummy_app[128]; const char *uss = "my_secret"; - ut_assertok(uclass_first_device_err(UCLASS_TKEY, &dev)); + ut_assertok(uclass_get_device_by_name(UCLASS_TKEY, "tkey-emul", &dev)); /* Create a dummy app */ memset(dummy_app, 0x55, sizeof(dummy_app)); @@ -270,7 +271,7 @@ static int dm_test_tkey_read_write(struct unit_test_state *uts) u8 write_buf[129]; /* Header + command */ u8 read_buf[256]; - ut_assertok(uclass_first_device_err(UCLASS_TKEY, &dev)); + ut_assertok(uclass_get_device_by_name(UCLASS_TKEY, "tkey-emul", &dev)); /* Prepare a GET_NAME_VERSION command */ write_buf[0] = 0x10; /* Header: CMD, FIRMWARE endpoint */