mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-03-19 05:31:32 +00:00
arm: K3: sysfw-loader: Allow loading SYSFW via Y-Modem
In order to allow booting TI K3 family SoCs via Y-Modem add support for loading System Firmware by tapping into the associated SPL core loader function. In this context also make sure a console is available and if not go ahead and activate the early console feature which allows bringing up an alternate full console before the main console is activated. Such an alternate console is typically setup in a way that the associated UART can be fully initialized prior to SYSFW services being available. Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
This commit is contained in:
parent
e630afe1de
commit
921b325854
1 changed files with 21 additions and 0 deletions
|
@ -12,6 +12,9 @@
|
||||||
#include <remoteproc.h>
|
#include <remoteproc.h>
|
||||||
#include <linux/soc/ti/ti_sci_protocol.h>
|
#include <linux/soc/ti/ti_sci_protocol.h>
|
||||||
#include <asm/arch/sys_proto.h>
|
#include <asm/arch/sys_proto.h>
|
||||||
|
#include "common.h"
|
||||||
|
|
||||||
|
DECLARE_GLOBAL_DATA_PTR;
|
||||||
|
|
||||||
/* Name of the FIT image nodes for SYSFW and its config data */
|
/* Name of the FIT image nodes for SYSFW and its config data */
|
||||||
#define SYSFW_FIRMWARE "sysfw.bin"
|
#define SYSFW_FIRMWARE "sysfw.bin"
|
||||||
|
@ -214,6 +217,24 @@ void k3_sysfw_loader(void (*config_pm_done_callback)(void))
|
||||||
0);
|
0);
|
||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
|
#endif
|
||||||
|
#if CONFIG_IS_ENABLED(YMODEM_SUPPORT)
|
||||||
|
case BOOT_DEVICE_UART:
|
||||||
|
#ifdef CONFIG_K3_EARLY_CONS
|
||||||
|
/*
|
||||||
|
* Establish a serial console if not yet available as required
|
||||||
|
* for UART-based boot. For this use the early console feature
|
||||||
|
* that allows setting up a UART for use before SYSFW has been
|
||||||
|
* brought up. Note that the associated UART module's clocks
|
||||||
|
* must have gotten enabled by the ROM bootcode which will be
|
||||||
|
* the case when continuing to boot serially from the same
|
||||||
|
* UART that the ROM loaded the initial bootloader from.
|
||||||
|
*/
|
||||||
|
if (!gd->have_console)
|
||||||
|
early_console_init();
|
||||||
|
#endif
|
||||||
|
ret = spl_ymodem_load_image(&spl_image, &bootdev);
|
||||||
|
break;
|
||||||
#endif
|
#endif
|
||||||
default:
|
default:
|
||||||
panic("Loading SYSFW image from device %u not supported!\n",
|
panic("Loading SYSFW image from device %u not supported!\n",
|
||||||
|
|
Loading…
Add table
Reference in a new issue