From: Ahmad Fatoum <a.fatoum@pengutronix.de>
To: barebox@lists.infradead.org
Cc: Robin van der Gracht <robin@protonic.nl>,
Ahmad Fatoum <a.fatoum@pengutronix.de>
Subject: [PATCH 7/7] ARM: stm32mp: retire non-FIP stm32mp_bbu_mmc_register_handler
Date: Wed, 9 Apr 2025 16:01:35 +0200 [thread overview]
Message-ID: <20250409140134.2079552-8-a.fatoum@pengutronix.de> (raw)
In-Reply-To: <20250409140134.2079552-1-a.fatoum@pengutronix.de>
FIP images have been the only supported SSBL format by TF-A for more
2.5 years now.
In preparation for dropping support for the old SSBL format with STM32
header, switch all update handlers to operate on FIP images instead.
The handler will automatically look for a fip GPT partition on SD.
Cc: Robin van der Gracht <robin@protonic.nl>
Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
---
arch/arm/boards/lxa-mc1/board.c | 4 ++--
arch/arm/boards/phytec-phycore-stm32mp1/board.c | 2 +-
arch/arm/boards/protonic-stm32mp1/board.c | 16 +++++++++-------
arch/arm/boards/protonic-stm32mp13/board.c | 16 +++++++++-------
arch/arm/boards/seeed-odyssey/board.c | 4 ++--
arch/arm/boards/stm32mp15x-ev1/board.c | 4 ++--
arch/arm/boards/stm32mp15xx-dkx/board.c | 4 ++--
include/mach/stm32mp/bbu.h | 8 --------
8 files changed, 27 insertions(+), 31 deletions(-)
diff --git a/arch/arm/boards/lxa-mc1/board.c b/arch/arm/boards/lxa-mc1/board.c
index 8be265b0fca0..0071a10a4696 100644
--- a/arch/arm/boards/lxa-mc1/board.c
+++ b/arch/arm/boards/lxa-mc1/board.c
@@ -35,10 +35,10 @@ static int mc1_probe(struct device *dev)
int flags;
flags = bootsource_get_instance() == 0 ? BBU_HANDLER_FLAG_DEFAULT : 0;
- stm32mp_bbu_mmc_register_handler("sd", "/dev/mmc0.ssbl", flags);
+ stm32mp_bbu_mmc_fip_register("sd", "/dev/mmc0", flags);
flags = bootsource_get_instance() == 1 ? BBU_HANDLER_FLAG_DEFAULT : 0;
- stm32mp_bbu_mmc_register_handler("emmc", "/dev/mmc1.ssbl", flags);
+ stm32mp_bbu_mmc_fip_register("emmc", "/dev/mmc1", flags);
if (bootsource_get_instance() == 0) {
diff --git a/arch/arm/boards/phytec-phycore-stm32mp1/board.c b/arch/arm/boards/phytec-phycore-stm32mp1/board.c
index 6690e36ca718..61eb9f424a03 100644
--- a/arch/arm/boards/phytec-phycore-stm32mp1/board.c
+++ b/arch/arm/boards/phytec-phycore-stm32mp1/board.c
@@ -16,7 +16,7 @@ static int phycore_stm32mp1_probe(struct device *dev)
emmc_bbu_flags = BBU_HANDLER_FLAG_DEFAULT;
}
- stm32mp_bbu_mmc_register_handler("sd", "/dev/mmc0.ssbl", sd_bbu_flags);
+ stm32mp_bbu_mmc_fip_register("sd", "/dev/mmc0", sd_bbu_flags);
stm32mp_bbu_mmc_fip_register("emmc", "/dev/mmc1", emmc_bbu_flags);
barebox_set_hostname("phyCORE-STM32MP1");
diff --git a/arch/arm/boards/protonic-stm32mp1/board.c b/arch/arm/boards/protonic-stm32mp1/board.c
index 9116876ad59f..bc5abe2a47e8 100644
--- a/arch/arm/boards/protonic-stm32mp1/board.c
+++ b/arch/arm/boards/protonic-stm32mp1/board.c
@@ -55,7 +55,7 @@ static const struct prt_stm32_boot_dev prt_stm32_boot_devs[] = {
{
.name = "emmc",
.env = "/chosen/environment-emmc",
- .dev = "/dev/mmc1.ssbl",
+ .dev = "/dev/mmc1",
.flags = PRT_STM32_BOOTSRC_EMMC,
.boot_src = BOOTSOURCE_MMC,
.boot_idx = 1,
@@ -71,7 +71,7 @@ static const struct prt_stm32_boot_dev prt_stm32_boot_devs[] = {
* list. */
.name = "sd",
.env = "/chosen/environment-sd",
- .dev = "/dev/mmc0.ssbl",
+ .dev = "/dev/mmc0",
.flags = PRT_STM32_BOOTSRC_SD,
.boot_src = BOOTSOURCE_MMC,
.boot_idx = 0,
@@ -275,11 +275,13 @@ static int prt_stm32_probe(struct device *dev)
env_path = bd->env;
}
- ret = stm32mp_bbu_mmc_register_handler(bd->name, bd->dev,
- bbu_flags);
- if (ret < 0)
- dev_warn(dev, "Failed to enable %s bbu (%pe)\n",
- bd->name, ERR_PTR(ret));
+ if (bd->boot_src == BOOTSOURCE_MMC) {
+ ret = stm32mp_bbu_mmc_fip_register(bd->name, bd->dev,
+ bbu_flags);
+ if (ret < 0)
+ dev_warn(dev, "Failed to enable %s bbu (%pe)\n",
+ bd->name, ERR_PTR(ret));
+ }
}
if (!env_path)
diff --git a/arch/arm/boards/protonic-stm32mp13/board.c b/arch/arm/boards/protonic-stm32mp13/board.c
index fe251b9e7764..19f21a00b6b1 100644
--- a/arch/arm/boards/protonic-stm32mp13/board.c
+++ b/arch/arm/boards/protonic-stm32mp13/board.c
@@ -51,7 +51,7 @@ static const struct prt_stm32_boot_dev prt_stm32_boot_devs[] = {
{
.name = "emmc",
.env = "/chosen/environment-emmc",
- .dev = "/dev/mmc1.ssbl",
+ .dev = "/dev/mmc1",
.flags = PRT_STM32_BOOTSRC_EMMC,
.boot_src = BOOTSOURCE_MMC,
.boot_idx = 1,
@@ -68,7 +68,7 @@ static const struct prt_stm32_boot_dev prt_stm32_boot_devs[] = {
*/
.name = "sd",
.env = "/chosen/environment-sd",
- .dev = "/dev/mmc0.ssbl",
+ .dev = "/dev/mmc0",
.flags = PRT_STM32_BOOTSRC_SD,
.boot_src = BOOTSOURCE_MMC,
.boot_idx = 0,
@@ -256,11 +256,13 @@ static int prt_stm32_probe(struct device *dev)
env_path = bd->env;
}
- ret = stm32mp_bbu_mmc_register_handler(bd->name, bd->dev,
- bbu_flags);
- if (ret < 0)
- dev_warn(dev, "Failed to enable %s bbu (%pe)\n",
- bd->name, ERR_PTR(ret));
+ if (bd->boot_src == BOOTSOURCE_MMC) {
+ ret = stm32mp_bbu_mmc_fip_register(bd->name, bd->dev,
+ bbu_flags);
+ if (ret < 0)
+ dev_warn(dev, "Failed to enable %s bbu (%pe)\n",
+ bd->name, ERR_PTR(ret));
+ }
}
if (!env_path)
diff --git a/arch/arm/boards/seeed-odyssey/board.c b/arch/arm/boards/seeed-odyssey/board.c
index 5befd3266475..683afe9aadda 100644
--- a/arch/arm/boards/seeed-odyssey/board.c
+++ b/arch/arm/boards/seeed-odyssey/board.c
@@ -13,10 +13,10 @@ static int odyssey_som_probe(struct device *dev)
int instance = bootsource_get_instance();
flags = instance == 0 ? BBU_HANDLER_FLAG_DEFAULT : 0;
- stm32mp_bbu_mmc_register_handler("sd", "/dev/mmc0.ssbl", flags);
+ stm32mp_bbu_mmc_fip_register("sd", "/dev/mmc0", flags);
flags = instance == 1 ? BBU_HANDLER_FLAG_DEFAULT : 0;
- stm32mp_bbu_mmc_register_handler("emmc", "/dev/mmc1.ssbl", flags);
+ stm32mp_bbu_mmc_fip_register("emmc", "/dev/mmc1", flags);
if (instance == 0)
diff --git a/arch/arm/boards/stm32mp15x-ev1/board.c b/arch/arm/boards/stm32mp15x-ev1/board.c
index fd58e2817b0b..68f63d558780 100644
--- a/arch/arm/boards/stm32mp15x-ev1/board.c
+++ b/arch/arm/boards/stm32mp15x-ev1/board.c
@@ -11,10 +11,10 @@ static int ed1_probe(struct device *dev)
int flags;
flags = bootsource_get_instance() == 0 ? BBU_HANDLER_FLAG_DEFAULT : 0;
- stm32mp_bbu_mmc_register_handler("sd", "/dev/mmc0.ssbl", flags);
+ stm32mp_bbu_mmc_fip_register("sd", "/dev/mmc0", flags);
flags = bootsource_get_instance() == 1 ? BBU_HANDLER_FLAG_DEFAULT : 0;
- stm32mp_bbu_mmc_register_handler("emmc", "/dev/mmc1.ssbl", flags);
+ stm32mp_bbu_mmc_fip_register("emmc", "/dev/mmc1", flags);
if (bootsource_get_instance() == 0)
of_device_enable_path("/chosen/environment-sd");
diff --git a/arch/arm/boards/stm32mp15xx-dkx/board.c b/arch/arm/boards/stm32mp15xx-dkx/board.c
index 1783c5ca17af..9f005ec1091f 100644
--- a/arch/arm/boards/stm32mp15xx-dkx/board.c
+++ b/arch/arm/boards/stm32mp15xx-dkx/board.c
@@ -8,8 +8,8 @@ static int dkx_probe(struct device *dev)
{
const void *model;
- stm32mp_bbu_mmc_register_handler("sd", "/dev/mmc0.ssbl",
- BBU_HANDLER_FLAG_DEFAULT);
+ stm32mp_bbu_mmc_fip_register("sd", "/dev/mmc0",
+ BBU_HANDLER_FLAG_DEFAULT);
if (dev_get_drvdata(dev, &model) == 0)
barebox_set_model(model);
diff --git a/include/mach/stm32mp/bbu.h b/include/mach/stm32mp/bbu.h
index b469cdeb7c93..233bcf647839 100644
--- a/include/mach/stm32mp/bbu.h
+++ b/include/mach/stm32mp/bbu.h
@@ -5,14 +5,6 @@
#include <bbu.h>
-static inline int stm32mp_bbu_mmc_register_handler(const char *name,
- const char *devicefile,
- unsigned long flags)
-{
- return bbu_register_std_file_update(name, flags, devicefile,
- filetype_stm32_image_ssbl_v1);
-}
-
#ifdef CONFIG_BAREBOX_UPDATE
int stm32mp_bbu_mmc_fip_register(const char *name, const char *devicefile,
--
2.39.5
prev parent reply other threads:[~2025-04-09 14:40 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-09 14:01 [PATCH 0/7] ARM: add support for chainloading barebox inside FIP images Ahmad Fatoum
2025-04-09 14:01 ` [PATCH 1/7] fip: add struct fip_image_desc::private_data Ahmad Fatoum
2025-04-09 14:01 ` [PATCH 2/7] fip: mark predefined toc_entries array const Ahmad Fatoum
2025-04-09 14:01 ` [PATCH 3/7] bootm: implement UIMAGE_IS_ADDRESS_VALID helper Ahmad Fatoum
2025-04-09 14:01 ` [PATCH 4/7] ARM: legacy: make architecture number unsigned Ahmad Fatoum
2025-04-09 14:01 ` [PATCH 5/7] ARM: introduce jump_to_linux helper Ahmad Fatoum
2025-04-09 14:01 ` [PATCH 6/7] ARM: add support for chainloading barebox inside FIP images Ahmad Fatoum
2025-04-09 14:01 ` Ahmad Fatoum [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250409140134.2079552-8-a.fatoum@pengutronix.de \
--to=a.fatoum@pengutronix.de \
--cc=barebox@lists.infradead.org \
--cc=robin@protonic.nl \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox