On 21/05/19 11:27 PM, Lokesh Vutla wrote:
> 'rproc init' does the probe and initialization of all the available
> remoteproc devices in the system. This doesn't allow the flexibility
> to initialize the remote cores needed as per use case. In order
> to provide flexibility, update 'rproc init' command to accept one
> more parameter with rproc id which when passed initializes only
> that specific core. If no id is passed, command will initializes
> all the cores which is compatible with the existing behaviour.
> 
> Signed-off-by: Lokesh Vutla <lokeshvu...@ti.com>

Oops. This should be part of my next series. Will re send the series by dropping
the patch.

Thanks and regards,
Lokesh

> ---
>  cmd/remoteproc.c | 23 ++++++++++++++++++-----
>  1 file changed, 18 insertions(+), 5 deletions(-)
> 
> diff --git a/cmd/remoteproc.c b/cmd/remoteproc.c
> index 81463f36b6..689e1a6a1d 100644
> --- a/cmd/remoteproc.c
> +++ b/cmd/remoteproc.c
> @@ -68,12 +68,22 @@ static int print_remoteproc_list(void)
>  static int do_rproc_init(cmd_tbl_t *cmdtp, int flag, int argc,
>                        char *const argv[])
>  {
> +     int id;
> +
>       if (rproc_is_initialized()) {
>               printf("\tRemote Processors are already initialized\n");
> -     } else {
> +             return CMD_RET_FAILURE;
> +     }
> +
> +     if (argc == 1) {
>               if (!rproc_init())
>                       return 0;
> -             printf("Few Remote Processors failed to be initalized\n");
> +             printf("Few Remote Processors failed to be initialized\n");
> +     } else if (argc == 2) {
> +             id = (int)simple_strtoul(argv[1], NULL, 10);
> +             if (!rproc_dev_init(id))
> +                     return 0;
> +             printf("Remote Processor %d failed to be initialized\n", id);
>       }
>  
>       return CMD_RET_FAILURE;
> @@ -203,8 +213,10 @@ static int do_remoteproc_wrapper(cmd_tbl_t *cmdtp, int 
> flag, int argc,
>  }
>  
>  static cmd_tbl_t cmd_remoteproc_sub[] = {
> -     U_BOOT_CMD_MKENT(init, 0, 1, do_rproc_init,
> -                      "Enumerate and initialize all processors", ""),
> +     U_BOOT_CMD_MKENT(init, 1, 1, do_rproc_init,
> +                      "Enumerate and initialize the remote processor(s)",
> +                      "id - ID of the remote processor\n"
> +                      "If id is not passed, initialize all the remote 
> processors"),
>       U_BOOT_CMD_MKENT(list, 0, 1, do_remoteproc_list,
>                        "list remote processors", ""),
>       U_BOOT_CMD_MKENT(load, 5, 1, do_remoteproc_load,
> @@ -270,7 +282,8 @@ U_BOOT_CMD(rproc, 5, 1, do_remoteproc,
>          "\t\tNote: Services are dependent on the driver capability\n"
>          "\t\t      'list' command shows the capability of each device\n"
>          "\n\tSubcommands:\n"
> -        "\tinit   - Enumerate and initalize the remote processors\n"
> +        "\tinit <id> - Enumerate and initalize the remote processor.\n"
> +        "\t            if id is not passed, initialize all the remote 
> prcessors\n"
>          "\tlist   - list available remote processors\n"
>          "\tload <id> [addr] [size]- Load the remote processor with binary\n"
>          "\t            image stored at address [addr] in memory\n"
> 
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to