From patchwork Sun Dec 28 15:08:14 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Dario Binacchi X-Patchwork-Id: 4394 Return-Path: X-Original-To: linux-amarula@patchwork.amarulasolutions.com Delivered-To: linux-amarula@patchwork.amarulasolutions.com Received: from mail-ed1-f71.google.com (mail-ed1-f71.google.com [209.85.208.71]) by ganimede.amarulasolutions.com (Postfix) with ESMTPS id 83FAF3F1D4 for ; Sun, 28 Dec 2025 16:09:02 +0100 (CET) Received: by mail-ed1-f71.google.com with SMTP id 4fb4d7f45d1cf-64b756e2fd1sf7423828a12.1 for ; Sun, 28 Dec 2025 07:09:02 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1766934542; cv=pass; d=google.com; s=arc-20240605; b=MuJy5KhiCiKh482LnYwzFujNiiYTtwK+Kf4OPt4BVBXsAGAmFmmV1SaXRZPVaQQIYw PCMwVKDDjA2ukVzMKB8F8d42zNdNon72GwU1G3CCb8SaSegHhH/k1GUeq0xYApI+oM+u js3L6qwONONSLxw1v80EeA6ENefjplDSYc0zGUpivu+ZetYc1JyGPK7qbp+FkySHY+BV jbkv+Mvz1s04ObQUwSbnQmu9AM5uRCVv9onhqtRvV7t96FLHQtPHuuHoZXUXERPWYBDU dyauJMH8Gt2CNT6qlekh+RNteZJZrXmbiLCmRWVa03AC7VmhF1vqgIkADO6klvDX5vY6 DXDQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=list-unsubscribe:list-archive:list-help:list-post:list-id :mailing-list:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=CmUdBUtJDU6qTrsXD4YN83nogd73IYWAWOtUfql9C4E=; fh=6vZ35yeNPq38BF+mlIjJ2eRPe6v8EzQ1ex34FGd9+/8=; b=lIM0gDJQ4IZ6p8sjElFj7MeOCxPYvk5nAseoeG+0Y2nkcQWNHnpQOriUgh77wBNO0W nPvQ79h0zzRL2gEAV3JKrHtii4pzmg8GatYxVsEM20y1kY6WSgJPv7NJdWm65Y6dRGAH W7icCuzVGGwaDwmSgWuAlHBz/CBrbHBmDrs7MLverTkL++nuiQT48Dqnso3yfaZb/Cxl MhriQ5Sjm2htEjtCWbIwuJ0G6wlaoQ8bRBqfUjxxpbFyyHod1hIp5BoCURgtQ/fGr5Cg fr1N5z0fnAO1fi9ZZYwYzMZPR1/I+eXqRDAccVkHcyk0DFLKFDyNtA/JpmLC53Hy28u8 2qcA==; darn=patchwork.amarulasolutions.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=fMkPIwq5; spf=pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=dario.binacchi@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com; dara=neutral header.i=@amarulasolutions.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; t=1766934542; x=1767539342; darn=patchwork.amarulasolutions.com; h=list-unsubscribe:list-archive:list-help:list-post:list-id :mailing-list:precedence:x-original-authentication-results :x-original-sender:content-transfer-encoding:mime-version:message-id :date:subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=CmUdBUtJDU6qTrsXD4YN83nogd73IYWAWOtUfql9C4E=; b=BYbs+YJcuENezsarakOnCjWx6Be98XOcdCuhbPbyXc0u8V5jl54SD+Vlh1G6yVIH5L BKGrBDQrlewFTxyFuj71k4wrdmbgcIngTsZzbWgh0pVa3kCPcA5ErB36myMfoRMwFU+Q lMwJnmej0QBwjDXGV4LZVE3okQZrjUuMhREi0= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766934542; x=1767539342; h=list-unsubscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence :x-original-authentication-results:x-original-sender :content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-beenthere:x-gm-message-state:from:to:cc:subject :date:message-id:reply-to; bh=CmUdBUtJDU6qTrsXD4YN83nogd73IYWAWOtUfql9C4E=; b=dLExjZx6xRtLXU1Hjj9su445uDDWxbWFlbrsMSpGoA5UbzxHl2AbQANjrtxR9lQza1 DL4o22d9v2V18pOJBzLNpH8HmcCcgRd5sGMLlFBeCsQR8OMAZVFtXSs5L0GzSEiJA21A PJdtw1n4HfGC4ad5K+3h5HPfc6l1PG2XROH/C1RCkI0HdNlpppsql9HErjhC/A3e7U7C WWoMkW3czRDfmtGquW5U6eRImpAznusgDIuQK2RelacvmzHXx+pLw9hG/MiV4iSLIHXF raaMfHH666Jz85kXjFTxmVXjpRCY7py7Mv1wy7709wGrWUlHzbXq4Mqs0x9v6usPPyp8 mFLg== X-Forwarded-Encrypted: i=2; AJvYcCV1x+/a80GoxyI7DC5vfzVB/Jz8wCcvxhnaQ0qugKlHudZINcuoEnEzgNpgQTtTy8Y6chp5tBd3m599rDlO@patchwork.amarulasolutions.com X-Gm-Message-State: AOJu0Yz1KHAOQe861/Arr4Jkz7C3C/ZMo3IokyQMrlAWZM+xGvVDfuvC UMiDcNpW6mXdBT1PeQuIs7lVjzAgKYXl9bN9wzfvAVYwDgTh9Y1/Om0XK3R8XqYueYxqcb31jpk MHw== X-Google-Smtp-Source: AGHT+IH9b2zor50898C/YKDG7o7Z8xW9Y7iP7bdAUSfVSXZGvWq31i4MHMwOM/C5p+JLhALcXX2lLw== X-Received: by 2002:a05:6402:4311:b0:64b:6e20:c92e with SMTP id 4fb4d7f45d1cf-64b8ea4b945mr26142157a12.10.1766934541725; Sun, 28 Dec 2025 07:09:01 -0800 (PST) X-BeenThere: linux-amarula@amarulasolutions.com; h="AWVwgWZckwkdLPl4WqB9SKSwy5uzaeP0b3m/zfHNkgky1UWAXg==" Received: by 2002:aa7:c88e:0:b0:641:6168:4680 with SMTP id 4fb4d7f45d1cf-64e809a2850ls652364a12.0.-pod-prod-02-eu; Sun, 28 Dec 2025 07:08:59 -0800 (PST) X-Received: by 2002:a05:6402:2345:b0:64b:5846:48bc with SMTP id 4fb4d7f45d1cf-64b8e94765cmr25733167a12.1.1766934539486; Sun, 28 Dec 2025 07:08:59 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1766934539; cv=none; d=google.com; s=arc-20240605; b=hOhxZREII6cgKUSl0T9a3en8XiF19FjlYIKxUWRx0nV8IZCVIFRz8pIOpzRyMWSJeS ATGUdLM1eX64L3Lr2N3/xyccMK8bQlTYrpDzU1H24MKUF73K8kheK/q6+7kuJ+N5rILz raG+7ZeM8Ro61aOolHJjiRnMaaKbeugJfkW1f2uQEnis0xP4+WvVjq9j9CNV7tZK0ZAE U7GoFr4/L66QyTDCUOSHvz4cLulbddRGAM/Qpc8teBFlH9GL7vYahSBYhKpsZESkrpv7 nEmzFAJ2ViZGKVllvPFUO465cIsfK3WHXdmqVBgqa1NoMVK5i61XIOGJ7snq2gPzsrkH Mj3Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:dkim-signature; bh=QdV98Lh2V4nNh/XTX3QeAlqNVCxsCWIqkbJ2eJwv54w=; fh=GQzIlNejbsm3OWgHXzaOol/Tuh62LSuIZd75v/imGio=; b=U9jfvQCOtIPmYbp7tYd3c2viBoun4pgLDHV5G2T2kmIvlBdkFl4txEA/Xw+4LvxA0h E5xWxYaQfW0bz7akyTJ1zsPOm7TpHvGrEaJhG7H5KrMoagU3RNJ3ESbB+AZkeHRnTxWh 2z94egZkfGtak++IG7ibgkgKruvocLrDsbcU2EF9bixhS4Y2hx/Rfv4cgaKAYspJ1Cq4 Wyyo1sAl5u7ES5D35GvDtlNbGBhAnCjwoBrffYvnaLWHVgv1SScXQU/45EqkbTMhzWcX 9PdpqPgC/kpJYHHL58UcjzHUjWkx7InTXuvk3CpsRrri/uqac7ZmR2vw64d66bhgv60j 5m/A==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=fMkPIwq5; spf=pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=dario.binacchi@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com; dara=neutral header.i=@amarulasolutions.com Received: from mail-sor-f41.google.com (mail-sor-f41.google.com. [209.85.220.41]) by mx.google.com with SMTPS id 4fb4d7f45d1cf-64b5e8e6965sor5932365a12.14.2025.12.28.07.08.59 for (Google Transport Security); Sun, 28 Dec 2025 07:08:59 -0800 (PST) Received-SPF: pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) client-ip=209.85.220.41; X-Gm-Gg: AY/fxX5ra2oh5J4XM417b7qGFahUEnceqMIxSjyL6KjRjjeBnxU3zbbyTC7a5pOiCxf bCAVYQnHXCsne9N+1yverkjMUAoJoWx2IS64iT39In9Nu4NKr7ZJHw7jb+y/FnaV16iAtfWoA+Y yjAcPC8yHdt2xWbG97nwO3dI6MIka8oPibdbyFrN2HHkOD2AkuXMRCctQ1h68vcTAjpiSZt6N6Z S0/vzz/HxEthZvVFZxZAtZEJlmfFBXcucPs0zGxh1MnfsMjzZXfkahWHCYpELx0pFdkFKEGIF0Q c0PX/fcWryAiJeXYFjgtwP8RlTNH829DvCea8dpxBVz3zLhV2uzuo4g5fQGl6BKLuJOzNeOK6Nb rkcVg0BeOX62kTa8Sx1idIKIT8IJIMNSFke6iZTZVV9kuNqZjy+ssdmT0NDnSpOYPN99gOoRC/3 ABU1dKcMEO5RsjJx5TvTkAWvN4i04FOejEbGwALe0M6dI4MLsXr+7I8RaLHiPBZvCOMTgcHD9sq FSqi1EVFG2acO+aGdy/5mugBEdWwdgz5EylMaicGkiaVsx0VDY9g1fkYPfkjh3Bw0kE1AtIBo0A 7ohzFKHlyZc= X-Received: by 2002:a05:6402:535b:20b0:64c:62f7:1ac4 with SMTP id 4fb4d7f45d1cf-64c62f71cb9mr19426440a12.32.1766934538911; Sun, 28 Dec 2025 07:08:58 -0800 (PST) Received: from dario-ThinkPad-P14s-Gen-5.homenet.telecomitalia.it (host-95-248-31-95.retail.telecomitalia.it. [95.248.31.95]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-64b91599844sm28835422a12.25.2025.12.28.07.08.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 28 Dec 2025 07:08:58 -0800 (PST) From: Dario Binacchi To: u-boot@lists.denx.de Cc: linux-amarula@amarulasolutions.com, Dario Binacchi , Marek Vasut , Patrice Chotard , Patrick Delaunay , Tom Rini , uboot-stm32@st-md-mailman.stormreply.com Subject: [PATCH] board: stm32mp2: read boot index from backup register Date: Sun, 28 Dec 2025 16:08:14 +0100 Message-ID: <20251228150844.24753-1-dario.binacchi@amarulasolutions.com> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" X-Original-Sender: dario.binacchi@amarulasolutions.com X-Original-Authentication-Results: mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=fMkPIwq5; spf=pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=dario.binacchi@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com; dara=neutral header.i=@amarulasolutions.com Precedence: list Mailing-list: list linux-amarula@amarulasolutions.com; contact linux-amarula+owners@amarulasolutions.com List-ID: X-Spam-Checked-In-Group: linux-amarula@amarulasolutions.com X-Google-Group-Id: 476853432473 List-Post: , List-Help: , List-Archive: List-Unsubscribe: , Following the commit 95b5a7de30f6 (“FWU: STM32MP1: Add support to read boot index from backup register”), this patch enables reading the boot index from backup registers on STM32MP2 platforms. Signed-off-by: Dario Binacchi --- arch/arm/mach-stm32mp/include/mach/stm32.h | 4 ++++ board/st/stm32mp2/stm32mp2.c | 21 +++++++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/arch/arm/mach-stm32mp/include/mach/stm32.h b/arch/arm/mach-stm32mp/include/mach/stm32.h index 2bf50c755cbd..90f06a052d3f 100644 --- a/arch/arm/mach-stm32mp/include/mach/stm32.h +++ b/arch/arm/mach-stm32mp/include/mach/stm32.h @@ -188,8 +188,12 @@ enum forced_boot_mode { /* TAMP registers x = 0 to 127 : hardcoded description, waiting NVMEM node in DT */ #define TAMP_BACKUP_REGISTER(x) (STM32_TAMP_BASE + 0x100 + 4 * (x)) +#define TAMP_FWU_BOOT_INFO_REG TAMP_BACKUP_REGISTER(48) /* TAMP registers zone 3 RIF 1 (RW) at 96*/ #define TAMP_BOOT_CONTEXT TAMP_BACKUP_REGISTER(96) + +#define TAMP_FWU_BOOT_IDX_MASK GENMASK(3, 0) +#define TAMP_FWU_BOOT_IDX_OFFSET 0 #endif /* defined(CONFIG_STM32MP23X) || defined(CONFIG_STM32MP25X) */ /* offset used for BSEC driver: misc_read and misc_write */ diff --git a/board/st/stm32mp2/stm32mp2.c b/board/st/stm32mp2/stm32mp2.c index a72056e12d63..101f1a494108 100644 --- a/board/st/stm32mp2/stm32mp2.c +++ b/board/st/stm32mp2/stm32mp2.c @@ -224,3 +224,24 @@ void board_quiesce_devices(void) { setup_led(LEDST_OFF); } + +#if defined(CONFIG_FWU_MULTI_BANK_UPDATE) + +#include + +/** + * fwu_plat_get_bootidx() - Get the value of the boot index + * @boot_idx: Boot index value + * + * Get the value of the bank(partition) from which the platform + * has booted. This value is passed to U-Boot from the earlier + * stage bootloader which loads and boots all the relevant + * firmware images + * + */ +void fwu_plat_get_bootidx(uint *boot_idx) +{ + *boot_idx = (readl(TAMP_FWU_BOOT_INFO_REG) >> + TAMP_FWU_BOOT_IDX_OFFSET) & TAMP_FWU_BOOT_IDX_MASK; +} +#endif /* CONFIG_FWU_MULTI_BANK_UPDATE */