Show a cover letter.

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

{
    "id": 2197185,
    "url": "http://patchwork.ozlabs.org/api/1.0/covers/2197185/?format=api",
    "project": {
        "id": 18,
        "url": "http://patchwork.ozlabs.org/api/1.0/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
    },
    "msgid": "<20260217103604.71029-1-hs@nabladev.com>",
    "date": "2026-02-17T10:36:02",
    "name": "[v3,0/2] fastboot: mmc: fix bootloader offset",
    "submitter": {
        "id": 91409,
        "url": "http://patchwork.ozlabs.org/api/1.0/people/91409/?format=api",
        "name": "Heiko Schocher",
        "email": "hs@nabladev.com"
    },
    "series": [
        {
            "id": 492408,
            "url": "http://patchwork.ozlabs.org/api/1.0/series/492408/?format=api",
            "date": "2026-02-17T10:36:02",
            "name": "fastboot: mmc: fix bootloader offset",
            "version": 3,
            "mbox": "http://patchwork.ozlabs.org/series/492408/mbox/"
        }
    ],
    "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=nabladev.com header.i=@nabladev.com header.a=rsa-sha256\n header.s=dkim header.b=bRbJEisH;\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=reject dis=none) header.from=nabladev.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=nabladev.com header.i=@nabladev.com\n header.b=\"bRbJEisH\";\n\tdkim-atps=neutral",
            "phobos.denx.de; dmarc=pass (p=reject dis=none)\n header.from=nabladev.com",
            "phobos.denx.de; spf=pass smtp.mailfrom=hs@nabladev.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 4fFbfL65Qbz1xpl\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 17 Feb 2026 21:36:26 +1100 (AEDT)",
            "from h2850616.stratoserver.net (localhost [IPv6:::1])\n\tby phobos.denx.de (Postfix) with ESMTP id 050F680325;\n\tTue, 17 Feb 2026 11:36:24 +0100 (CET)",
            "by phobos.denx.de (Postfix, from userid 109)\n id 7EE3F83CB5; Tue, 17 Feb 2026 11:36:22 +0100 (CET)",
            "from mx.nabladev.com (mx.nabladev.com [178.251.229.89])\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 66F8D802C1\n for <u-boot@lists.denx.de>; Tue, 17 Feb 2026 11:36:13 +0100 (CET)",
            "from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon)\n with ESMTPSA id 78AD411038C; Tue, 17 Feb 2026 11:36:11 +0100 (CET)"
        ],
        "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,DKIM_SIGNED,\n DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED,\n RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED,\n SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=nabladev.com;\n s=dkim; t=1771324572; h=from:subject:date:message-id:to:cc:mime-version:\n content-transfer-encoding; bh=ATGpNX+U6S6/ACuAAnTA1GGAqOsoRdNfv1DVoPonaXU=;\n b=bRbJEisHKJhBwz6w0RtlCXQrA6QVTRxahxbmzWvm3iGVWwO3GIIUEk2al6svFVvb/oBCm4\n LXF3aEk+D5OaKETHWjpYIVrF1yozqXjj/7BZQ6WBSc13HHUhHlVxvub4BZ64wd5Kqa5pUD\n kKfIxCWOykeLPExRz3hXLhP4neKDLXRipftKEsjmNgZPX9cmZh+xAp+HXwfxm/ymcYr/9o\n tBBt+bAMtpd8Ykj8Jcuru6GWCZjwCIYlIaT/y2XHlgfYIB9XGDKKxyffgtz9MpfcsKNEIp\n 5S9MfX/7HgHy86TcLXIqkXiP9ZbeF1pVOwUhC8ZTUQYGeOluj+00Ke7fjUyL7w==",
        "From": "Heiko Schocher <hs@nabladev.com>",
        "To": "U-Boot Mailing List <u-boot@lists.denx.de>",
        "Cc": "Heiko Schocher <hs@nabladev.com>,\n Adrian Freihofer <adrian.freihofer@siemens.com>,\n Dmitrii Merkurev <dimorinny@google.com>,\n Fabio Estevam <festevam@gmail.com>,\n Marek Vasut <marek.vasut+renesas@mailbox.org>,\n Mattijs Korpershoek <mkorpershoek@kernel.org>,\n \"NXP i.MX U-Boot Team\" <uboot-imx@nxp.com>,\n Neil Armstrong <neil.armstrong@linaro.org>,\n Stefano Babic <sbabic@nabladev.com>, Tom Rini <trini@konsulko.com>",
        "Subject": "[PATCH v3 0/2] fastboot: mmc: fix bootloader offset",
        "Date": "Tue, 17 Feb 2026 11:36:02 +0100",
        "Message-Id": "<20260217103604.71029-1-hs@nabladev.com>",
        "X-Mailer": "git-send-email 2.20.1",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "X-Last-TLS-Session-Version": "TLSv1.3",
        "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": "Not for all SoCs the bootloader start at offset 0x0,\nin a hardware partition of an emmc. So we need the possibility to\nset the correct offset, where bootloader starts.\n\nExample:\n\nimx8qxp revision C0 emmc Partition layout\n\n| eMMC block / partition | Offset     | Size  | Purpose                        |\n| ---------------------- | ---------- | ----- | ------------------------------ |\n| /dev/mmcblk0boot0      | 0x0        | 2MB   | imx-boot-container A           |\n|                        | 0x00220000 | 128kB | secure boot signature rootfs A |\n| /dev/mmcblk0boot1      | 0x0        | 2MB   | imx-boot-container B           |\n|                        | 0x00200000 | 8kB   | U-Boot env 0                   |\n|                        | 0x00202000 | 8kB   | U-Boot env 1                   |\n|                        | 0x00220000 | 128kB | secure boot signature rootfs B |\n\nimx8qxp rev B0 emmc Partition layout\n\n| eMMC block / partition | Offset     | Size  | Purpose                        |\n| ---------------------- | ---------- | ----- | ------------------------------ |\n| /dev/mmcblk0boot0      | 0x00008000 | 2MB   | imx-boot-container A           |\n|                        | 0x00220000 | 128kB | secure boot signature rootfs A |\n| /dev/mmcblk0boot1      | 0x0        | 8kB   | U-Boot env 0                   |\n|                        | 0x00002000 | 8kB   | U-Boot env 1                   |\n|                        | 0x00008000 | 2MB   | imx-boot-container B           |\n\nIf we flash now the bootloader image flash.bin on a B0 revision with\n\nuuu FB: flash bootloader flash.bin\n\nwe overwrite the environment and board does not boot at all, as offset\nis wrong.\n\nTo prevent any API change in the above command we propose\nthe following implementation from this series:\n\nWe add a new weak function fb_mmc_get_boot_offset() in drivers/fastboot/fb_block.c\nwhich returns 0 and call this function instead of passing 0 for\nthe offset where offset is used/passed.\n\nIn SoC specific code (currently for IMX8QXP only) we implement this function\nthat it returns on B0 SoCs the 32k offset and on other SoC revisions the\noffset 0.\n\nThis is tested on B0 and C0 based boards from siemens.\n\nThis patch should have no effect for other SoCs.\n\nChanges in v3:\nreworked the logic as Peng suggested, so newer SoC\nrevisions will also start from offset 0x0\n\nChanges in v2:\n- added Reviewed-by from Mattijs\n- Used the commit message as Peng suggested (with a small\n  checkpatch fix:\n  WARNING: 'writting' may be misspelled - perhaps 'writing'?\n- rebased to mainline\n  b99da05e153 - (tag: v2026.04-rc2, origin/master, origin/HEAD) Prepare v2026.04-rc2\n- added Reviewed-by from Mattijs\n\nAdrian Freihofer (2):\n  fastboot: mmc: make boot partition offset configurable\n  arch: imx8qxp: Override weak fb_mmc_get_boot_offset function\n\n arch/arm/mach-imx/imx8/cpu.c | 21 +++++++++++++++++++++\n drivers/fastboot/fb_block.c  | 15 +++++++++++----\n 2 files changed, 32 insertions(+), 4 deletions(-)"
}