summaryrefslogtreecommitdiff
path: root/board/freescale/imx8qxp_mek/spl.c
diff options
context:
space:
mode:
Diffstat (limited to 'board/freescale/imx8qxp_mek/spl.c')
-rw-r--r--board/freescale/imx8qxp_mek/spl.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/board/freescale/imx8qxp_mek/spl.c b/board/freescale/imx8qxp_mek/spl.c
index 03f92f67ae..37b03af4b6 100644
--- a/board/freescale/imx8qxp_mek/spl.c
+++ b/board/freescale/imx8qxp_mek/spl.c
@@ -173,12 +173,32 @@ int board_mmc_getcd(struct mmc *mmc)
void spl_board_init(void)
{
+#if defined(CONFIG_QSPI_BOOT)
+ sc_ipc_t ipcHndl = 0;
+
+ ipcHndl = gd->arch.ipc_channel_handle;
+ if (sc_pm_set_resource_power_mode(ipcHndl, SC_R_FSPI_0, SC_PM_PW_MODE_ON)) {
+ puts("Warning: failed to initialize FSPI0\n");
+ }
+#endif
/* DDR initialization */
spl_dram_init();
puts("Normal Boot\n");
}
+void spl_board_prepare_for_boot(void)
+{
+#if defined(CONFIG_QSPI_BOOT)
+ sc_ipc_t ipcHndl = 0;
+
+ ipcHndl = gd->arch.ipc_channel_handle;
+ if (sc_pm_set_resource_power_mode(ipcHndl, SC_R_FSPI_0, SC_PM_PW_MODE_OFF)) {
+ puts("Warning: failed to turn off FSPI0\n");
+ }
+#endif
+}
+
void board_init_f(ulong dummy)
{
/* Clear global data */