Cover Letter Detail
Show a cover letter.
GET /api/covers/2219749/?format=api
{ "id": 2219749, "url": "http://patchwork.ozlabs.org/api/covers/2219749/?format=api", "web_url": "http://patchwork.ozlabs.org/project/uboot/cover/20260404-qcom_spl-v1-0-9e6c2ac66587@seznam.cz/", "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": "<20260404-qcom_spl-v1-0-9e6c2ac66587@seznam.cz>", "list_archive_url": null, "date": "2026-04-03T23:18:15", "name": "[0/5] Add SPL support for Qualcomm platforms, starting with sdm845", "submitter": { "id": 77645, "url": "http://patchwork.ozlabs.org/api/people/77645/?format=api", "name": "Michael Srba", "email": "michael.srba@seznam.cz" }, "mbox": "http://patchwork.ozlabs.org/project/uboot/cover/20260404-qcom_spl-v1-0-9e6c2ac66587@seznam.cz/mbox/", "series": [ { "id": 498699, "url": "http://patchwork.ozlabs.org/api/series/498699/?format=api", "web_url": "http://patchwork.ozlabs.org/project/uboot/list/?series=498699", "date": "2026-04-03T23:18:18", "name": "Add SPL support for Qualcomm platforms, starting with sdm845", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/498699/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/covers/2219749/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 secure) header.d=seznam.cz header.i=@seznam.cz header.a=rsa-sha256\n header.s=szn1 header.b=SUNnaknF;\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=seznam.cz", "phobos.denx.de;\n spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de", "phobos.denx.de;\n\tdkim=pass (2048-bit key;\n secure) header.d=seznam.cz header.i=@seznam.cz header.b=\"SUNnaknF\";\n\tdkim-atps=neutral", "phobos.denx.de;\n dmarc=pass (p=none dis=none) header.from=seznam.cz", "phobos.denx.de;\n spf=pass smtp.mailfrom=michael.srba@seznam.cz" ], "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 4fnm362vMRz1yCs\n\tfor <incoming@patchwork.ozlabs.org>; Sat, 04 Apr 2026 17:32:02 +1100 (AEDT)", "from h2850616.stratoserver.net (localhost [IPv6:::1])\n\tby phobos.denx.de (Postfix) with ESMTP id 8294384180;\n\tSat, 4 Apr 2026 08:31:21 +0200 (CEST)", "by phobos.denx.de (Postfix, from userid 109)\n id 0B94984132; Sat, 4 Apr 2026 01:19:38 +0200 (CEST)", "from mxd-1-a04.seznam.cz (mxd-1-a04.seznam.cz\n [IPv6:2a02:598:128:8a00::1000:a04])\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 EB6B9807C0\n for <u-boot@lists.denx.de>; Sat, 4 Apr 2026 01:19:33 +0200 (CEST)", "from email.seznam.cz by smtpc-mxd-7644845457-4tx79\n (smtpc-mxd-7644845457-4tx79 [2a02:598:128:8a00::1000:a04])\n id 241991237f17c54a25b05d7d; Sat, 04 Apr 2026 01:18:42 +0200 (CEST)", "from [127.0.0.1] (ip-111-27.static.ccinternet.cz [147.161.27.111])\n by smtpd-relay-789d8dfb5c-z7n27 (szn-email-smtpd/2.0.71) with ESMTPA\n id 1b7959c0-ce5b-4dbe-bf39-113a3a0e2253;\n Sat, 04 Apr 2026 01:18:28 +0200" ], "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,FREEMAIL_FROM,\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; d=seznam.cz; s=szn1;\n t=1775258322; bh=XLKn1i+bNOWsMbz4XTfkf0NDUc7kl447vME44vPNpVA=;\n h=From:Subject:Date:Message-Id:MIME-Version:Content-Type:\n Content-Transfer-Encoding:To:Cc;\n b=SUNnaknFnsiU/90hNGUyXolUhvnPmSvggaqODVT42FlxxhlOCE/RtDimBNpSKsoyQ\n C9hHOL0hFi3D018UTW5oH3EkZyw8fTU14KEa1SvwB10u9hLnKUrTeAyw8tgzxX453L\n zJZYUhW4I/YVSTtvNwlz8qYz2aUjyEdz0GJAOO9BJqoXkzNAGK5vAJaaVhhaJA+bGh\n +l8SjkhHTGY1rMOwBX5bRqS5+Mu3o4yeyfsq4AOHKIn4FRSwSqZDO6VZRp1cy0W/KE\n smROJjsC3dAmtZbbVX+HZTvuMCFhxJlWL7P2wkp0NDFaNgEXdOhYy/w7xXxf7SstDP\n Qtq6TVQ7py2lA==", "From": "michael.srba@seznam.cz", "Subject": "[PATCH 0/5] Add SPL support for Qualcomm platforms, starting with\n sdm845", "Date": "Sat, 04 Apr 2026 01:18:15 +0200", "Message-Id": "<20260404-qcom_spl-v1-0-9e6c2ac66587@seznam.cz>", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=\"utf-8\"", "Content-Transfer-Encoding": "7bit", "X-B4-Tracking": "v=1; b=H4sIALdK0GkC/yXM7QpAQBCF4VvR/La11ia5FUlrDUY+d5CSe7f4+\n dR7zgWMjpAhCy5weBDTPHlEYQC2M1OLgmpvUFIlUstYrHYeS14GIVOVpDqujI4s+Hxx2ND5XeX\n Fb96rHu327uG+H9jU73FsAAAA", "X-Change-ID": "20260403-qcom_spl-0826843ba41c", "To": "u-boot@lists.denx.de, Sumit Garg <sumit.garg@kernel.org>,\n u-boot-qcom@groups.io", "Cc": "Tom Rini <trini@konsulko.com>,\n Ilias Apalodimas <ilias.apalodimas@linaro.org>,\n Simon Glass <sjg@chromium.org>, Sughosh Ganu <sughosh.ganu@arm.com>,\n Anshul Dalal <anshuld@ti.com>, Peng Fan <peng.fan@nxp.com>,\n Mattijs Korpershoek <mkorpershoek@kernel.org>,\n Quentin Schulz <quentin.schulz@cherry.de>,\n Heinrich Schuchardt <xypron.glpk@gmx.de>, Andrew Davis <afd@ti.com>,\n Hrushikesh Salunke <h-salunke@ti.com>,\n Dario Binacchi <dario.binacchi@amarulasolutions.com>, Ye Li <ye.li@nxp.com>,\n Andre Przywara <andre.przywara@arm.com>,\n Alif Zakuan Yuslaimi <alif.zakuan.yuslaimi@altera.com>,\n Leo Yu-Chi Liang <ycliang@andestech.com>,\n Andrew Goodbody <andrew.goodbody@linaro.org>, Dhruva Gole <d-gole@ti.com>,\n Kaustabh Chakraborty <kauschluss@disroot.org>,\n Jerome Forissier <jerome.forissier@arm.com>,\n Heiko Schocher <hs@nabladev.com>,\n Marek Vasut <marek.vasut+renesas@mailbox.org>,\n Lukasz Majewski <lukma@denx.de>,\n Mateusz Kulikowski <mateusz.kulikowski@gmail.com>,\n Dinesh Maniyam <dinesh.maniyam@altera.com>,\n Neil Armstrong <neil.armstrong@linaro.org>,\n Patrice Chotard <patrice.chotard@foss.st.com>,\n Patrick Delaunay <patrick.delaunay@foss.st.com>,\n Michal Simek <michal.simek@amd.com>, Yao Zi <me@ziyao.cc>,\n Peter Korsgaard <peter@korsgaard.com>,\n Rayagonda Kokatanur <rayagonda.kokatanur@broadcom.com>,\n Casey Connolly <casey.connolly@linaro.org>,\n Tingting Meng <tingting.meng@altera.com>,\n Tien Fong Chee <tien.fong.chee@altera.com>, Alice Guo <alice.guo@nxp.com>,\n George Chan <gchan9527@gmail.com>,\n Balaji Selvanathan <balaji.selvanathan@oss.qualcomm.com>,\n Michael Srba <Michael.Srba@seznam.cz>", "X-Mailer": "b4 0.15.1", "X-Mailman-Approved-At": "Sat, 04 Apr 2026 08:31:19 +0200", "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": "[ context ]\n\nDifferent generations of Qualcomm SoCs have differences in the boot\nprocess. msm8916 (and similar) are quite straightforward:\n[EL3]bootrom->sbl1->tz->[EL2]hyp->[EL1]aboot->linux (omitting non-AP\ncores). msm8998, sdm845, kodiak and simiar are a bit more involved:\n[EL3]bootrom->xbl_sec->[EL1]xbl_loader->[EL3]tz->[EL2]hyp->[EL1]uefi\n->ABL->linux. Newer platforms like hamoa are even more involved.\n\nCurrently, u-boot proper can run in place of Linux, in place\nof aboot, or in place of hyp. The option to run in place\nof Linux is necessary because >99% of OEMs do not consider\nthe sale of a device to an end user a transfer of ownership,\nthat is, they sell the device with a hash of their public key\npre-burnt in the fuses.\n\n[ end of context ]\n\nU-Boot SPL, as it will be built using the defconfig added in this series,\nreplaces xbl_loader. If support for msm8916 or a similar platform\nis added, it would replace sbl1. This will obviously only work on\nthe <1% of devices whose manufacturers consider the sale a transfer\nof ownership, and of course most SBCs.\n\nUnfortunately, starting with (iirc) msm8998, and getting progressively\nworse, Qualcomm no longer consider a sale of their SoC a transfer\nof ownership either. While it's possible to execute your code\nin EL3 using either jtag or a patched devcfg, the former is impractical\nwhile the latter is irrelevant for the purposes of running u-boot SPL\nsince the devcfg is parsed by trustzone. (this of course only applies\nto the <1% of the devices where the OEM didn't lock the device down\nprior to sale)\n\nGiven the above, this series uses an unintended feature in old builds\nof xbl_sec which allows us to elevate to EL3. We also check if we\nhappen to already be running in EL3, in which case we proceed normally.\nThis can be the case e.g if JTAG was used to jump to u-boot SPL in EL3,\nwhich may be the only option on e.g. kodiak. (Running in EL1 is not\nreally viable, because xbl_sec+xbl_loader are effectively sbl1 split\nin half and replacing only one doesn't make much sense)\n\nFor now, only usb dfu is supported to load the next stage. Since we\ndon't support ram initialization, the next stage will need to run from\nSRAM too, which is currently not supported. Additional patches will\nbe needed to make that work, at which point it will be possible\nto use u-boot as a ufs/emmc programmer with zero proprietary code\nin the boot chain (sans bootrom and part of xbl_sec, but the latter and\ntechnically even the former could be skipped with JTAG)\n\nSigned-off-by: Michael Srba <Michael.Srba@seznam.cz>\n---\nMichael Srba (5):\n Makefile: add SPL_REMAKE_ELF_LDSCRIPT feature\n of_live: support in SPL\n drivers: allow clk_stub and spmi in SPL\n mach-snapdragon: support building SPL\n dts: add empty .dtsi for shift-axolotl\n\n Makefile | 23 ++++\n arch/arm/Kconfig | 6 +-\n arch/arm/dts/sdm845-shift-axolotl-u-boot.dtsi | 4 +\n arch/arm/dts/sdm845-u-boot.dtsi | 16 +++\n arch/arm/mach-snapdragon/Kconfig | 98 +++++++++++++++-\n arch/arm/mach-snapdragon/board.c | 26 +++++\n arch/arm/mach-snapdragon/include/mach/boot0.h | 61 ++--------\n .../mach-snapdragon/include/mach/msm8916_boot0.h | 54 +++++++++\n .../include/mach/sdm845_spl_boot0.h | 120 +++++++++++++++++++\n arch/arm/mach-snapdragon/u-boot-spl-elf-sdm845.lds | 25 ++++\n board/qualcomm/sdm845_spl.env | 1 +\n common/spl/Kconfig | 6 +\n common/spl/spl.c | 10 ++\n configs/sdm845_spl_defconfig | 130 +++++++++++++++++++++\n doc/board/qualcomm/index.rst | 1 +\n doc/board/qualcomm/spl.rst | 70 +++++++++++\n drivers/Makefile | 2 +-\n drivers/clk/Kconfig | 6 +\n drivers/spmi/Kconfig | 6 +\n dts/Kconfig | 5 +\n lib/Makefile | 2 +-\n 21 files changed, 616 insertions(+), 56 deletions(-)\n---\nbase-commit: 4dc4080805fac1b1ed7606ce3bc8fb44a6d59d5e\nchange-id: 20260403-qcom_spl-0826843ba41c\n\nBest regards,\n-- \nMichael Srba <Michael.Srba@seznam.cz>" }