From: Padmarao Begari Date: Mon, 30 Sep 2024 04:38:14 +0000 (+0530) Subject: arm64: zynqmp: Fix tcminit mode value based on argv X-Git-Url: http://git.dujemihanovic.xyz/html/static/gitweb.css?a=commitdiff_plain;h=342ccba5586a1e91d4506fe46f0ee7b551d2fd54;p=u-boot.git arm64: zynqmp: Fix tcminit mode value based on argv The RPU pytest introduced by commit e894c10c040b ("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 Link: https://lore.kernel.org/r/20240930043814.530181-3-padmarao.begari@amd.com Signed-off-by: Michal Simek --- diff --git a/arch/arm/mach-zynqmp/zynqmp.c b/arch/arm/mach-zynqmp/zynqmp.c index 3b4d9c60e5..8ee25e4c31 100644 --- a/arch/arm/mach-zynqmp/zynqmp.c +++ b/arch/arm/mach-zynqmp/zynqmp.c @@ -151,14 +151,12 @@ static int do_zynqmp_tcm_init(struct cmd_tbl *cmdtp, int flag, int argc, if (argc != cmdtp->maxargs) return CMD_RET_USAGE; - if (strcmp(argv[2], "lockstep") && strcmp(argv[2], "split")) { - printf("mode param should be lockstep or split\n"); - return CMD_RET_FAILURE; - } - - mode = hextoul(argv[2], NULL); - if (mode != TCM_LOCK && mode != TCM_SPLIT) { - printf("Mode should be either 0(lock)/1(split)\n"); + if (!strcmp(argv[2], "lockstep") || !strcmp(argv[2], "0")) { + mode = TCM_LOCK; + } else if (!strcmp(argv[2], "split") || !strcmp(argv[2], "1")) { + mode = TCM_SPLIT; + } else { + printf("Mode should be either lockstep/split\n"); return CMD_RET_FAILURE; } @@ -429,7 +427,7 @@ U_BOOT_LONGHELP(zynqmp, " initialized before accessing to avoid ECC\n" " errors. mode specifies in which mode TCM has\n" " to be initialized. Supported modes will be\n" - " lock(0)/split(1)\n" + " lockstep(0)/split(1)\n" #endif "zynqmp pmufw address size - load PMU FW configuration object\n" "zynqmp pmufw node - load PMU FW configuration object, in dec\n"