get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/2206456/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 2206456,
    "url": "http://patchwork.ozlabs.org/api/patches/2206456/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/uboot/patch/20260306181304.2426352-15-sjg@chromium.org/",
    "project": {
        "id": 18,
        "url": "http://patchwork.ozlabs.org/api/projects/18/?format=api",
        "name": "U-Boot",
        "link_name": "uboot",
        "list_id": "u-boot.lists.denx.de",
        "list_email": "u-boot@lists.denx.de",
        "web_url": null,
        "scm_url": null,
        "webscm_url": null,
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<20260306181304.2426352-15-sjg@chromium.org>",
    "list_archive_url": null,
    "date": "2026-03-06T18:12:42",
    "name": "[v2,14/23] binman: test: Move vendor-specific test files to test/vendor/",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": false,
    "hash": "05f1b06e3bdadac90d1d70556b6c5dbb43377387",
    "submitter": {
        "id": 6170,
        "url": "http://patchwork.ozlabs.org/api/people/6170/?format=api",
        "name": "Simon Glass",
        "email": "sjg@chromium.org"
    },
    "delegate": {
        "id": 3184,
        "url": "http://patchwork.ozlabs.org/api/users/3184/?format=api",
        "username": "sjg",
        "first_name": "Simon",
        "last_name": "Glass",
        "email": "sjg@chromium.org"
    },
    "mbox": "http://patchwork.ozlabs.org/project/uboot/patch/20260306181304.2426352-15-sjg@chromium.org/mbox/",
    "series": [
        {
            "id": 494765,
            "url": "http://patchwork.ozlabs.org/api/series/494765/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/uboot/list/?series=494765",
            "date": "2026-03-06T18:12:28",
            "name": "binman: test: Organise test files into subdirectories",
            "version": 2,
            "mbox": "http://patchwork.ozlabs.org/series/494765/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2206456/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2206456/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<u-boot-bounces@lists.denx.de>",
        "X-Original-To": "incoming@patchwork.ozlabs.org",
        "Delivered-To": "patchwork-incoming@legolas.ozlabs.org",
        "Authentication-Results": [
            "legolas.ozlabs.org;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=chromium.org header.i=@chromium.org header.a=rsa-sha256\n header.s=google header.b=AGLOxCtg;\n\tdkim-atps=neutral",
            "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de\n (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de;\n envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org)",
            "phobos.denx.de;\n dmarc=pass (p=none dis=none) header.from=chromium.org",
            "phobos.denx.de;\n spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de",
            "phobos.denx.de;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=chromium.org header.i=@chromium.org\n header.b=\"AGLOxCtg\";\n\tdkim-atps=neutral",
            "phobos.denx.de;\n dmarc=pass (p=none dis=none) header.from=chromium.org",
            "phobos.denx.de;\n spf=pass smtp.mailfrom=sjg@chromium.org"
        ],
        "Received": [
            "from phobos.denx.de (phobos.denx.de\n [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fSF2j39xQz1xw1\n\tfor <incoming@patchwork.ozlabs.org>; Sat, 07 Mar 2026 05:15:57 +1100 (AEDT)",
            "from h2850616.stratoserver.net (localhost [IPv6:::1])\n\tby phobos.denx.de (Postfix) with ESMTP id 2FE8E8401F;\n\tFri,  6 Mar 2026 19:14:11 +0100 (CET)",
            "by phobos.denx.de (Postfix, from userid 109)\n id 089EC83F2D; Fri,  6 Mar 2026 19:14:09 +0100 (CET)",
            "from mail-qk1-x731.google.com (mail-qk1-x731.google.com\n [IPv6:2607:f8b0:4864:20::731])\n (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits))\n (No client certificate requested)\n by phobos.denx.de (Postfix) with ESMTPS id C232484006\n for <u-boot@lists.denx.de>; Fri,  6 Mar 2026 19:14:04 +0100 (CET)",
            "by mail-qk1-x731.google.com with SMTP id\n af79cd13be357-8cb3e22435fso829868385a.1\n for <u-boot@lists.denx.de>; Fri, 06 Mar 2026 10:14:04 -0800 (PST)",
            "from chromium.org ([73.34.74.121]) by smtp.gmail.com with ESMTPSA id\n af79cd13be357-8cd6f5736c0sm155930885a.49.2026.03.06.10.13.59\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Fri, 06 Mar 2026 10:14:01 -0800 (PST)"
        ],
        "X-Spam-Checker-Version": "SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de",
        "X-Spam-Level": "",
        "X-Spam-Status": "No, score=-2.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,\n DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,\n RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham\n autolearn_force=no version=3.4.2",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=chromium.org; s=google; t=1772820842; x=1773425642; darn=lists.denx.de;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:from:to:cc:subject:date\n :message-id:reply-to;\n bh=EAvdrDE6dAqiLp7Ewhdj0/pvhH6lVHS9v8BK2g0ZopA=;\n b=AGLOxCtgyIsIDn5wQBjDE2pzuuiSVCxh3nMi0tV9EgV5ylMBxwjlPkLwcdrmFvQe+Y\n XqKRGSiyzN4NntJijc8BhUluZB+caUOLqGUIdGA5kDtxHEKuwQ/RMEkG7XSkd2WosTib\n UtKtG4nrWpfobmdxxYAkT0T26CoAaNRXejM1E=",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20230601; t=1772820842; x=1773425642;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from\n :to:cc:subject:date:message-id:reply-to;\n bh=EAvdrDE6dAqiLp7Ewhdj0/pvhH6lVHS9v8BK2g0ZopA=;\n b=jdFCm9DTSCuWErAQHlrEbvhbXmjFB59TssXgSC8/e9v3jeWzBdksR3tLDVyLibKdfn\n I11ehS+aotkzira8XQrXuA/OzwsNP2r57K4uz1ytKSk/2MbpvH7083BgybsGIW98fEWQ\n WFbfHKpSeUU/RKs06V1QgLWaN3U/E+bAskRmyfwRUuuAYIbOBZf1ht7vztnCxc8bnS2w\n 0ibVQR6ywGlEg+1kelFQbi/YNuAml/QcnH4R40LBVuVo+orZbxs5WpYuHLdDL6Ly012y\n ha2tsSbru1pWNdLuYsUIqutECkY8a+payQm0y2xw0UGOkzamj5n/n7F65DLE4m/+qMPM\n msIw==",
        "X-Gm-Message-State": "AOJu0YwSRPdTS9hKTrriASSwXnGx4UQf08kD4yZAvemgEIxN8QtggPn9\n 2QtLgUjxffAWXtYV/QBu2uTf68wDu53OcZopnqDlCShamk2K/mdB0zKZeQT4SNN2jLY6xXeVgVj\n 3dSw=",
        "X-Gm-Gg": "ATEYQzxxE5zFEvkQIbvIT3dv2TerLMBFrpnVtBsJ69Nkulc5wHnz0LiTJJFBC5tx7kX\n xobb7gPy08xgBNob/EU2kODdSce5MCgEm++xVSRV1efbU+HYKMa3Y7skc2B670pUheqRm4y/Fxf\n 2PhvuuYpClReAHOn2iltKI8mggEUvvy9SOwp6kOL+3LOqetolLE109uYTm9sDyqAqAkr9Z0iFYV\n 1Ptp4b4lMwLkbJJRe4e4JIL7Ek7jamJ2YzYbz51K3QyPlkIkiOWhoo4zbDRoL1IzFK64p0LOath\n 9ma5ku9hwhqGs7/u8Hr0BwSe9ejGSC1aul4cLwL5MRYKnaXrMBc2srCBJiQx+RaYnxXIb/flAdN\n Y2vUKzKxQqM/33VDPXx4kju8F31BL+ZxONM2qxaKUxi476R18x8URxnR+iwptaZJFOy92/7eHr8\n xOCHtmJDWebMRbvq3hfA==",
        "X-Received": "by 2002:a05:620a:708d:b0:8c9:f4ed:c33e with SMTP id\n af79cd13be357-8cd6dbf32eamr346929485a.18.1772820842017;\n Fri, 06 Mar 2026 10:14:02 -0800 (PST)",
        "From": "Simon Glass <sjg@chromium.org>",
        "To": "u-boot@lists.denx.de",
        "Cc": "Tom Rini <trini@konsulko.com>, Quentin Schulz <quentin.schulz@cherry.de>,\n Simon Glass <simon.glass@canonical.com>, Alice Guo <alice.guo@nxp.com>,\n Alper Nebi Yasak <alpernebiyasak@gmail.com>, Bryan Brattlof <bb@ti.com>,\n Kever Yang <kever.yang@rock-chips.com>,\n Marek Vasut <marek.vasut+renesas@mailbox.org>,\n Neha Malcom Francis <n-francis@ti.com>,\n Nobuhiro Iwamatsu <iwamatsu@nigauri.org>, Peng Fan <peng.fan@nxp.com>,\n Philipp Tomsich <philipp.tomsich@vrull.eu>,\n Philippe Reynes <philippe.reynes@softathome.com>,\n Simon Glass <sjg@chromium.org>,\n Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com>,\n Yannic Moog <y.moog@phytec.de>",
        "Subject": "[PATCH v2 14/23] binman: test: Move vendor-specific test files to\n test/vendor/",
        "Date": "Fri,  6 Mar 2026 11:12:42 -0700",
        "Message-ID": "<20260306181304.2426352-15-sjg@chromium.org>",
        "X-Mailer": "git-send-email 2.43.0",
        "In-Reply-To": "<20260306181304.2426352-1-sjg@chromium.org>",
        "References": "<20260306181304.2426352-1-sjg@chromium.org>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "X-BeenThere": "u-boot@lists.denx.de",
        "X-Mailman-Version": "2.1.39",
        "Precedence": "list",
        "List-Id": "U-Boot discussion <u-boot.lists.denx.de>",
        "List-Unsubscribe": "<https://lists.denx.de/options/u-boot>,\n <mailto:u-boot-request@lists.denx.de?subject=unsubscribe>",
        "List-Archive": "<https://lists.denx.de/pipermail/u-boot/>",
        "List-Post": "<mailto:u-boot@lists.denx.de>",
        "List-Help": "<mailto:u-boot-request@lists.denx.de?subject=help>",
        "List-Subscribe": "<https://lists.denx.de/listinfo/u-boot>,\n <mailto:u-boot-request@lists.denx.de?subject=subscribe>",
        "Errors-To": "u-boot-bounces@lists.denx.de",
        "Sender": "\"U-Boot\" <u-boot-bounces@lists.denx.de>",
        "X-Virus-Scanned": "clamav-milter 0.103.8 at phobos.denx.de",
        "X-Virus-Status": "Clean"
    },
    "content": "From: Simon Glass <simon.glass@canonical.com>\n\nMove about 20 test files for vendor-specific platform support (TI, NXP\ni.MX, Renesas R-Car, Rockchip, PowerPC MPC85xx) into a vendor/\nsubdirectory. Drop the numeric prefixes and update all references.\n\nSigned-off-by: Simon Glass <simon.glass@canonical.com>\n---\n\nChanges in v2:\n- Move doc-reference updates from the doc patch into this patch\n\n doc/develop/binman_tests.rst                  | 12 ++---\n tools/binman/ftest.py                         | 44 +++++++++----------\n .../nxp_ddrfw_imx95.dts}                      |  0\n .../{339_nxp_imx8.dts => vendor/nxp_imx8.dts} |  0\n .../nxp_imx95.dts}                            |  0\n .../powerpc_mpc85xx_bootpg_resetvec.dts}      |  0\n .../renesas_rcar4_sa0.dts}                    |  0\n .../renesas_rcar4_sa0_size.dts}               |  0\n .../rockchip_tpl.dts}                         |  0\n .../ti_board_cfg.dts}                         |  0\n .../ti_board_cfg_combined.dts}                |  0\n .../ti_board_cfg_no_type.dts}                 |  0\n .../ti_board_cfg_phony.dts}                   |  0\n .../test/{225_ti_dm.dts => vendor/ti_dm.dts}  |  0\n .../ti_secure.dts}                            |  0\n .../ti_secure_firewall.dts}                   |  0\n .../ti_secure_firewall_missing_property.dts}  |  0\n .../ti_secure_rom.dts}                        |  0\n .../ti_secure_rom_a.dts}                      |  0\n .../ti_secure_rom_b.dts}                      |  0\n .../ti_secure_rom_combined.dts}               |  0\n 21 files changed, 28 insertions(+), 28 deletions(-)\n rename tools/binman/test/{346_nxp_ddrfw_imx95.dts => vendor/nxp_ddrfw_imx95.dts} (100%)\n rename tools/binman/test/{339_nxp_imx8.dts => vendor/nxp_imx8.dts} (100%)\n rename tools/binman/test/{350_nxp_imx95.dts => vendor/nxp_imx95.dts} (100%)\n rename tools/binman/test/{150_powerpc_mpc85xx_bootpg_resetvec.dts => vendor/powerpc_mpc85xx_bootpg_resetvec.dts} (100%)\n rename tools/binman/test/{348_renesas_rcar4_sa0.dts => vendor/renesas_rcar4_sa0.dts} (100%)\n rename tools/binman/test/{349_renesas_rcar4_sa0_size.dts => vendor/renesas_rcar4_sa0_size.dts} (100%)\n rename tools/binman/test/{291_rockchip_tpl.dts => vendor/rockchip_tpl.dts} (100%)\n rename tools/binman/test/{293_ti_board_cfg.dts => vendor/ti_board_cfg.dts} (100%)\n rename tools/binman/test/{294_ti_board_cfg_combined.dts => vendor/ti_board_cfg_combined.dts} (100%)\n rename tools/binman/test/{295_ti_board_cfg_no_type.dts => vendor/ti_board_cfg_no_type.dts} (100%)\n rename tools/binman/test/{323_ti_board_cfg_phony.dts => vendor/ti_board_cfg_phony.dts} (100%)\n rename tools/binman/test/{225_ti_dm.dts => vendor/ti_dm.dts} (100%)\n rename tools/binman/test/{296_ti_secure.dts => vendor/ti_secure.dts} (100%)\n rename tools/binman/test/{324_ti_secure_firewall.dts => vendor/ti_secure_firewall.dts} (100%)\n rename tools/binman/test/{325_ti_secure_firewall_missing_property.dts => vendor/ti_secure_firewall_missing_property.dts} (100%)\n rename tools/binman/test/{297_ti_secure_rom.dts => vendor/ti_secure_rom.dts} (100%)\n rename tools/binman/test/{299_ti_secure_rom_a.dts => vendor/ti_secure_rom_a.dts} (100%)\n rename tools/binman/test/{300_ti_secure_rom_b.dts => vendor/ti_secure_rom_b.dts} (100%)\n rename tools/binman/test/{298_ti_secure_rom_combined.dts => vendor/ti_secure_rom_combined.dts} (100%)",
    "diff": "diff --git a/doc/develop/binman_tests.rst b/doc/develop/binman_tests.rst\nindex c7fa9ae6199..3be7d43cd3f 100644\n--- a/doc/develop/binman_tests.rst\n+++ b/doc/develop/binman_tests.rst\n@@ -457,7 +457,7 @@ can, which contains the new etype. Put it in a numbered file in\n ``tool/binman/test`` so that it comes last. All the numbers are unique and there\n are no gaps.\n \n-Example from ``tools/binman/test/339_nxp_imx8.dts``:\n+Example from ``tools/binman/test/vendor/nxp_imx8.dts``:\n \n .. code-block:: devicetree\n \n@@ -493,7 +493,7 @@ Then create your test by adding a new function at the end of ``ftest.py``:\n \n     def testNxpImx8Image(self):\n         \"\"\"Test that binman can produce an iMX8 image\"\"\"\n-        self._DoTestFile('339_nxp_imx8.dts')\n+        self._DoTestFile('vendor/nxp_imx8.dts')\n \n This uses the test file that you created. It doesn't check anything, it just\n runs the image description through binman.\n@@ -517,7 +517,7 @@ The next step is to update it to actually check the output:\n \n     def testNxpImx8Image(self):\n         \"\"\"Test that binman can produce an iMX8 image\"\"\"\n-        data = self._DoReadFile('339_nxp_imx8.dts')\n+        data = self._DoReadFile('vendor/nxp_imx8.dts')\n         print('data', len(data))\n \n The ``_DoReadFile()`` function is documented in the code. It returns the image\n@@ -573,7 +573,7 @@ In the above example, here are some possible steps:\n        def testNxpImx8ImageMkimageMissing(self):\n            \"\"\"Test that binman can produce an iMX8 image\"\"\"\n            with terminal.capture() as (_, stderr):\n-               self._DoTestFile('339_nxp_imx8.dts',\n+               self._DoTestFile('vendor/nxp_imx8.dts',\n                                 force_missing_bintools='mkimage')\n            err = stderr.getvalue()\n            self.assertRegex(err, \"Image 'image'.*missing bintools.*: mkimage\")\n@@ -610,7 +610,7 @@ In the above example, here are some possible steps:\n \n         Entry_section.SetImagePos(self, image_pos)\n \n-   The solution is to add an entry, e.g. in ``340_nxp_imx8_non_empty.dts``:\n+   The solution is to add an entry, e.g. in ``vendor/nxp_imx8_non_empty.dts``:\n \n    .. code-block:: devicetree\n \n@@ -641,7 +641,7 @@ In the above example, here are some possible steps:\n \n        def testNxpImx8ImageNonEmpty(self):\n            \"\"\"Test that binman can produce an iMX8 image with something in it\"\"\"\n-            data = self._DoReadFile('340_nxp_imx8_non_empty.dts')\n+            data = self._DoReadFile('vendor/nxp_imx8_non_empty.dts')\n             # check data here\n \n    With that, the second red bit goes away, because the for() loop is now used.\ndiff --git a/tools/binman/ftest.py b/tools/binman/ftest.py\nindex 43292941576..3743071eb85 100644\n--- a/tools/binman/ftest.py\n+++ b/tools/binman/ftest.py\n@@ -1255,7 +1255,7 @@ class TestFunctional(unittest.TestCase):\n     def testPackPowerpcMpc85xxBootpgResetvec(self):\n         \"\"\"Test that an image with powerpc-mpc85xx-bootpg-resetvec can be\n         created\"\"\"\n-        data = self._DoReadFile('150_powerpc_mpc85xx_bootpg_resetvec.dts')\n+        data = self._DoReadFile('vendor/powerpc_mpc85xx_bootpg_resetvec.dts')\n         self.assertEqual(PPC_MPC85XX_BR_DATA, data[:len(PPC_MPC85XX_BR_DATA)])\n \n     def _RunMicrocodeTest(self, dts_fname, nodtb_data, ucode_second=False):\n@@ -2130,7 +2130,7 @@ class TestFunctional(unittest.TestCase):\n \n             # Unfortunately, compiling a source file always results in a file\n             # called source.dtb (see fdt_util.EnsureCompiled()). The test\n-            # source file (e.g. test/075_fdt_update_all.dts) thus does not enter\n+            # source file (e.g. test/fdt/fdt_update_all.dts) thus does not enter\n             # binman as a file called u-boot.dtb. To fix this, copy the file\n             # over to the expected place.\n             start = 0\n@@ -5578,7 +5578,7 @@ fdt         fdtmap                Extract the devicetree blob from the fdtmap\n \n     def testPackTiDm(self):\n         \"\"\"Test that an image with a TI DM binary can be created\"\"\"\n-        data = self._DoReadFile('225_ti_dm.dts')\n+        data = self._DoReadFile('vendor/ti_dm.dts')\n         self.assertEqual(TI_DM_DATA, data[:len(TI_DM_DATA)])\n \n     def testPackBl1(self):\n@@ -5588,12 +5588,12 @@ fdt         fdtmap                Extract the devicetree blob from the fdtmap\n \n     def testRenesasRCarGen4SA0Image(self):\n         \"\"\"Test that binman can produce an Renesas R-Car Gen4 SA0 image\"\"\"\n-        self._DoTestFile('348_renesas_rcar4_sa0.dts')\n+        self._DoTestFile('vendor/renesas_rcar4_sa0.dts')\n \n     def testRenesasRCarGen4SA0ImageSize(self):\n         \"\"\"Test that binman can not produce large Renesas R-Car Gen4 SA0 image\"\"\"\n         with self.assertRaises(ValueError) as exc:\n-            self._DoTestFile('349_renesas_rcar4_sa0_size.dts')\n+            self._DoTestFile('vendor/renesas_rcar4_sa0_size.dts')\n         self.assertIn(\"Node '/binman/renesas-rcar4-sa0': SRAM data longer than 966656 Bytes\",\n                       str(exc.exception))\n \n@@ -6885,7 +6885,7 @@ fdt         fdtmap                Extract the devicetree blob from the fdtmap\n \n     def testPackRockchipTpl(self):\n         \"\"\"Test that an image with a Rockchip TPL binary can be created\"\"\"\n-        data = self._DoReadFile('291_rockchip_tpl.dts')\n+        data = self._DoReadFile('vendor/rockchip_tpl.dts')\n         self.assertEqual(ROCKCHIP_TPL_DATA, data[:len(ROCKCHIP_TPL_DATA)])\n \n     def testMkimageMissingBlobMultiple(self):\n@@ -7175,25 +7175,25 @@ fdt         fdtmap                Extract the devicetree blob from the fdtmap\n \n     def testTIBoardConfig(self):\n         \"\"\"Test that a schema validated board config file can be generated\"\"\"\n-        data = self._DoReadFile('293_ti_board_cfg.dts')\n+        data = self._DoReadFile('vendor/ti_board_cfg.dts')\n         self.assertEqual(TI_BOARD_CONFIG_DATA, data)\n \n     def testTIBoardConfigLint(self):\n         \"\"\"Test that an incorrectly linted config file would generate error\"\"\"\n         with self.assertRaises(ValueError) as e:\n-            data = self._DoReadFile('323_ti_board_cfg_phony.dts')\n+            data = self._DoReadFile('vendor/ti_board_cfg_phony.dts')\n         self.assertIn(\"Yamllint error\", str(e.exception))\n \n     def testTIBoardConfigCombined(self):\n         \"\"\"Test that a schema validated combined board config file can be generated\"\"\"\n-        data = self._DoReadFile('294_ti_board_cfg_combined.dts')\n+        data = self._DoReadFile('vendor/ti_board_cfg_combined.dts')\n         configlen_noheader = TI_BOARD_CONFIG_DATA * 4\n         self.assertGreater(data, configlen_noheader)\n \n     def testTIBoardConfigNoDataType(self):\n         \"\"\"Test that error is thrown when data type is not supported\"\"\"\n         with self.assertRaises(ValueError) as e:\n-            data = self._DoReadFile('295_ti_board_cfg_no_type.dts')\n+            data = self._DoReadFile('vendor/ti_board_cfg_no_type.dts')\n         self.assertIn(\"Schema validation error\", str(e.exception))\n \n     def testPackTiSecure(self):\n@@ -7202,7 +7202,7 @@ fdt         fdtmap                Extract the devicetree blob from the fdtmap\n         entry_args = {\n             'keyfile': keyfile,\n         }\n-        data = self._DoReadFileDtb('296_ti_secure.dts',\n+        data = self._DoReadFileDtb('vendor/ti_secure.dts',\n                                    entry_args=entry_args)[0]\n         self.assertGreater(len(data), len(TI_UNSECURE_DATA))\n \n@@ -7212,9 +7212,9 @@ fdt         fdtmap                Extract the devicetree blob from the fdtmap\n         entry_args = {\n             'keyfile': keyfile,\n         }\n-        data_no_firewall = self._DoReadFileDtb('296_ti_secure.dts',\n+        data_no_firewall = self._DoReadFileDtb('vendor/ti_secure.dts',\n                                    entry_args=entry_args)[0]\n-        data_firewall = self._DoReadFileDtb('324_ti_secure_firewall.dts',\n+        data_firewall = self._DoReadFileDtb('vendor/ti_secure_firewall.dts',\n                                    entry_args=entry_args)[0]\n         self.assertGreater(len(data_firewall),len(data_no_firewall))\n \n@@ -7225,7 +7225,7 @@ fdt         fdtmap                Extract the devicetree blob from the fdtmap\n             'keyfile': keyfile,\n         }\n         with self.assertRaises(ValueError) as e:\n-            data_firewall = self._DoReadFileDtb('325_ti_secure_firewall_missing_property.dts',\n+            data_firewall = self._DoReadFileDtb('vendor/ti_secure_firewall_missing_property.dts',\n                                        entry_args=entry_args)[0]\n         self.assertRegex(str(e.exception), \"Node '/binman/ti-secure': Subnode 'firewall-0-2' is missing properties: id,region\")\n \n@@ -7237,7 +7237,7 @@ fdt         fdtmap                Extract the devicetree blob from the fdtmap\n             'keyfile': keyfile,\n         }\n         with terminal.capture() as (_, stderr):\n-            self._DoTestFile('296_ti_secure.dts',\n+            self._DoTestFile('vendor/ti_secure.dts',\n                              force_missing_bintools='openssl',\n                              entry_args=entry_args)\n         err = stderr.getvalue()\n@@ -7249,11 +7249,11 @@ fdt         fdtmap                Extract the devicetree blob from the fdtmap\n         entry_args = {\n             'keyfile': keyfile,\n         }\n-        data = self._DoReadFileDtb('297_ti_secure_rom.dts',\n+        data = self._DoReadFileDtb('vendor/ti_secure_rom.dts',\n                                 entry_args=entry_args)[0]\n-        data_a = self._DoReadFileDtb('299_ti_secure_rom_a.dts',\n+        data_a = self._DoReadFileDtb('vendor/ti_secure_rom_a.dts',\n                                 entry_args=entry_args)[0]\n-        data_b = self._DoReadFileDtb('300_ti_secure_rom_b.dts',\n+        data_b = self._DoReadFileDtb('vendor/ti_secure_rom_b.dts',\n                                 entry_args=entry_args)[0]\n         self.assertGreater(len(data), len(TI_UNSECURE_DATA))\n         self.assertGreater(len(data_a), len(TI_UNSECURE_DATA))\n@@ -7265,7 +7265,7 @@ fdt         fdtmap                Extract the devicetree blob from the fdtmap\n         entry_args = {\n             'keyfile': keyfile,\n         }\n-        data = self._DoReadFileDtb('298_ti_secure_rom_combined.dts',\n+        data = self._DoReadFileDtb('vendor/ti_secure_rom_combined.dts',\n                                 entry_args=entry_args)[0]\n         self.assertGreater(len(data), len(TI_UNSECURE_DATA))\n \n@@ -7897,11 +7897,11 @@ fdt         fdtmap                Extract the devicetree blob from the fdtmap\n \n     def testNxpImx8Image(self):\n         \"\"\"Test that binman can produce an iMX8 image\"\"\"\n-        self._DoTestFile('339_nxp_imx8.dts')\n+        self._DoTestFile('vendor/nxp_imx8.dts')\n \n     def testNxpHeaderDdrfw(self):\n         \"\"\"Test that binman can add a header to DDR PHY firmware images\"\"\"\n-        data = self._DoReadFile('346_nxp_ddrfw_imx95.dts')\n+        data = self._DoReadFile('vendor/nxp_ddrfw_imx95.dts')\n         self.assertEqual(len(IMX_LPDDR_IMEM_DATA).to_bytes(4, 'little') +\n                          len(IMX_LPDDR_DMEM_DATA).to_bytes(4, 'little') +\n                          IMX_LPDDR_IMEM_DATA + IMX_LPDDR_DMEM_DATA, data)\n@@ -7916,7 +7916,7 @@ fdt         fdtmap                Extract the devicetree blob from the fdtmap\n         with open(container_path, 'w') as f:\n             f.write(bytes([0x87]).decode('latin1') * 32768)\n         with terminal.capture():\n-            self._DoTestFile('350_nxp_imx95.dts', output_dir=testdir)\n+            self._DoTestFile('vendor/nxp_imx95.dts', output_dir=testdir)\n \n     def testFitSignSimple(self):\n         \"\"\"Test that image with FIT and signature nodes can be signed\"\"\"\ndiff --git a/tools/binman/test/346_nxp_ddrfw_imx95.dts b/tools/binman/test/vendor/nxp_ddrfw_imx95.dts\nsimilarity index 100%\nrename from tools/binman/test/346_nxp_ddrfw_imx95.dts\nrename to tools/binman/test/vendor/nxp_ddrfw_imx95.dts\ndiff --git a/tools/binman/test/339_nxp_imx8.dts b/tools/binman/test/vendor/nxp_imx8.dts\nsimilarity index 100%\nrename from tools/binman/test/339_nxp_imx8.dts\nrename to tools/binman/test/vendor/nxp_imx8.dts\ndiff --git a/tools/binman/test/350_nxp_imx95.dts b/tools/binman/test/vendor/nxp_imx95.dts\nsimilarity index 100%\nrename from tools/binman/test/350_nxp_imx95.dts\nrename to tools/binman/test/vendor/nxp_imx95.dts\ndiff --git a/tools/binman/test/150_powerpc_mpc85xx_bootpg_resetvec.dts b/tools/binman/test/vendor/powerpc_mpc85xx_bootpg_resetvec.dts\nsimilarity index 100%\nrename from tools/binman/test/150_powerpc_mpc85xx_bootpg_resetvec.dts\nrename to tools/binman/test/vendor/powerpc_mpc85xx_bootpg_resetvec.dts\ndiff --git a/tools/binman/test/348_renesas_rcar4_sa0.dts b/tools/binman/test/vendor/renesas_rcar4_sa0.dts\nsimilarity index 100%\nrename from tools/binman/test/348_renesas_rcar4_sa0.dts\nrename to tools/binman/test/vendor/renesas_rcar4_sa0.dts\ndiff --git a/tools/binman/test/349_renesas_rcar4_sa0_size.dts b/tools/binman/test/vendor/renesas_rcar4_sa0_size.dts\nsimilarity index 100%\nrename from tools/binman/test/349_renesas_rcar4_sa0_size.dts\nrename to tools/binman/test/vendor/renesas_rcar4_sa0_size.dts\ndiff --git a/tools/binman/test/291_rockchip_tpl.dts b/tools/binman/test/vendor/rockchip_tpl.dts\nsimilarity index 100%\nrename from tools/binman/test/291_rockchip_tpl.dts\nrename to tools/binman/test/vendor/rockchip_tpl.dts\ndiff --git a/tools/binman/test/293_ti_board_cfg.dts b/tools/binman/test/vendor/ti_board_cfg.dts\nsimilarity index 100%\nrename from tools/binman/test/293_ti_board_cfg.dts\nrename to tools/binman/test/vendor/ti_board_cfg.dts\ndiff --git a/tools/binman/test/294_ti_board_cfg_combined.dts b/tools/binman/test/vendor/ti_board_cfg_combined.dts\nsimilarity index 100%\nrename from tools/binman/test/294_ti_board_cfg_combined.dts\nrename to tools/binman/test/vendor/ti_board_cfg_combined.dts\ndiff --git a/tools/binman/test/295_ti_board_cfg_no_type.dts b/tools/binman/test/vendor/ti_board_cfg_no_type.dts\nsimilarity index 100%\nrename from tools/binman/test/295_ti_board_cfg_no_type.dts\nrename to tools/binman/test/vendor/ti_board_cfg_no_type.dts\ndiff --git a/tools/binman/test/323_ti_board_cfg_phony.dts b/tools/binman/test/vendor/ti_board_cfg_phony.dts\nsimilarity index 100%\nrename from tools/binman/test/323_ti_board_cfg_phony.dts\nrename to tools/binman/test/vendor/ti_board_cfg_phony.dts\ndiff --git a/tools/binman/test/225_ti_dm.dts b/tools/binman/test/vendor/ti_dm.dts\nsimilarity index 100%\nrename from tools/binman/test/225_ti_dm.dts\nrename to tools/binman/test/vendor/ti_dm.dts\ndiff --git a/tools/binman/test/296_ti_secure.dts b/tools/binman/test/vendor/ti_secure.dts\nsimilarity index 100%\nrename from tools/binman/test/296_ti_secure.dts\nrename to tools/binman/test/vendor/ti_secure.dts\ndiff --git a/tools/binman/test/324_ti_secure_firewall.dts b/tools/binman/test/vendor/ti_secure_firewall.dts\nsimilarity index 100%\nrename from tools/binman/test/324_ti_secure_firewall.dts\nrename to tools/binman/test/vendor/ti_secure_firewall.dts\ndiff --git a/tools/binman/test/325_ti_secure_firewall_missing_property.dts b/tools/binman/test/vendor/ti_secure_firewall_missing_property.dts\nsimilarity index 100%\nrename from tools/binman/test/325_ti_secure_firewall_missing_property.dts\nrename to tools/binman/test/vendor/ti_secure_firewall_missing_property.dts\ndiff --git a/tools/binman/test/297_ti_secure_rom.dts b/tools/binman/test/vendor/ti_secure_rom.dts\nsimilarity index 100%\nrename from tools/binman/test/297_ti_secure_rom.dts\nrename to tools/binman/test/vendor/ti_secure_rom.dts\ndiff --git a/tools/binman/test/299_ti_secure_rom_a.dts b/tools/binman/test/vendor/ti_secure_rom_a.dts\nsimilarity index 100%\nrename from tools/binman/test/299_ti_secure_rom_a.dts\nrename to tools/binman/test/vendor/ti_secure_rom_a.dts\ndiff --git a/tools/binman/test/300_ti_secure_rom_b.dts b/tools/binman/test/vendor/ti_secure_rom_b.dts\nsimilarity index 100%\nrename from tools/binman/test/300_ti_secure_rom_b.dts\nrename to tools/binman/test/vendor/ti_secure_rom_b.dts\ndiff --git a/tools/binman/test/298_ti_secure_rom_combined.dts b/tools/binman/test/vendor/ti_secure_rom_combined.dts\nsimilarity index 100%\nrename from tools/binman/test/298_ti_secure_rom_combined.dts\nrename to tools/binman/test/vendor/ti_secure_rom_combined.dts\n",
    "prefixes": [
        "v2",
        "14/23"
    ]
}