// SPDX-License-Identifier: GPL-2.0+ /* * Copyright 2025 NXP */ #include #include #include #include #include #include #include DECLARE_GLOBAL_DATA_PTR; int spl_board_boot_device(enum boot_device boot_dev_spl) { switch (boot_dev_spl) { case SD1_BOOT: case MMC1_BOOT: return BOOT_DEVICE_MMC1; case SD2_BOOT: case MMC2_BOOT: return BOOT_DEVICE_MMC2; case USB_BOOT: return BOOT_DEVICE_BOARD; default: return BOOT_DEVICE_NONE; } } void spl_board_init(void) { puts("Normal Boot\n"); } void board_init_f(ulong dummy) { int ret; /* Clear the BSS. */ memset(__bss_start, 0, __bss_end - __bss_start); #ifdef CONFIG_SPL_RECOVER_DATA_SECTION if (IS_ENABLED(CONFIG_SPL_BUILD)) spl_save_restore_data(); #endif timer_init(); /* Need dm_init() to run before any SCMI calls can be made. */ spl_early_init(); /* Need enable SCMI drivers and ELE driver before enabling console */ ret = imx9_probe_mu(); if (ret) hang(); /* if MU not probed, nothing can output, just hang here */ arch_cpu_init(); board_early_init_f(); preloader_console_init(); debug("SOC: 0x%x\n", gd->arch.soc_rev); debug("LC: 0x%x\n", gd->arch.lifecycle); board_init_r(NULL, 0); }