[PATCH 7/7] ARM: stm32mp: retire non-FIP stm32mp_bbu_mmc_register_handler
Ahmad Fatoum
a.fatoum at pengutronix.de
Wed Apr 9 07:01:35 PDT 2025
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 at protonic.nl>
Signed-off-by: Ahmad Fatoum <a.fatoum at 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
More information about the barebox
mailing list