summaryrefslogtreecommitdiff
path: root/arch/arm/mach-imx
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2026-03-02 13:44:46 -0600
committerTom Rini <trini@konsulko.com>2026-03-02 13:44:46 -0600
commitc0ca147ac6228949a6d6497531c9f2f4a0dc6c67 (patch)
tree203dffa4165dbe5c98fb0e2a4594185782d53dbb /arch/arm/mach-imx
parentf6963fc232603007c661411fb31c57f1a9678a87 (diff)
parent56e5f5290f2daf886bf6306f426cbb1171deac01 (diff)
Merge tag 'u-boot-imx-next-20260228' of https://gitlab.denx.de/u-boot/custodians/u-boot-imx into nextnext
CI: https://source.denx.de/u-boot/custodians/u-boot-imx/-/pipelines/29404 - Miscelanous improvements for Siemens Capricorn board. - Convert i.MX6 IPUv3 driver to use clock framework. - Skip voltage switching for fixed 1.8V regulator on fsl_esdhc_imx. - Support printing imx8m pinmux. - Enter fastboot on USB boot by default on phycore-imx93. - Use arch override for env_get_location() on imx95.
Diffstat (limited to 'arch/arm/mach-imx')
-rw-r--r--arch/arm/mach-imx/cpu.c3
-rw-r--r--arch/arm/mach-imx/imx8/misc.c33
-rw-r--r--arch/arm/mach-imx/imx9/scmi/soc.c2
3 files changed, 36 insertions, 2 deletions
diff --git a/arch/arm/mach-imx/cpu.c b/arch/arm/mach-imx/cpu.c
index 20c741283cd..8af45e14707 100644
--- a/arch/arm/mach-imx/cpu.c
+++ b/arch/arm/mach-imx/cpu.c
@@ -310,7 +310,8 @@ void arch_preboot_os(void)
/* disable video before launching O/S */
rc = uclass_find_first_device(UCLASS_VIDEO, &dev);
while (!rc && dev) {
- ipuv3_fb_shutdown(dev);
+ if (device_active(dev))
+ ipuv3_fb_shutdown(dev);
uclass_find_next_device(&dev);
}
#endif
diff --git a/arch/arm/mach-imx/imx8/misc.c b/arch/arm/mach-imx/imx8/misc.c
index c77104d0338..22d6959f74f 100644
--- a/arch/arm/mach-imx/imx8/misc.c
+++ b/arch/arm/mach-imx/imx8/misc.c
@@ -1,4 +1,6 @@
// SPDX-License-Identifier: GPL-2.0+
+#include <command.h>
+#include <env.h>
#include <log.h>
#include <firmware/imx/sci/sci.h>
#include <asm/mach-imx/sys_proto.h>
@@ -62,3 +64,34 @@ void build_info(void)
printf("Build: SCFW %08x, SECO-FW %08x, ATF %s\n",
sc_commit, seco_commit, (char *)&atf_commit);
}
+
+int do_boottype(struct cmd_tbl *cmdtp, int flag, int argc, char * const argv[])
+{
+ sc_misc_bt_t boot_type;
+
+ if (argc > 2)
+ return CMD_RET_USAGE;
+
+ if (sc_misc_get_boot_type(-1, &boot_type) != 0) {
+ puts("boottype cannot be retrieved\n");
+ return CMD_RET_FAILURE;
+ }
+
+ if (argc > 1)
+ printf("Boottype: %d\n", boot_type);
+
+ env_set_ulong("boottype", boot_type);
+
+ return CMD_RET_SUCCESS;
+}
+
+U_BOOT_CMD(boottype, CONFIG_SYS_MAXARGS, 2, do_boottype,
+ "save current boot-container in env variable 'boottype'",
+ "possible values for boottype:\n"
+ "0: SC_MISC_BT_PRIMARY\n"
+ "1: SC_MISC_BT_SECONDARY\n"
+ "2: SC_MISC_BT_RECOVERY\n"
+ "3: SC_MISC_BT_MANUFACTURE\n"
+ "4: SC_MISC_BT_SERIAL\n"
+ "[print] - print current boottype"
+);
diff --git a/arch/arm/mach-imx/imx9/scmi/soc.c b/arch/arm/mach-imx/imx9/scmi/soc.c
index c1458ccca3c..17269ddd2fc 100644
--- a/arch/arm/mach-imx/imx9/scmi/soc.c
+++ b/arch/arm/mach-imx/imx9/scmi/soc.c
@@ -820,7 +820,7 @@ int timer_init(void)
return 0;
}
-enum env_location env_get_location(enum env_operation op, int prio)
+enum env_location arch_env_get_location(enum env_operation op, int prio)
{
enum boot_device dev = get_boot_device();
enum env_location env_loc = ENVL_UNKNOWN;