Message ID | 20190904103151.20121-18-lokeshvutla@ti.com |
---|---|
State | Accepted |
Commit | bb17aaf658b4bb28677e346053a684447e3ddeb2 |
Delegated to: | Tom Rini |
Headers | show |
Series | remoteproc: Add support for R5F and DSP processors | expand |
On Wed, Sep 04, 2019 at 04:01:42PM +0530, Lokesh Vutla wrote: > From: Suman Anna <s-anna@ti.com> > > Add a new file include/environment/ti/k3_rproc.h that defines > common environment variables useful for booting various remote > processors from U-Boot. This file is expected to be included in > the board config files with the EXTRA_ENV_RPROC_SETTINGS added > to CONFIG_EXTRA_ENV_SETTINGS and DEFAULT_RPROCS macro overwritten > to include the actual list of processors to be booted. > > The 'boot_rprocs' variable just needs to be added to the board's > bootcmd to automatically boot the processors, and runtime control > can be achieved through the 'dorprocboot' variable. > > The variables are currently defined to use MMC as the boot media, > and can be expanded in the future to include other boot media. > The immediate usage is intended for K3 J721E SoCs. > > Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com> > Signed-off-by: Suman Anna <s-anna@ti.com> Applied to u-boot/master, thanks!
diff --git a/include/environment/ti/k3_rproc.h b/include/environment/ti/k3_rproc.h new file mode 100644 index 0000000000..3418cb42be --- /dev/null +++ b/include/environment/ti/k3_rproc.h @@ -0,0 +1,52 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ +/* + * Copyright (C) 2019 Texas Instruments Incorporated - http://www.ti.com + * + * rproc environment variable definitions for various TI K3 SoCs. + */ + +#ifndef __TI_RPROC_H +#define __TI_RPROC_H + +/* + * should contain a list of <rproc_id fw_name> tuplies, + * override in board config files with the actual list + */ +#define DEFAULT_RPROCS "" + +#ifdef CONFIG_CMD_REMOTEPROC +#define EXTRA_ENV_RPROC_SETTINGS \ + "dorprocboot=0\0" \ + "boot_rprocs=" \ + "if test ${dorprocboot} -eq 1 && test ${boot} = mmc; then "\ + "rproc init;" \ + "run boot_rprocs_mmc;" \ + "fi;\0" \ + "rproc_load_and_boot_one=" \ + "if load mmc ${bootpart} $loadaddr ${rproc_fw}; then " \ + "if rproc load ${rproc_id} ${loadaddr} ${filesize}; then "\ + "rproc start ${rproc_id};" \ + "fi;" \ + "fi\0" \ + "boot_rprocs_mmc=" \ + "env set rproc_id;" \ + "env set rproc_fw;" \ + "for i in ${rproc_fw_binaries} ; do " \ + "if test -z \"${rproc_id}\" ; then " \ + "env set rproc_id $i;" \ + "else " \ + "env set rproc_fw $i;" \ + "run rproc_load_and_boot_one;" \ + "env set rproc_id;" \ + "env set rproc_fw;" \ + "fi;" \ + "done\0" \ + "rproc_fw_binaries=" \ + DEFAULT_RPROCS \ + "\0" +#else +#define EXTRA_ENV_RPROC_SETTINGS \ + "boot_rprocs= \0" +#endif /* CONFIG_CMD_REMOTEPROC */ + +#endif /* __TI_RPROC_H */