arm64: zynqmp: Fix tcminit mode value based on argv

The RPU pytest introduced by commit e894c10c04
("test/py: zynqmp_rpu: Add test for loading RPU apps") expects
3rd parameter as string not a number that's why extend command
to actually handle both. The issue with existing code is that
when any non number string is passed hextoul returns 0. For
backward compatibility zynqmp tcminit 0/1 can be still used but
it is recommended to use strings instead.

Signed-off-by: Padmarao Begari <padmarao.begari@amd.com>
Link: https://lore.kernel.org/r/20240930043814.530181-3-padmarao.begari@amd.com
Signed-off-by: Michal Simek <michal.simek@amd.com>
This commit is contained in:
Padmarao Begari 2024-09-30 10:08:14 +05:30 committed by Michal Simek
parent 0ac27a62f9
commit 342ccba558

View File

@ -151,14 +151,12 @@ static int do_zynqmp_tcm_init(struct cmd_tbl *cmdtp, int flag, int argc,
if (argc != cmdtp->maxargs) if (argc != cmdtp->maxargs)
return CMD_RET_USAGE; return CMD_RET_USAGE;
if (strcmp(argv[2], "lockstep") && strcmp(argv[2], "split")) { if (!strcmp(argv[2], "lockstep") || !strcmp(argv[2], "0")) {
printf("mode param should be lockstep or split\n"); mode = TCM_LOCK;
return CMD_RET_FAILURE; } else if (!strcmp(argv[2], "split") || !strcmp(argv[2], "1")) {
} mode = TCM_SPLIT;
} else {
mode = hextoul(argv[2], NULL); printf("Mode should be either lockstep/split\n");
if (mode != TCM_LOCK && mode != TCM_SPLIT) {
printf("Mode should be either 0(lock)/1(split)\n");
return CMD_RET_FAILURE; return CMD_RET_FAILURE;
} }
@ -429,7 +427,7 @@ U_BOOT_LONGHELP(zynqmp,
" initialized before accessing to avoid ECC\n" " initialized before accessing to avoid ECC\n"
" errors. mode specifies in which mode TCM has\n" " errors. mode specifies in which mode TCM has\n"
" to be initialized. Supported modes will be\n" " to be initialized. Supported modes will be\n"
" lock(0)/split(1)\n" " lockstep(0)/split(1)\n"
#endif #endif
"zynqmp pmufw address size - load PMU FW configuration object\n" "zynqmp pmufw address size - load PMU FW configuration object\n"
"zynqmp pmufw node <id> - load PMU FW configuration object, <id> in dec\n" "zynqmp pmufw node <id> - load PMU FW configuration object, <id> in dec\n"