get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 2225684,
    "url": "http://patchwork.ozlabs.org/api/1.2/patches/2225684/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/uboot/patch/20260421-imx8mq-dm-pmic-v1-7-0e2b490542b1@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": "<20260421-imx8mq-dm-pmic-v1-7-0e2b490542b1@nxp.com>",
    "list_archive_url": null,
    "date": "2026-04-21T13:41:19",
    "name": "[07/15] imx8mq: Correct signed_hdmi firmware position",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": false,
    "hash": "d0fef7fbc9e4e3707969576fc3a707229efd5f96",
    "submitter": {
        "id": 80723,
        "url": "http://patchwork.ozlabs.org/api/1.2/people/80723/?format=api",
        "name": "Peng Fan",
        "email": "peng.fan@oss.nxp.com"
    },
    "delegate": {
        "id": 151988,
        "url": "http://patchwork.ozlabs.org/api/1.2/users/151988/?format=api",
        "username": "festevam",
        "first_name": "Fabio",
        "last_name": "Estevam",
        "email": "festevam@gmail.com"
    },
    "mbox": "http://patchwork.ozlabs.org/project/uboot/patch/20260421-imx8mq-dm-pmic-v1-7-0e2b490542b1@nxp.com/mbox/",
    "series": [
        {
            "id": 500790,
            "url": "http://patchwork.ozlabs.org/api/1.2/series/500790/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/uboot/list/?series=500790",
            "date": "2026-04-21T13:41:12",
            "name": "i.MX8MQ: Convert to DM_PMIC for a few boards",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/500790/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2225684/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2225684/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 (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=NcZxQxHb;\n\tdkim-atps=neutral",
            "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de\n (client-ip=85.214.62.61; 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=\"NcZxQxHb\";\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=peng.fan@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 [85.214.62.61])\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 4g0M5j5W8dz1yGs\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 21 Apr 2026 22:26:01 +1000 (AEST)",
            "from h2850616.stratoserver.net (localhost [IPv6:::1])\n\tby phobos.denx.de (Postfix) with ESMTP id 45EC184258;\n\tTue, 21 Apr 2026 14:25:47 +0200 (CEST)",
            "by phobos.denx.de (Postfix, from userid 109)\n id 5C0B6801A9; Tue, 21 Apr 2026 14:25:45 +0200 (CEST)",
            "from AM0PR83CU005.outbound.protection.outlook.com\n (mail-westeuropeazlp170100001.outbound.protection.outlook.com\n [IPv6:2a01:111:f403:c201::1])\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 3D6BD842E1\n for <u-boot@lists.denx.de>; Tue, 21 Apr 2026 14:25:43 +0200 (CEST)",
            "from PAXPR04MB8459.eurprd04.prod.outlook.com (2603:10a6:102:1da::15)\n by PAXPR04MB9349.eurprd04.prod.outlook.com (2603:10a6:102:2b8::9)\n with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9818.32; Tue, 21 Apr\n 2026 12:25:38 +0000",
            "from PAXPR04MB8459.eurprd04.prod.outlook.com\n ([fe80::4972:7eaa:b9f6:7b5e]) by PAXPR04MB8459.eurprd04.prod.outlook.com\n ([fe80::4972:7eaa:b9f6:7b5e%3]) with mapi id 15.20.9818.033; Tue, 21 Apr 2026\n 12:25:38 +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,SPF_HELO_PASS,T_SPF_PERMERROR autolearn=no\n autolearn_force=no version=3.4.2",
        "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=KByV4yy6aKyxmnlu3ELtx7sZnXow/qY6oSNstbPHMql6HlEWocfEWj8qRsX7R0e2AzuB/idVCdSjkEnYPmmm0/U0SXrWUFSlCH2jy8S7wHOW1inECLbvufKRTwMAhIjhvw3IqMMnYTP0p1L9KFAM7SXJEZnHiwYKhuQn8Xw4jtYS+znq8R6mbnxavgSG6+ASdIPS1oNQoBxbETwFBpcnEl8oLe4y/nU3WzYL9paJdmEsNmpV3hzA+AFCeNQpvcVp9raraXwGZlSZwOYGIfSzE4ZkG0meqpr1o7vloTry60cLYuzTtKLrdPfjIjcPvzGEHg4cPBtmZyuf53UIQsVVTw==",
        "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=8CXOninQ8tVLobekXFACSL93eiX5GN/OiA3utpezSyQ=;\n b=cpJ+92+wyK9ny8OgdpsHBRxvCO5/9dNs2S/g3UDtQpk+T/sNDfzD9MjKDEat6pUiia9AHPZBVAktrPfMbdS1jQP3aOO+5+MCJwtOM1cHa/Bj3P5hsoUfBow9dZoSEhqz1QcqU7M/MnEvQ5T0cRx+Ln+1h12Y5ADlVUUx4BPixI6p/S2eUAsbsUX7z4xdRpMj3pbDU5j10ea4pmVvv+LmZ1U8dNz0ADPZ3Qgu44RERFjGyRD0vgu+TO+2WjhjWzRCmDQmiF8fWDt9eKFxKNwWUyQCsQyazPXrB91rjCYVaN+2azYMD69OSAEga9QUML6PEhKnW3PWinY7Nd1N5DUNPQ==",
        "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=8CXOninQ8tVLobekXFACSL93eiX5GN/OiA3utpezSyQ=;\n b=NcZxQxHbCWPktexy7Ym7w8/d2eV9UuKui69SBJZXp8NqaesJ+DECBbKlwFUlURLHG3SHMGvMldtYwATlwcDFknotPvQeiTAG6evvwtpxL6dcDiyDvqSXO8xHlXiK04Ulu7zernMAMSO0h8nWW3mwkl8QUpUjjN3YCnfJJ5WBDz7vdbf1QFzWU1aSMxH59HSp/xHm098iPLvd6D0X6rT3KK+U1KPLseaQWlQ+XN98i3ovYjWAXQs+UOiaNrU1hKNDxFTdXXdxGAmYbVw22loOLcA7cjTz1EHllKaKYO4617MmUrBKsAMgRpYG4eHxvvLR9+njJH5EfFGWqRiXkA+Dkw==",
        "From": "\"Peng Fan (OSS)\" <peng.fan@oss.nxp.com>",
        "Date": "Tue, 21 Apr 2026 21:41:19 +0800",
        "Subject": "[PATCH 07/15] imx8mq: Correct signed_hdmi firmware position",
        "Content-Type": "text/plain; charset=\"utf-8\"",
        "Content-Transfer-Encoding": "7bit",
        "Message-Id": "<20260421-imx8mq-dm-pmic-v1-7-0e2b490542b1@nxp.com>",
        "References": "<20260421-imx8mq-dm-pmic-v1-0-0e2b490542b1@nxp.com>",
        "In-Reply-To": "<20260421-imx8mq-dm-pmic-v1-0-0e2b490542b1@nxp.com>",
        "To": "\"NXP i.MX U-Boot Team\" <uboot-imx@nxp.com>, u-boot@lists.denx.de,\n kernel@puri.sm",
        "Cc": "Stefano Babic <sbabic@nabladev.com>, Fabio Estevam <festevam@gmail.com>,\n Tom Rini <trini@konsulko.com>, Yannic Moog <y.moog@phytec.de>,\n Ye Li <ye.li@nxp.com>, Ilias Apalodimas <ilias.apalodimas@linaro.org>,\n Alice Guo <alice.guo@nxp.com>,\n Marek Vasut <marek.vasut+renesas@mailbox.org>,\n Marco Franchi <marcofrk@gmail.com>, Alifer Moraes <alifer.wsdm@gmail.com>,\n \"Lukas F. Hartmann\" <lukas@mntre.com>, Patrick Wildt <patrick@blueri.se>,\n Marek Vasut <marex@denx.de>, Heiko Thiery <heiko.thiery@gmail.com>,\n Ilko Iliev <iliev@ronetix.at>, Angus Ainslie <angus@akkea.ca>,\n Peng Fan <peng.fan@nxp.com>",
        "X-Mailer": "b4 0.14.3",
        "X-ClientProxiedBy": "MAXP287CA0011.INDP287.PROD.OUTLOOK.COM\n (2603:1096:a00:49::24) To PAXPR04MB8459.eurprd04.prod.outlook.com\n (2603:10a6:102:1da::15)",
        "MIME-Version": "1.0",
        "X-MS-Exchange-MessageSentRepresentingType": "1",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-TrafficTypeDiagnostic": "PAXPR04MB8459:EE_|PAXPR04MB9349:EE_",
        "X-MS-Office365-Filtering-Correlation-Id": "48211a62-3690-4153-f3e6-08de9fa117e5",
        "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|19092799006|366016|52116014|7416014|376014|1800799024|38350700014|56012099003|18002099003|22082099003;",
        "X-Microsoft-Antispam-Message-Info": "\n EZeeW1XlmM+uwZ2v1OTEmzNL6octBb6LsvgOlqU7APYGiXL9P9RShK/rp2j/p4A68kWBe4c/Uf+pVmIe1nnFMQjRJ047udnIAP9K/5DJhWYijEKSIatoDOZy78GWW6A6z2aLcwrz+svswhvmyu3Hf0ck3qmt8QiYGUM96f6V8YciHKdPfnsFQ37xiWVQLfqqbpYRqTf4exIjsaZNzE1MD9362IXTHWjdCmJn/9oW+Xe7EqDbIrHyXSRNHNYsFMZtTtGuifW822E+zIBgvcDYTVKNq9tp4HoU3tl66biu2HF6S5W1950rf3uq6aBR+PnVnvlf6um7TatnsRzEfx1hFPbWaYeJJOUqpM7FvDa2/ggMTTkY8a7bnCOXeEXpubLexXH6kH95+rzcA7IcVYSSsEKG0SvVcR7kdTBFBgGnwMJAaovNK1+SG4/3rw0xlXn5nrx85HlYH6BBqoBF8PCm0fiJxI6FRr6w/cwi23/d2nd0KpuMLr63rGXJPrigwsYJjRjvkyG2hygmyTF7EMNjUM+yrdM23eAUZnSyri+C1qeghenPF6xKwnk7N8sRXZxV0ZDB6e7ZMNtPTE3r0xXjoI0XvxUWOIrfHHO4uhxQfNCohKCwwhSERP0RcGgx089md8OjXdQBRIqr8VoZCzOm1Za6hTOkyvx4QjtAA5uI36P0sDQzrvcenzzu2j9z3J76V7PIWSh80Hu0y8juiBA75UXqYH4C/t0YYNBgDQCaY4pFGkCVcNJ9HwYJfx+WheNKEmOmcvzagK6vfrvKeN1yE9to9ILBaQFGp+D3AVydm1k=",
        "X-Forefront-Antispam-Report": "CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;\n IPV:NLI; SFV:NSPM; H:PAXPR04MB8459.eurprd04.prod.outlook.com; PTR:; CAT:NONE;\n SFS:(13230040)(19092799006)(366016)(52116014)(7416014)(376014)(1800799024)(38350700014)(56012099003)(18002099003)(22082099003);\n DIR:OUT; SFP:1101;",
        "X-MS-Exchange-AntiSpam-MessageData-ChunkCount": "1",
        "X-MS-Exchange-AntiSpam-MessageData-0": "=?utf-8?q?iL36zG+bScfOPIaFSqpLMsJCkLOO?=\n\t=?utf-8?q?PRvjIYdayKdp8sBdetb0BPKWnRntZ+xOkVVpNQjF1F+3UjxqWmRGY3AQtcsbRfAOn?=\n\t=?utf-8?q?SZW9l/Sn+pyVrCqpdqUpfGqiobnL/w6SdlJhiPeTEam+pYGvsdtj71w/XXADIDDRm?=\n\t=?utf-8?q?0fRlic7JVWezsQPpuYqar6yOM9J2VccHibOs198XFeBaLsjmJw4g1nJHSO0H/NhmA?=\n\t=?utf-8?q?217xJJW81c9zpFvkTsYOZQL42eREgyg5MHYzyfgTUq99hY0bm9NNSHZo3W0QSh2pU?=\n\t=?utf-8?q?+UR4Hh3fndnRf+71JfEgeZReTiqOoVT2oXZ2OtM/4RIAIZQnaKEjGUC2vFar1FVL6?=\n\t=?utf-8?q?sGGt8L1V78ZxqYN022jCqjxmTP8RaieW3c8vV5eL6nVTJIV+GE0uWJxoHRZpWRnOJ?=\n\t=?utf-8?q?FD1G7Kfr1YvhgMtYy0Cnukc8XuHaU5Y+SfqwS/U2sHXEl/+5cuTaEISZAm1bfmZGT?=\n\t=?utf-8?q?3ScTbg77Zg6HTBw6dStFp9+y8BQYqsrIuSpAo1nioaSKFTTHid0oU6y8O1ophWiof?=\n\t=?utf-8?q?WTd9nDt98r+eyiziKkyUZtS5CkBbgwqleP541jwyG4rUMt9Ipqx+hPoDFYzgmaHfc?=\n\t=?utf-8?q?yykt1fR+DeH96inYW+FpkJzz1D6Vc/qhiQ3M8E5J5H7qCOrXqSJByKOAZqPcQYqxz?=\n\t=?utf-8?q?6B67gKM9Ltx3u+byNsqquXK53wHGeFarq2f5jAMgE/junkzTHzBXQzmt/2bvEBjwG?=\n\t=?utf-8?q?Z3Lvz8dPtFC5z3D5tvbOEaF3W1xyRn0q0wPkTEhT3f5oURWAFInhMxSB6T9aadWq3?=\n\t=?utf-8?q?luPOPquocWDEQPEuoflHF0Jhe8zhLXyuccWzcR5AhVyGGJ0ArDytqEzkNrdaliWRl?=\n\t=?utf-8?q?o0PvWCieYZKo87OyBqoE3oJoV3QOAcPuFQOBiIIpUT+v7DU06UDh0FMxWEQogYX/P?=\n\t=?utf-8?q?sxZL16okMo2l1XUL91EcPYJkuJYDsLKDjR8JTf0Dho+zya8ywsKTSy9OctMm34VNt?=\n\t=?utf-8?q?SYQDNeLRkfXn/8o1PBfR6BAJLrtDSWqMw0sIGBnMBZ75EJRKZfuG2ZXpYcD3L9ZKi?=\n\t=?utf-8?q?wUOljea5p8gcu6U+ccFIP43+SSpqcuXCVZkMlqTHTNnR34sbLrS5lB0FPRrqoJDd6?=\n\t=?utf-8?q?3/xgoz4rW/JO1zxnMsSvyJcImjvYUcx0IgknaL+AZ5M18okkN/2xO9+4HcdLdV4wh?=\n\t=?utf-8?q?6t/wa+qd3i3QoksyFVMZ93Nm5M5no+q0M0TzMuODNI9SvERMwxzuM03OLktDAbaIX?=\n\t=?utf-8?q?RAIpn9Bd+OJWTOeWpWOFq7WLA+xHmyD46rpzO1j0AVJB9DifPJUxFXvSY+0tR9rkL?=\n\t=?utf-8?q?22REflUOyrKr5Us23oIVbsH75l0yVyNJO9MXWjvfjAcNs0zUYaEJx+MWFxDw0JBOT?=\n\t=?utf-8?q?x609DKbhWQQytn6kXy3SAln4Qk/zTbTjpJRg/v3MhxwprmopRjbXvc/rqfIjlAlRP?=\n\t=?utf-8?q?7IRB2sG+1hKfmHh7KzrzdXUClVhy98xgc/tVYcxZfMff77ljwjdSrJFRL88VNCSj2?=\n\t=?utf-8?q?bwm+j17L7RP447y4zDiNCZupJhyC3KXyXHCjUQE5ryeWE5Fbp5p2zdqC0Nv9YqVXe?=\n\t=?utf-8?q?dhT8l9c93ZlwxFh09huPnNoUSYS9U//GkGIhbc68yvCOlX2nro70qkdsocMObLC/G?=\n\t=?utf-8?q?u1Qc5lbkBvwif+jR64DrtTe8bBWq1jSKa/2x4lbS2IPJ5D//8KetFry/JL6sedpNl?=\n\t=?utf-8?q?pqZsaoAvCFpEMOftKV2SIHzy0HmbRmCg=3D=3D?=",
        "X-OriginatorOrg": "oss.nxp.com",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 48211a62-3690-4153-f3e6-08de9fa117e5",
        "X-MS-Exchange-CrossTenant-AuthSource": "PAXPR04MB8459.eurprd04.prod.outlook.com",
        "X-MS-Exchange-CrossTenant-AuthAs": "Internal",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "21 Apr 2026 12:25:38.1549 (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 EgyYJhZdaj0SEC4d0Of9h2MLFAm+OeOHlTifeZz7TAsR8pPWLfm+JEJ9Ld8jZ46C59360VagSzqqV6tgp+rpYg==",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "PAXPR04MB9349",
        "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: Peng Fan <peng.fan@nxp.com>\n\nsigned_hdmi_imx8m.bin is already signed and has a IVT header. It should not\nbe put in u-boot-spl-mkimage.signed.bin. Move it to head of flash.bin\nfollowing NXP imx-mkimage. Keeping it in u-boot-spl-mkimage.signed.bin also\nconsumes a lot of TCM space which is not expected.\n\nWhile moving it to head of flash.bin, other changes are required,\nu-boot.itb is put at sector 768 per defconfig, so u-boot.itb binman\noffset should be updated and it should be moved out from binman section.\n\nAlso binman symbol address are updated, so need to subtract u-boot-spl\nimage_pos + CONFIG_SPL_TEXT_BASE to find the correct location of ddr phy\nfirmware.\n\nBecause there is 1KB padding in HDMI firmware, use 32KB when burning\nflash.bin to sd card.\n\nSigned-off-by: Peng Fan <peng.fan@nxp.com>\n---\n arch/arm/dts/imx8mq-librem5-r4-u-boot.dtsi |   2 +-\n arch/arm/dts/imx8mq-u-boot.dtsi            | 240 ++++++++++++++++-------------\n doc/board/nxp/imx8mq_evk.rst               |   4 +-\n drivers/ddr/imx/phy/helper.c               |  13 ++\n 4 files changed, 148 insertions(+), 111 deletions(-)",
    "diff": "diff --git a/arch/arm/dts/imx8mq-librem5-r4-u-boot.dtsi b/arch/arm/dts/imx8mq-librem5-r4-u-boot.dtsi\nindex 98da015a444..4d326040c0a 100644\n--- a/arch/arm/dts/imx8mq-librem5-r4-u-boot.dtsi\n+++ b/arch/arm/dts/imx8mq-librem5-r4-u-boot.dtsi\n@@ -10,7 +10,7 @@\n \tbootph-pre-ram;\n };\n \n-&binman_imx_spl {\n+&binman {\n \tsection {\n \t\tsigned-hdmi-imx8m {\n \t\t\tfilename = \"signed_dp_imx8m.bin\";\ndiff --git a/arch/arm/dts/imx8mq-u-boot.dtsi b/arch/arm/dts/imx8mq-u-boot.dtsi\nindex 0687fcdbd68..ed2c704f2e5 100644\n--- a/arch/arm/dts/imx8mq-u-boot.dtsi\n+++ b/arch/arm/dts/imx8mq-u-boot.dtsi\n@@ -41,6 +41,33 @@\n \tfilename = \"flash.bin\";\n \tsection {\n \t\tpad-byte = <0x00>;\n+\t\t/*\n+\t\t * signed_hdmi_imx8m.bin contains a 1KB zero-filled padding at\n+\t\t * its beginning. This padding has no functional purpose, but\n+\t\t * the firmware is provided and signed by NXP, so the head\n+\t\t * must be preserved and should not be removed.\n+\t\t *\n+\t\t * When the signed HDMI firmware is placed at the beginning of\n+\t\t * flash.bin, the IVT header of u-boot-spl must still reside at\n+\t\t * a 4KB-aligned address. Since flash.bin starts with the HDMI\n+\t\t * firmware (including its 1KB padding), there is already a 1KB\n+\t\t * empty region at the head of flash.bin.\n+\t\t *\n+\t\t * The required 4KB alignment is therefore calculated relative\n+\t\t * to the location after this 1KB padding. To achieve this, we\n+\t\t * explicitly set align and align-size to 0x1000, and add an\n+\t\t * additional 0x400 (1KB) fill to account for the padding.\n+\t\t */\n+\t\tsigned-hdmi-imx8m {\n+\t\t\tfilename = \"signed_hdmi_imx8m.bin\";\n+\t\t\ttype = \"blob-ext\";\n+\t\t\talign = <0x1000>;\n+\t\t\talign-size = <0x1000>;\n+\t\t};\n+\n+\t\tfill {\n+\t\t\tsize = <0x400>;\n+\t\t};\n \n #ifdef CONFIG_IMX_HAB\n \t\tnxp-imx8mcst@0 {\n@@ -51,145 +78,142 @@\n #endif\n \n \t\t\tbinman_imx_spl: nxp-imx8mimage {\n-\t\t\t\tfilename = \"u-boot-spl-mkimage.bin\";\n-\t\t\t\tnxp,boot-from = \"sd\";\n-\t\t\t\tnxp,rom-version = <1>;\n-\t\t\t\tnxp,loader-address = <CONFIG_SPL_TEXT_BASE>;\n-\t\t\t\targs;\t/* Needed by mkimage etype superclass */\n-\n-\t\t\t\tsection {\n-\t\t\t\t\talign = <4>;\n-\t\t\t\t\talign-size = <4>;\n-\t\t\t\t\tfilename = \"u-boot-spl-ddr.bin\";\n-\t\t\t\t\tpad-byte = <0xff>;\n-\n-\t\t\t\t\tu-boot-spl {\n-\t\t\t\t\t\talign-end = <4>;\n-\t\t\t\t\t\tfilename = \"u-boot-spl.bin\";\n-\t\t\t\t\t};\n+\t\t\tfilename = \"u-boot-spl-mkimage.bin\";\n+\t\t\tnxp,boot-from = \"sd\";\n+\t\t\tnxp,rom-version = <1>;\n+\t\t\tnxp,loader-address = <CONFIG_SPL_TEXT_BASE>;\n+\t\t\targs;\t/* Needed by mkimage etype superclass */\n \n-\t\t\t\t\tddr-1d-imem-fw {\n-\t\t\t\t\t\tfilename = \"lpddr4_pmu_train_1d_imem.bin\";\n-\t\t\t\t\t\talign-end = <4>;\n-\t\t\t\t\t\ttype = \"blob-ext\";\n-\t\t\t\t\t};\n+\t\t\tsection {\n+\t\t\t\talign = <4>;\n+\t\t\t\talign-size = <4>;\n+\t\t\t\tfilename = \"u-boot-spl-ddr.bin\";\n+\t\t\t\tpad-byte = <0xff>;\n \n-\t\t\t\t\tddr-1d-dmem-fw {\n-\t\t\t\t\t\tfilename = \"lpddr4_pmu_train_1d_dmem.bin\";\n-\t\t\t\t\t\talign-end = <4>;\n-\t\t\t\t\t\ttype = \"blob-ext\";\n-\t\t\t\t\t};\n+\t\t\t\tu-boot-spl {\n+\t\t\t\t\talign-end = <4>;\n+\t\t\t\t\tfilename = \"u-boot-spl.bin\";\n+\t\t\t\t};\n \n-\t\t\t\t\tddr-2d-imem-fw {\n-\t\t\t\t\t\tfilename = \"lpddr4_pmu_train_2d_imem.bin\";\n-\t\t\t\t\t\talign-end = <4>;\n-\t\t\t\t\t\ttype = \"blob-ext\";\n-\t\t\t\t\t};\n+\t\t\t\tddr-1d-imem-fw {\n+\t\t\t\t\tfilename = \"lpddr4_pmu_train_1d_imem.bin\";\n+\t\t\t\t\talign-end = <4>;\n+\t\t\t\t\ttype = \"blob-ext\";\n+\t\t\t\t};\n \n-\t\t\t\t\tddr-2d-dmem-fw {\n-\t\t\t\t\t\tfilename = \"lpddr4_pmu_train_2d_dmem.bin\";\n-\t\t\t\t\t\talign-end = <4>;\n-\t\t\t\t\t\ttype = \"blob-ext\";\n-\t\t\t\t\t};\n+\t\t\t\tddr-1d-dmem-fw {\n+\t\t\t\t\tfilename = \"lpddr4_pmu_train_1d_dmem.bin\";\n+\t\t\t\t\talign-end = <4>;\n+\t\t\t\t\ttype = \"blob-ext\";\n+\t\t\t\t};\n \n-\t\t\t\t\tsigned-hdmi-imx8m {\n-\t\t\t\t\t\tfilename = \"signed_hdmi_imx8m.bin\";\n-\t\t\t\t\t\ttype = \"blob-ext\";\n-\t\t\t\t\t};\n+\t\t\t\tddr-2d-imem-fw {\n+\t\t\t\t\tfilename = \"lpddr4_pmu_train_2d_imem.bin\";\n+\t\t\t\t\talign-end = <4>;\n+\t\t\t\t\ttype = \"blob-ext\";\n+\t\t\t\t};\n+\n+\t\t\t\tddr-2d-dmem-fw {\n+\t\t\t\t\tfilename = \"lpddr4_pmu_train_2d_dmem.bin\";\n+\t\t\t\t\talign-end = <4>;\n+\t\t\t\t\ttype = \"blob-ext\";\n \t\t\t\t};\n \t\t\t};\n+\t\t};\n #ifdef CONFIG_IMX_HAB\n \t\t};\n+#endif\n+\t};\n \n-\t\tnxp-imx8mcst@1 {\n-\t\t\tfilename = \"u-boot-fit.signed.bin\";\n-\t\t\tnxp,loader-address = <CONFIG_SPL_LOAD_FIT_ADDRESS>;\n-\t\t\toffset = <0x58000>;\n-\t\t\targs;\t/* Needed by mkimage etype superclass */\n+#ifdef CONFIG_IMX_HAB\n+\tnxp-imx8mcst@1 {\n+\t\tfilename = \"u-boot-fit.signed.bin\";\n+\t\tnxp,loader-address = <CONFIG_SPL_LOAD_FIT_ADDRESS>;\n+\t\toffset = <0x58400>;\n+\t\targs;\t/* Needed by mkimage etype superclass */\n #endif\n \n-\t\t\tbinman_imx_fit: fit {\n-\t\t\t\tdescription = \"Configuration to load ATF before U-Boot\";\n-\t\t\t\tfilename = \"u-boot.itb\";\n+\t\tbinman_imx_fit: fit {\n+\t\t\tdescription = \"Configuration to load ATF before U-Boot\";\n+\t\t\tfilename = \"u-boot.itb\";\n #ifndef CONFIG_IMX_HAB\n-\t\t\t\tfit,external-offset = <CONFIG_FIT_EXTERNAL_OFFSET>;\n+\t\t\tfit,external-offset = <CONFIG_FIT_EXTERNAL_OFFSET>;\n #endif\n-\t\t\t\t#address-cells = <1>;\n-\n-\t\t\t\toffset = <0x57c00>;\n-\n-\t\t\t\timages {\n-\t\t\t\t\tuboot {\n-\t\t\t\t\t\tarch = \"arm64\";\n-\t\t\t\t\t\tcompression = \"none\";\n-\t\t\t\t\t\tdescription = \"U-Boot (64-bit)\";\n-\t\t\t\t\t\tload = <CONFIG_TEXT_BASE>;\n-\t\t\t\t\t\ttype = \"standalone\";\n-\n-\t\t\t\t\t\tuboot-blob {\n-\t\t\t\t\t\t\tfilename = \"u-boot-nodtb.bin\";\n-\t\t\t\t\t\t\ttype = \"blob-ext\";\n-\t\t\t\t\t\t};\n+\t\t\t#address-cells = <1>;\n+\n+\t\t\toffset = <0x58000>;\n+\n+\t\t\timages {\n+\t\t\t\tuboot {\n+\t\t\t\t\tarch = \"arm64\";\n+\t\t\t\t\tcompression = \"none\";\n+\t\t\t\t\tdescription = \"U-Boot (64-bit)\";\n+\t\t\t\t\tload = <CONFIG_TEXT_BASE>;\n+\t\t\t\t\ttype = \"standalone\";\n+\n+\t\t\t\t\tuboot-blob {\n+\t\t\t\t\t\tfilename = \"u-boot-nodtb.bin\";\n+\t\t\t\t\t\ttype = \"blob-ext\";\n \t\t\t\t\t};\n+\t\t\t\t};\n \n #ifndef CONFIG_ARMV8_PSCI\n-\t\t\t\t\tatf {\n-\t\t\t\t\t\tarch = \"arm64\";\n-\t\t\t\t\t\tcompression = \"none\";\n-\t\t\t\t\t\tdescription = \"ARM Trusted Firmware\";\n-\t\t\t\t\t\tentry = <0x910000>;\n-\t\t\t\t\t\tload = <0x910000>;\n-\t\t\t\t\t\ttype = \"firmware\";\n-\n-\t\t\t\t\t\tatf-blob {\n-\t\t\t\t\t\t\tfilename = \"bl31.bin\";\n-\t\t\t\t\t\t\ttype = \"blob-ext\";\n-\t\t\t\t\t\t};\n+\t\t\t\tatf {\n+\t\t\t\t\tarch = \"arm64\";\n+\t\t\t\t\tcompression = \"none\";\n+\t\t\t\t\tdescription = \"ARM Trusted Firmware\";\n+\t\t\t\t\tentry = <0x910000>;\n+\t\t\t\t\tload = <0x910000>;\n+\t\t\t\t\ttype = \"firmware\";\n+\n+\t\t\t\t\tatf-blob {\n+\t\t\t\t\t\tfilename = \"bl31.bin\";\n+\t\t\t\t\t\ttype = \"blob-ext\";\n \t\t\t\t\t};\n+\t\t\t\t};\n #endif\n \n-\t\t\t\t\ttee: tee {\n-\t\t\t\t\t\tdescription = \"OP-TEE\";\n-\t\t\t\t\t\ttype = \"tee\";\n-\t\t\t\t\t\tarch = \"arm64\";\n-\t\t\t\t\t\tcompression = \"none\";\n-\t\t\t\t\t\tos = \"tee\";\n-\t\t\t\t\t\tload = <CONFIG_IMX8M_OPTEE_LOAD_ADDR>;\n-\t\t\t\t\t\tentry = <CONFIG_IMX8M_OPTEE_LOAD_ADDR>;\n-\n-\t\t\t\t\t\ttee-os {\n-\t\t\t\t\t\t\tfilename = \"tee.bin\";\n-\t\t\t\t\t\t\toptional;\n-\t\t\t\t\t\t};\n+\t\t\t\ttee: tee {\n+\t\t\t\t\tdescription = \"OP-TEE\";\n+\t\t\t\t\ttype = \"tee\";\n+\t\t\t\t\tarch = \"arm64\";\n+\t\t\t\t\tcompression = \"none\";\n+\t\t\t\t\tos = \"tee\";\n+\t\t\t\t\tload = <CONFIG_IMX8M_OPTEE_LOAD_ADDR>;\n+\t\t\t\t\tentry = <CONFIG_IMX8M_OPTEE_LOAD_ADDR>;\n+\n+\t\t\t\t\ttee-os {\n+\t\t\t\t\t\tfilename = \"tee.bin\";\n+\t\t\t\t\t\toptional;\n \t\t\t\t\t};\n+\t\t\t\t};\n \n-\t\t\t\t\tfdt {\n-\t\t\t\t\t\tcompression = \"none\";\n-\t\t\t\t\t\tdescription = \"NAME\";\n-\t\t\t\t\t\ttype = \"flat_dt\";\n+\t\t\t\tfdt {\n+\t\t\t\t\tcompression = \"none\";\n+\t\t\t\t\tdescription = \"NAME\";\n+\t\t\t\t\ttype = \"flat_dt\";\n \n-\t\t\t\t\t\tuboot-fdt-blob {\n-\t\t\t\t\t\t\tfilename = \"u-boot.dtb\";\n-\t\t\t\t\t\t\ttype = \"blob-ext\";\n-\t\t\t\t\t\t};\n+\t\t\t\t\tuboot-fdt-blob {\n+\t\t\t\t\t\tfilename = \"u-boot.dtb\";\n+\t\t\t\t\t\ttype = \"blob-ext\";\n \t\t\t\t\t};\n \t\t\t\t};\n+\t\t\t};\n \n-\t\t\t\tconfigurations {\n-\t\t\t\t\tdefault = \"conf\";\n+\t\t\tconfigurations {\n+\t\t\t\tdefault = \"conf\";\n \n-\t\t\t\t\tconf {\n-\t\t\t\t\t\tdescription = \"NAME\";\n-\t\t\t\t\t\tfdt = \"fdt\";\n-\t\t\t\t\t\tfirmware = \"uboot\";\n+\t\t\t\tconf {\n+\t\t\t\t\tdescription = \"NAME\";\n+\t\t\t\t\tfdt = \"fdt\";\n+\t\t\t\t\tfirmware = \"uboot\";\n #ifndef CONFIG_ARMV8_PSCI\n-\t\t\t\t\t\tloadables = \"atf\", \"tee\";\n+\t\t\t\t\tloadables = \"atf\", \"tee\";\n #endif\n-\t\t\t\t\t};\n \t\t\t\t};\n \t\t\t};\n-#ifdef CONFIG_IMX_HAB\n \t\t};\n-#endif\n+#ifdef CONFIG_IMX_HAB\n \t};\n+#endif\n };\ndiff --git a/doc/board/nxp/imx8mq_evk.rst b/doc/board/nxp/imx8mq_evk.rst\nindex 4b0624e7e86..4a9d9e404c5 100644\n--- a/doc/board/nxp/imx8mq_evk.rst\n+++ b/doc/board/nxp/imx8mq_evk.rst\n@@ -45,11 +45,11 @@ Build U-Boot\n    $ make imx8mq_evk_defconfig\n    $ make\n \n-Burn the flash.bin to MicroSD card offset 33KB:\n+Burn the flash.bin to MicroSD card offset 32KB:\n \n .. code-block:: bash\n \n-   $sudo dd if=flash.bin of=/dev/sd[x] bs=1024 seek=33 conv=notrunc\n+   $sudo dd if=flash.bin of=/dev/sd[x] bs=1024 seek=32 conv=notrunc\n \n Boot\n ----\ndiff --git a/drivers/ddr/imx/phy/helper.c b/drivers/ddr/imx/phy/helper.c\nindex b0dfc3a0b4f..147ec9ab061 100644\n--- a/drivers/ddr/imx/phy/helper.c\n+++ b/drivers/ddr/imx/phy/helper.c\n@@ -38,6 +38,8 @@ binman_sym_declare(ulong, ddr_2d_dmem_fw, image_pos);\n binman_sym_declare(ulong, ddr_2d_dmem_fw, size);\n #endif\n \n+binman_sym_declare(ulong, u_boot_spl, image_pos);\n+\n /* We need PHY iMEM PHY is 32KB padded */\n void ddr_load_train_firmware(enum fw_type type)\n {\n@@ -49,6 +51,7 @@ void ddr_load_train_firmware(enum fw_type type)\n \tunsigned long dmem_start;\n \tunsigned long imem_len = IMEM_LEN, dmem_len = DMEM_LEN;\n \tstatic enum fw_type last_type = -1;\n+\tunsigned long spl_start = 0;\n \n \t/* If FW doesn't change, we can save the loading. */\n \tif (last_type == type)\n@@ -67,6 +70,9 @@ void ddr_load_train_firmware(enum fw_type type)\n \tdmem_start = imem_start + imem_len;\n \n \tif (BINMAN_SYMS_OK) {\n+\t\tif (IS_ENABLED(CONFIG_IMX8MQ))\n+\t\t\tspl_start = binman_sym(ulong, u_boot_spl, image_pos);\n+\n \t\tswitch (type) {\n \t\tcase FW_1D_IMAGE:\n \t\t\timem_start = binman_sym(ulong, ddr_1d_imem_fw, image_pos);\n@@ -83,6 +89,13 @@ void ddr_load_train_firmware(enum fw_type type)\n #endif\n \t\t\tbreak;\n \t\t}\n+\n+\t\tif (IS_ENABLED(CONFIG_IMX8MQ)) {\n+\t\t\timem_start -= spl_start;\n+\t\t\timem_start += CONFIG_SPL_TEXT_BASE;\n+\t\t\tdmem_start -= spl_start;\n+\t\t\tdmem_start += CONFIG_SPL_TEXT_BASE;\n+\t\t}\n \t}\n \n \tpr_from32 = imem_start;\n",
    "prefixes": [
        "07/15"
    ]
}