Show a cover letter.

GET /api/1.2/covers/2230918/?format=api
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 2230918,
    "url": "http://patchwork.ozlabs.org/api/1.2/covers/2230918/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/uboot/cover/cover.1777536451.git.simona.toaca@nxp.com/",
    "project": {
        "id": 18,
        "url": "http://patchwork.ozlabs.org/api/1.2/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": "<cover.1777536451.git.simona.toaca@nxp.com>",
    "list_archive_url": null,
    "date": "2026-04-30T08:33:29",
    "name": "[v4,0/4] imx9{4,5,52}: Add Quickboot support",
    "submitter": {
        "id": 92829,
        "url": "http://patchwork.ozlabs.org/api/1.2/people/92829/?format=api",
        "name": "Simona Toaca (OSS)",
        "email": "simona.toaca@oss.nxp.com"
    },
    "mbox": "http://patchwork.ozlabs.org/project/uboot/cover/cover.1777536451.git.simona.toaca@nxp.com/mbox/",
    "series": [
        {
            "id": 502232,
            "url": "http://patchwork.ozlabs.org/api/1.2/series/502232/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/uboot/list/?series=502232",
            "date": "2026-04-30T08:33:29",
            "name": "imx9{4,5,52}: Add Quickboot support",
            "version": 4,
            "mbox": "http://patchwork.ozlabs.org/series/502232/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/covers/2230918/comments/",
    "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 (2048-bit key;\n unprotected) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com\n header.a=rsa-sha256 header.s=selector1-NXP1-onmicrosoft-com\n header.b=m+iTtSw3;\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=none (p=none dis=none) header.from=oss.nxp.com",
            "phobos.denx.de;\n spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de",
            "phobos.denx.de;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com\n header.b=\"m+iTtSw3\";\n\tdkim-atps=neutral",
            "phobos.denx.de;\n dmarc=none (p=none dis=none) header.from=oss.nxp.com",
            "phobos.denx.de;\n spf=pass smtp.mailfrom=simona.toaca@oss.nxp.com",
            "dkim=none (message not signed)\n header.d=none;dmarc=none action=none header.from=oss.nxp.com;"
        ],
        "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 4g5nHb5mbXz1yGq\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 30 Apr 2026 18:23:23 +1000 (AEST)",
            "from h2850616.stratoserver.net (localhost [IPv6:::1])\n\tby phobos.denx.de (Postfix) with ESMTP id 88A2E84663;\n\tThu, 30 Apr 2026 10:23:20 +0200 (CEST)",
            "by phobos.denx.de (Postfix, from userid 109)\n id C582584668; Thu, 30 Apr 2026 10:23:18 +0200 (CEST)",
            "from AS8PR04CU009.outbound.protection.outlook.com\n (mail-westeuropeazlp170110003.outbound.protection.outlook.com\n [IPv6:2a01:111:f403:c201::3])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))\n (No client certificate requested)\n by phobos.denx.de (Postfix) with ESMTPS id BE14E84653\n for <u-boot@lists.denx.de>; Thu, 30 Apr 2026 10:23:16 +0200 (CEST)",
            "from VI0PR04MB11917.eurprd04.prod.outlook.com (2603:10a6:800:306::9)\n by DB8PR04MB7036.eurprd04.prod.outlook.com (2603:10a6:10:12f::21)\n with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9870.20; Thu, 30 Apr\n 2026 08:23:11 +0000",
            "from VI0PR04MB11917.eurprd04.prod.outlook.com\n ([fe80::a506:3460:d2bc:26e7]) by VI0PR04MB11917.eurprd04.prod.outlook.com\n ([fe80::a506:3460:d2bc:26e7%4]) with mapi id 15.20.9870.016; Thu, 30 Apr 2026\n 08:23:11 +0000"
        ],
        "X-Spam-Checker-Version": "SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de",
        "X-Spam-Level": "",
        "X-Spam-Status": "No, score=-0.9 required=5.0 tests=BAYES_00,DKIM_SIGNED,\n DKIM_VALID,FORGED_SPF_HELO,RCVD_IN_DNSWL_BLOCKED,SPF_HELO_PASS,\n T_SPF_PERMERROR autolearn=no autolearn_force=no version=3.4.2",
        "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=LUrs14Kz109aPePIJtDxBCNKaiGY2ik44N4goom3wQZBsUWnBL/iIFwnz5n5MUWSpdinhyDLjTstepvoq7fCDLgP3kdq69LsH69PrsVc9NZz+IMqOIT6unCn57/EXuOOrHLlmqFbtBTEVTfcowZGWvWIT9St7vaxiZZ8/TrHVnM8SoLHbo/Rm3islvjF9swrVvA8PmW+Hd9rxAVL9+og7VQ2aY0uCbsKV3Gi0ChqDxqY6NKcs87RuMmct6+mppCos8y92X18nfT+9FfQVTphZfO3V7V7v2WYUCV/+sla7GoW4NqV7wljhxM5J4NLQV0Y0B3/+Ip1HWOAHexgr+b7Tg==",
        "ARC-Message-Signature": "i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector10001;\n 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;\n bh=4YVsr86nBi/t2gVzaD26uqpdtiYJb+HtYM8eJjmy9L4=;\n b=PLz/FFxh4lLmrOGbdW6k8WqnDPZ7GRrxTGu9E1FPrrXi4wtBPYCRkVwCAYFXdMjUk27lfG5447HqoFXuIpH+x9xm4SGM4Ws73n2PQP3ojVqn4IvD042lCNy1uiA/qih/o5K8zzB32spGLMkLiahwee2CD57tDl17aPxMRt8MLdAdhHResaHrVfAKkry6Y4sueooIyV8FSFvIkvBwH/UZ2nyi/IVV3yg/F9EBSDSmZs9tbb65fMFgF4y6dTYDU7ImM5WbKA2gXgckkPlo7vDsD+/gFK+Tqnt7jBQH42rOYmS2YbvsJc9JqnKosnlopl5BJANyN/a/I+Nnx6DtuY3OTg==",
        "ARC-Authentication-Results": "i=1; mx.microsoft.com 1; spf=pass\n smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com;\n dkim=pass header.d=oss.nxp.com; arc=none",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com;\n s=selector1-NXP1-onmicrosoft-com;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=4YVsr86nBi/t2gVzaD26uqpdtiYJb+HtYM8eJjmy9L4=;\n b=m+iTtSw3q8KNeD010eYVQlUsa8m95R5v1dxc/TvJN3PsOPQ2BFGOEcnz2cv8qw/igcWnaKu3AqfOlU/+MjNCO6E943K9lx4acuPYu/8T4Pcfb/aOyCLKkyTH4hTfkWUzlTbFDoP+uItf6BtXrvvYIPRjHqBydgKnXTi4t68SoQPL3fiUApSfA1GZtMaVIEX3RGTyRODsXuNbkm/7SAi+7rLTouLS6YEh86F9vvTyebAJGKx2L3V4BG/BAWaSGxyU5iNmem9s+ixCfwTDEXVIK8fVy0c83yxhAZvl2DZVyAX8qjbsE996fxXPvrfOIperTGgY46+Er4pbOnePxQHGEw==",
        "From": "\"Simona Toaca (OSS)\" <simona.toaca@oss.nxp.com>",
        "To": "uboot-imx@nxp.com,\n\tu-boot@lists.denx.de",
        "Cc": "Stefano Babic <sbabic@nabladev.com>, festevam@gmail.com, peng.fan@nxp.com,\n alice.guo@nxp.com, ye.li@nxp.com, simona.toaca@nxp.com,\n viorel.suman@nxp.com, fedor.ross@ifm.com, marex@nabladev.com,\n joao.goncalves@toradex.com, ravi@prevas.dk, ping.bai@nxp.com,\n ji.luo@nxp.com, qijian.guo@nxp.com",
        "Subject": "[PATCH v4 0/4] imx9{4,5,52}: Add Quickboot support",
        "Date": "Thu, 30 Apr 2026 11:33:29 +0300",
        "Message-ID": "<cover.1777536451.git.simona.toaca@nxp.com>",
        "X-Mailer": "git-send-email 2.43.0",
        "Content-Transfer-Encoding": "8bit",
        "Content-Type": "text/plain",
        "X-ClientProxiedBy": "AM9P250CA0022.EURP250.PROD.OUTLOOK.COM\n (2603:10a6:20b:21c::27) To VI0PR04MB11917.eurprd04.prod.outlook.com\n (2603:10a6:800:306::9)",
        "MIME-Version": "1.0",
        "X-MS-Exchange-MessageSentRepresentingType": "1",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-TrafficTypeDiagnostic": "VI0PR04MB11917:EE_|DB8PR04MB7036:EE_",
        "X-MS-Office365-Filtering-Correlation-Id": "478f235c-4965-44df-b435-08dea691b73f",
        "X-MS-Exchange-SharedMailbox-RoutingAgent-Processed": "True",
        "X-LD-Processed": "686ea1d3-bc2b-4c6f-a92c-d99c5c301635,ExtAddr",
        "X-MS-Exchange-SenderADCheck": "1",
        "X-MS-Exchange-AntiSpam-Relay": "0",
        "X-Microsoft-Antispam": "BCL:0;\n ARA:13230040|366016|1800799024|19092799006|376014|18002099003|56012099003;",
        "X-Microsoft-Antispam-Message-Info": "\n NUApPf4TvL1h2+C6/rjuahsM+r0sHNOkKPOOA4XF5dKME2ag6OHcM8/m/KBLZ258ebLQwUmRT58D/Ze/m7o4P3sLKrcGR6COR9Caz4AtgcXzRSljN21YfZZemTSz7Ad9lBi9v5Q6m6VnAShxx2Fs2MEnTijvIcxO99G6fuyxatGtsvrYYGAXudQ4i6PP3L7AlIGmrSRIo9fO678yoUE5AzujQKB/fvGvdurrXcx5ZUrWSgU5+EMZE2BO5SKf6GZyLWNS/WvZFqYdfnDqVclKpt8pmQZkmArQqdq8V0TVpsVTR565Sy9q1eD/m7qVruzdGpxDCsKIaHkTVCuxdz0wjJQ+LLNhBp7uontGM4tlKNpwlxZA8RmzOoQeRWeKCj9te5n3Z5nqaz4bluxoDwKzYAc8coud47KNThGBgIJ5LplTzBIDiBdd8FhdIxdIyKdRd33WSxwno/wAhK+D907+sTkBj7PtIaLNKwUtWNeBzqwUKHteNXNfE0hiLRHwpxHT710FKwSvv8SEeNP1d/pYqS+EA6F52hvnAaKmD5NUMSqafCR/ci9S49bjZa4MXwDiWHnS1srPiJgRxLR/600RWFEZvq99ONRo+d/mA/Sj+X0=",
        "X-Forefront-Antispam-Report": "CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;\n IPV:NLI; SFV:NSPM; H:VI0PR04MB11917.eurprd04.prod.outlook.com; PTR:;\n CAT:NONE;\n SFS:(13230040)(366016)(1800799024)(19092799006)(376014)(18002099003)(56012099003);\n DIR:OUT; SFP:1101;",
        "X-MS-Exchange-AntiSpam-MessageData-ChunkCount": "1",
        "X-MS-Exchange-AntiSpam-MessageData-0": "\n lZLFfjMibSYDaDAg2sDVOBgbGYHk0xiyKiBXf/AZVtdS6KSJXFnY4d4gJajd05HMHGfLDr0xCQ5Ae7fNP8KItO7E1agJRJuu3ORfHxJBXMBoAd4bMxx5PjOhYianXfr9E7fho6AdHIIAQaQW8FOwzTUF6qtpOqwVPaJtd0gk77ECCUfPBULyRs84UMnJIYq4V7Q1kp8RVqpBsX7Dci02gYWzJalwQ4VI0x0TiKLzd2gzI607SFgzWM6mGT5cgmMpkiR/VyZ9Kc5AsOQZLNDExBwYwl8ukdOr8/JxwO7zLcPMhSO3cHG76RrpLQhF/X5GQzwgGqEcnKxueX0FGffGgjjwoH2VFK2qCJNy8VKzLRSG0vcKAsZWnHh519Xmtd1Vm5CV10UDL8Bp5983N4eokERCl/qPivgsw4d7zt7Yq/YLyk3W3bDgAa47uimAZ6Ony83pxVKuiKyHMEhp8q/MvXVbKL9a3b75RyMjKSOClwIDCe1P9/JFAoq0H4DKWPbNWkdOvspUmZPD1qx/OAsL4ZIhaqddozH1XPrxd21S9I2+gj/5mswxSV1bfbsegp9+yxapa+7nE0BedKVabAEloDk3VYnQX+mAmtjqZxi8ZW7fPnel1BNn1NrMHel8p4fdxJn5Jb52HEl+TqkcdyPg0+yF7sMPbnN4mD7bfmmyuz+bLXLqpSd1HpfLmq9FUm4f/FPdY0mZH7LTWY9elp+diEG8f1shz+zU5zMn998AlMDZJTQXcnT0VkMrpjCucy/1l4jZPVu+0JNaAJp/Q6bagDirXUzBGHJWA6zgdxfCnlJVF4IJ5hqOtvGu2hinKwmn7rVCSp3lCOPk7c4UJ+iVLL7e1w6CGrs282fM0zN/9XkcmdsgduxiAP1G0t8HaMiqolvDGTVh2990ektfyfOB6zYQsCwLXJUkPErFF3JW6mSpcmLMGXpvAIMmKnNWc6HR/uHywKSZc1zGVMNvJ4a39UnYNgxbLqXL1G642FDVesPR/t1sH0PLoauDJtpLVlwncWwXJC+nZlF0z3HWPeIHP8bQqggs19pyEmOFFcZUftIwowUdQdQE6Ff7lYlC9aTCD2Q8v1DUpEa/z0beJYGYPdR5U+poqzV8NBVUS+jAluWbYKsXBiIJtX1ojLcAydo78qZWJBtxTFiKdcFBvI1T7ha2IuIybEZB1M2s3wsJzX20yj/0foHBlib/zrS0QUNI2lJyyJm/1wpftIYK8ksUDsAY+LD7tm7pLx+nV/TJynZ6pEBfyDEe3/W4XZE1SmShTehmOglJ7GF1JiuUilw+rklx+KciEfes4no8gN2Eb115l7EtpdUXUfW01UBQEQ1qhJb7pJ9e16IKaGVkDNi3v8BGlgxQIf3vqAKzgXqNhwgd2grrtHvt6d/fhDM+jTSev0GG+YE/0+8TwAp2C2LxrxNbbJ4gbxniBToBeUYvhLih+gldD9Mkg0aN8LBQyoBgFmRVR1CCc8hhY9GzG74LcKJyRow94WWHJedqxI5iieudObO1Y/lXW5fRWOxkqD6ON9D7WgtfQncU2pU5xRuYnL5unqv+VNwmXudZTWfqvKD7DVV7QuZiTXtf7bEcS9z0JIizbQkmYZodHkfacAluCJniSG7hzkuhAf4+YLBxKcUDIqAfyj8WqyfNDq2pkn57/B1u6QvRwVVWADNB7xSgUiE2Ux/eq2J4B0xEiZZ5tXj6I9KQHUsGu2cu+IujtIq4a7AQ3BGxq+KHgjC1UFUMSA==",
        "X-OriginatorOrg": "oss.nxp.com",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 478f235c-4965-44df-b435-08dea691b73f",
        "X-MS-Exchange-CrossTenant-AuthSource": "VI0PR04MB11917.eurprd04.prod.outlook.com",
        "X-MS-Exchange-CrossTenant-AuthAs": "Internal",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "30 Apr 2026 08:23:11.1699 (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": "\n tiAgO+3fUfQxqIUe3BKUI9jvj98sktAcgK5Nnew/QuiyBdCnJ2d3xviFe67CzjCum0N77bCX6eAWO6XG4ZbhcA==",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "DB8PR04MB7036",
        "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: Simona Toaca <simona.toaca@nxp.com>\n\nThis patch series adds support for saving DDR training\ndata to non-volatile memory on iMX94, iMX95 and iMX952 platforms.\nThe purpose is running DDR Quickboot flow on next reboot.\n\nThe process is as follows:\n- OEI runs Training flow for the DDRPHY\n- OEI saves the data from training to volatile memory\n- U-Boot can then save it to non-volatile memory (e.g. SD)\n- OEI loads the data from NVM at cold reboot and runs Quickboot flow\n\nBy skipping training, a much lower boot time is achieved.\n\nChanges for v4:\n- add IMX_QB macro to include qb.c based on the boot phase\n- change qb_ prefix to imx_qb_ for qb.c methods, to\nbe more specific\n- add boot device macro to string conversion for the case\nwhere the device is not explicitly specified\n- pass quickboot args as strings and parse them in qb.c using\nblk_device_get_by_str/blk_device_part_str (if they are blk devices).\nThis enables specifying mmc 0:2 for the boot1 partition of the eMMC\ndevice.\n- use blk device API instead of mmc-specific\n- use SPI DM methods for spi flash read/write\n- use malloc for storing container header instead of kmalloc\n- add eMMC hwpart usage to the documentation\n- sent the qb-unrelated patches separately\n\nChanges for v3:\n- Rebased and added support for iMX952\n- Removed IMX_SNPS_DDR_PHY_QB_GEN macro, as it was not useful ->\nnow CMD_QB is enabled by default on the supported boards\n- Removed unnecessary #ifdefs -> replaced with if (CONFIG..)\n- Replaced spi_flash_probe with udevice_first_device_err to\navoid using SPI macros that needed ifdefs, since there is only\none SPI flash device available.\n- Adnotated qb methods with qb_ to be easier to see in asm dump\n- Removed explicit pointer casts from (void *)\n- Replaced custom qb_crc32 with the U-Boot one\n- Made eveything snake_case\n- Enabled SFDP support for iMX943/95, as it is necessary for\nproper erase size parsing (and is already present in iMX952 config)\n- Improved documentation - explanation about the space in bootloader\n- Added commit fixing a style issue in Kconfig\n\nChanges for v2:\n- Improved documentation to clarify the questions asked\n- Detailed log messages for all commits\n- Detailed Kconfig options for SPL_IMX_QB and CMD_IMX_QB\n- Fixed the mentioned coding style issues\n\nSimona Toaca (4):\n  imx9: Add support for saving DDR training data to NVM\n  arm: mach-imx: Add command to expose QB functionality\n  board: nxp: imx9{4,5,52}_evk: Add qb save option in SPL\n  doc: board: nxp: Add Quickboot documentation\n\n arch/arm/include/asm/arch-imx9/ddr.h |  48 +++-\n arch/arm/include/asm/mach-imx/qb.h   |  15 +\n arch/arm/mach-imx/Kconfig            |  28 ++\n arch/arm/mach-imx/Makefile           |   1 +\n arch/arm/mach-imx/cmd_qb.c           | 102 +++++++\n arch/arm/mach-imx/imx9/Makefile      |   6 +-\n arch/arm/mach-imx/imx9/qb.c          | 403 +++++++++++++++++++++++++++\n arch/arm/mach-imx/imx9/scmi/soc.c    |   7 +\n board/nxp/imx94_evk/spl.c            |   6 +-\n board/nxp/imx952_evk/spl.c           |   4 +\n board/nxp/imx95_evk/spl.c            |   6 +-\n doc/board/nxp/index.rst              |   1 +\n doc/board/nxp/quickboot.rst          |  59 ++++\n drivers/ddr/imx/imx9/Kconfig         |   7 +\n 14 files changed, 688 insertions(+), 5 deletions(-)\n create mode 100644 arch/arm/include/asm/mach-imx/qb.h\n create mode 100644 arch/arm/mach-imx/cmd_qb.c\n create mode 100644 arch/arm/mach-imx/imx9/qb.c\n create mode 100644 doc/board/nxp/quickboot.rst"
}