env: ti: j721e-evm: Add support to boot rprocs including R5Fs and DSPs
authorSuman Anna <s-anna@ti.com>
Wed, 4 Sep 2019 10:31:43 +0000 (16:01 +0530)
committerTom Rini <trini@konsulko.com>
Fri, 11 Oct 2019 14:07:35 +0000 (10:07 -0400)
Add support to boot some remoteprocs at U-boot prompt on the J721E EVM
boards by using the 'boot_rprocs' and other env variables defined in the
common environment file k3_rproc.h, and updating the 'DEFAULT_RPROCS'
macro.

The list of R5F cores to be started before loading and booting the Linux
kernel are as follows, and in this order:
   Main R5FSS0 (Split) Core1 : 3 /lib/firmware/j7-main-r5f0_1-fw
   Main R5FSS1 (LockStep)    : 4 /lib/firmware/j7-main-r5f1_0-fw

The MCU R5FSS0 and Main R5FSS1 are currently in LockStep mode, so the
equivalent Core1 rprocs (rproc #1 and #5) are not included. The Main
R5FSS0 Core0 (rproc #2) is already started by R5 SPL, so is not included
in the list either.

The DSP cores are started in the following order before loading and
booting the Linux kernel:
   C66_0: 6 /lib/firmware/j7-c66_0-fw
   C66_1: 7 /lib/firmware/j7-c66_1-fw
   C71_0: 8 /lib/firmware/j7-c71_0-fw

The order of the rprocs to boot can be changed at runtime if desired by
overwriting the 'rproc_fw_binaries' environment variable at U-boot prompt.

Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
Signed-off-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
include/configs/j721e_evm.h

index 5fe77ef16dc0b2d2e2278c3abe2f6b96601c865a..dbe226b46d43d90365055cbcdca766d8e3c7a72c 100644 (file)
@@ -12,6 +12,7 @@
 #include <linux/sizes.h>
 #include <config_distro_bootcmd.h>
 #include <environment/ti/mmc.h>
+#include <environment/ti/k3_rproc.h>
 
 #define CONFIG_ENV_SIZE                        (128 << 10)
 
        "get_kern_mmc=load mmc ${bootpart} ${loadaddr} "                \
                "${bootdir}/${name_kern}\0"
 
+#ifdef DEFAULT_RPROCS
+#undef DEFAULT_RPROCS
+#endif
+#define DEFAULT_RPROCS ""                                              \
+               "3 /lib/firmware/j7-main-r5f0_1-fw "                    \
+               "4 /lib/firmware/j7-main-r5f1_0-fw "                    \
+               "6 /lib/firmware/j7-c66_0-fw "                          \
+               "7 /lib/firmware/j7-c66_1-fw "                          \
+               "8 /lib/firmware/j7-c71_0-fw "
+
 /* Incorporate settings into the U-Boot environment */
 #define CONFIG_EXTRA_ENV_SETTINGS                                      \
        DEFAULT_MMC_TI_ARGS                                             \
        EXTRA_ENV_J721E_BOARD_SETTINGS                                  \
-       EXTRA_ENV_J721E_BOARD_SETTINGS_MMC
+       EXTRA_ENV_J721E_BOARD_SETTINGS_MMC                              \
+       EXTRA_ENV_RPROC_SETTINGS
 
 /* Now for the remaining common defines */
 #include <configs/ti_armv7_common.h>