]> git.baikalelectronics.ru Git - arm-tf.git/commitdiff
fix(tegra210): support legacy SMC_ID 0xC2FEFE00
authorKalyani Chidambaram Vaidyanathan <kalyanic@nvidia.com>
Tue, 31 Jan 2023 01:44:26 +0000 (17:44 -0800)
committerVarun Wadekar <vwadekar@nvidia.com>
Thu, 9 Mar 2023 19:59:52 +0000 (21:59 +0200)
This patch introduces a workaround to support the legacy SMC FID
0xC2FEFE00 to maintain compatibility with older software components.

Change-Id: Icf2ef9cfa6b28c09bbab325a642d0b3b20b23535
Signed-off-by: Kalyani Chidambaram Vaidyanathan <kalyanic@nvidia.com>
plat/nvidia/tegra/soc/t210/plat_sip_calls.c

index e3484bea98504393dda78b5ca495b0760a4c8a9a..93d12832ef4fc9078d92b92412589601321719b8 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * Copyright (c) 2018, ARM Limited and Contributors. All rights reserved.
- * Copyright (c) 2020, NVIDIA Corporation. All rights reserved.
+ * Copyright (c) 2020-2023, NVIDIA Corporation. All rights reserved.
  *
  * SPDX-License-Identifier: BSD-3-Clause
  */
@@ -33,6 +33,7 @@
 /*******************************************************************************
  * Tegra210 SiP SMCs
  ******************************************************************************/
+#define TEGRA_SIP_PMC_COMMANDS_LEGACY  U(0xC2FEFE00)
 #define TEGRA_SIP_PMC_COMMANDS         U(0xC2FFFE00)
 
 /*******************************************************************************
@@ -54,7 +55,7 @@ int plat_sip_handler(uint32_t smc_fid,
        if (!ns)
                SMC_RET1(handle, SMC_UNK);
 
-       if (smc_fid == TEGRA_SIP_PMC_COMMANDS) {
+       if ((smc_fid == TEGRA_SIP_PMC_COMMANDS) || (smc_fid == TEGRA_SIP_PMC_COMMANDS_LEGACY)) {
                /* check the address is within PMC range and is 4byte aligned */
                if ((x2 >= TEGRA_PMC_SIZE) || (x2 & 0x3))
                        return -EINVAL;