Tegra194: support GET_SMMU_PER testing

This patch introduces a test to get return value from SMC SiP function
TEGRA_SIP_GET_SMMU_PER. This is a common function for all Tegra platforms.

This patch enables the test for Tegra194 platforms.

Signed-off-by: anzhou <anzhou@nvidia.com>
Change-Id: I14d82aecdbccc02ce3965b52230500bf487a0cc3
diff --git a/tftf/tests/plat/nvidia/common/test_sip.c b/tftf/tests/plat/nvidia/common/test_sip.c
index 0fb86fa..48d4186 100644
--- a/tftf/tests/plat/nvidia/common/test_sip.c
+++ b/tftf/tests/plat/nvidia/common/test_sip.c
@@ -6,6 +6,7 @@
 
 #include <arch_helpers.h>
 #include <debug.h>
+#include <smccc.h>
 #include <tftf_lib.h>
 #include <xlat_tables_v2.h>
 
@@ -15,6 +16,7 @@
  * Common Tegra SiP SMCs
  ******************************************************************************/
 #define TEGRA_SIP_NEW_VIDEOMEM_REGION		0x82000003ULL
+#define TEGRA_SIP_GET_SMMU_PER			0xC200FF00ULL
 
 /*
  * @Test_Aim@ Test to issue VideoMem SiP SMC function IDs.
@@ -194,3 +196,28 @@
 
 	return TEST_RESULT_SUCCESS;
 }
+
+/**
+ * @Test_Aim@ Test to read the SMMU_PER register contents and print the
+ * values.
+ */
+test_result_t test_get_smmu_per(void)
+{
+	smc_args tegra_sip_smc = { TEGRA_SIP_GET_SMMU_PER, 0ULL, 0ULL, 0ULL, 0ULL };
+	smc_ret_values ret;
+
+	tftf_testcase_printf("Tegra SIP GET SMMU PER test\n");
+
+	ret = tftf_smc(&tegra_sip_smc);
+
+	if (ret.ret0 != SMC_OK) {
+		tftf_testcase_printf("GET_SMMU_PER test Fail, got %ld\n", (long int)ret.ret0);
+		return TEST_RESULT_FAIL;
+	}
+
+	tftf_testcase_printf("GET_SMMU_PER per[0] = %lu\n", ret.ret1);
+	tftf_testcase_printf("GET_SMMU_PER per[1] = %lu\n", ret.ret2);
+	tftf_testcase_printf("GET_SMMU_PER per[2] = %lu\n", ret.ret3);
+
+	return TEST_RESULT_SUCCESS;
+}
diff --git a/tftf/tests/tests-tegra194.xml b/tftf/tests/tests-tegra194.xml
index 2c3fb02..173d364 100644
--- a/tftf/tests/tests-tegra194.xml
+++ b/tftf/tests/tests-tegra194.xml
@@ -10,6 +10,7 @@
   <testsuite name="Tegra SiP tests" description="SiP tests for Tegra platforms">
      <testcase name="Video Memory Configuration test" function="test_sip_videomem_incorrect_inputs" />
      <testcase name="Video Memory Resize test" function="test_sip_videomem_resize" />
+     <testcase name="Read SMMU_PER register contents test" function="test_get_smmu_per" />
   </testsuite>
  <testsuite name="Tegra194 platform tests" description="Tests for Tegra194 platforms">
      <testcase name="RAS corrected error test" function="test_ras_corrected" />