merging 1.1 internal gerrit to github
diff --git a/api-tests/CMakeLists.txt b/api-tests/CMakeLists.txt
index d0a9101..1504c76 100644
--- a/api-tests/CMakeLists.txt
+++ b/api-tests/CMakeLists.txt
@@ -33,16 +33,37 @@
 include(${PSA_ROOT_DIR}/tools/cmake/common/CMakeSettings.cmake)
 include(${PSA_ROOT_DIR}/tools/cmake/common/CMakeExternal.cmake)
 
+if(NOT DEFINED TFM_PROFILE)
+	message(STATUS "[PSA] : Building Default profile")
+list(APPEND PSA_SUITES
+        "IPC"
+        "CRYPTO"
+        "INTERNAL_TRUSTED_STORAGE"
+        "PROTECTED_STORAGE"
+        "STORAGE"
+        "INITIAL_ATTESTATION"
+)
+else()
+
+if("${TFM_PROFILE}" STREQUAL "profile_small")
+# list of supported suites
+list(APPEND PSA_SUITES
+	"CRYPTO"
+	"INTERNAL_TRUSTED_STORAGE"
+	"INITIAL_ATTESTATION"
+)
+else()
 # list of supported suites
 list(APPEND PSA_SUITES
 	"IPC"
 	"CRYPTO"
-	"PROTECTED_STORAGE"
 	"INTERNAL_TRUSTED_STORAGE"
+	"PROTECTED_STORAGE"
 	"STORAGE"
 	"INITIAL_ATTESTATION"
 )
-
+endif()
+endif()
 # list of ipc files required
 list(APPEND PSA_IPC_FILES
 	"psa/client.h"
@@ -100,7 +121,11 @@
 list(APPEND PSA_VERBOSE_OPTIONS 1 2 3 4 5)
 
 # list of PLATFORM_PSA_ISOLATION_LEVEL options
+if("${TFM_PROFILE}" STREQUAL "profile_medium")
+list(APPEND PLATFORM_PSA_ISOLATION_LEVEL_OPTIONS 1 2)
+else()
 list(APPEND PLATFORM_PSA_ISOLATION_LEVEL_OPTIONS 1 2 3)
+endif()
 
 message(STATUS "[PSA] : ----------Process input arguments- start-------------")
 
@@ -243,7 +268,11 @@
 
 # Check for PLATFORM_PSA_ISOLATION_LEVEL
 if(NOT DEFINED PLATFORM_PSA_ISOLATION_LEVEL)
+	if("${TFM_PROFILE}" STREQUAL "profile_medium")
+	set(PLATFORM_PSA_ISOLATION_LEVEL 2 CACHE INTERNAL "Default PLATFORM_PSA_ISOLATION_LEVEL value" FORCE)
+	else()
 	set(PLATFORM_PSA_ISOLATION_LEVEL 3 CACHE INTERNAL "Default PLATFORM_PSA_ISOLATION_LEVEL value" FORCE)
+	endif()
 	if(${SUITE} STREQUAL "IPC")
         message(STATUS "[PSA] : Defaulting PLATFORM_PSA_ISOLATION_LEVEL to ${PLATFORM_PSA_ISOLATION_LEVEL}")
 	endif()
@@ -315,7 +344,7 @@
 message(STATUS "[PSA] : ----------Process input arguments- complete-------------")
 
 
-if((${SUITE} STREQUAL "INITIAL_ATTESTATION") AND (NOT EXISTS ${PSA_TARGET_QCBOR}))
+if((${SUITE} STREQUAL "INITIAL_ATTESTATION") AND (NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/${PSA_TARGET_QCBOR}))
 # Clone QCBOR and move to specified tag
 execute_process(COMMAND ${GIT_EXECUTABLE} clone ${PSA_QCBOR_GIT_REPO_LINK} ${PSA_TARGET_QCBOR}
 	RESULT_VARIABLE ${PSA_TARGET_QCBOR}_clone_result
@@ -421,7 +450,13 @@
 add_definitions(-DVERBOSE=${VERBOSE})
 add_definitions(-DPLATFORM_PSA_ISOLATION_LEVEL=${PLATFORM_PSA_ISOLATION_LEVEL})
 add_definitions(-D${TARGET})
-
+if("${TFM_PROFILE}" STREQUAL "profile_small")
+	message(STATUS "[PSA] : Building SMALL profile")
+	add_definitions(-DTF_M_PROFILE_SMALL)
+elseif("${TFM_PROFILE}" STREQUAL "profile_medium")
+	message(STATUS "[PSA] : Building MEDIUM profile")
+	add_definitions(-DTF_M_PROFILE_MEDIUM)
+endif()
 if(${SP_HEAP_MEM_SUPP} EQUAL 1)
 	add_definitions(-DSP_HEAP_MEM_SUPP)
 endif()
diff --git a/api-tests/dev_apis/README.md b/api-tests/dev_apis/README.md
index d0b6f24..e554d7d 100644
--- a/api-tests/dev_apis/README.md
+++ b/api-tests/dev_apis/README.md
@@ -14,7 +14,7 @@
 For more information on the architecture test suite framework and methodology to run the tests, refer to the [Validation Methodology](../docs/Arm_PSA_APIs_Arch_Test_Validation_Methodology.pdf) document.
 
 ## This release
- - Code Quality : REL v1.0
+ - Code Quality : REL v1.1
  - This release contains following PSA Functional APIs tests: <br />
 
 | Test Category            | Specification Version                |
@@ -30,6 +30,7 @@
 
 | Release version | Release tag  | PSA Crypto API | PSA Storage API | PSA Attestation API |
 |-----------------|---------------|----------------|-----------------|---------------------|
+| REL v1.1 | [v20.11_API1.1](https://github.com/ARM-software/psa-arch-tests/tree/v20.11_API1.1/api-tests/dev_apis) | 1.0-Beta3  | 1.0.0 | 1.0.0 |
 | REL v1.0 | [v20.03_API1.0](https://github.com/ARM-software/psa-arch-tests/tree/v20.03_API1.0/api-tests/dev_apis) | 1.0-Beta3  | 1.0.0 | 1.0.0 |
 | v0.9 | [v19.06_API0.9](https://github.com/ARM-software/psa-arch-tests/tree/v19.06_API0.9/api-tests/dev_apis) | 1.0-Beta2 | 1.0-Beta2 | 1.0-Beta0 |
 | v0.8 | [v19.02_API0.8](https://github.com/ARM-software/psa-arch-tests/tree/v19.02_API0.8/api-tests/dev_apis) | 1.0-Beta1 | 1.0-Beta0 | 1.0-Beta0 |
@@ -69,6 +70,7 @@
 -   -DBUILD=<BUILD_DIR> : To select the build directory to keep output files. Default is BUILD/ inside current directory.
 -   -DWATCHDOG_AVAILABLE=<0|1>: Test harness may require to access watchdog timer to recover system hang. 0 means skip watchdog programming in the test suite and 1 means program the watchdog. Default is 1. Note, watchdog must be available for the tests which check the PSA API behaviour on the system reset.
 -   -DSUITE_TEST_RANGE="<test_start_number>;<test_end_number>" is to select range of tests for build. All tests under -DSUITE are considered by default if not specified.
+-   -DTFM_PROFILE=<profile_small/profile_medium> is to work with TFM defined Pofile Small/Medium definitions. Supported values are profile_small and profile_medium. Unless specified Default Profile is used.
 -   -DPSA_INCLUDE_PATHS="<include_path1>;<include_path2>;...;<include_pathn>" is an additional directory to be included into the compiler search path.You must provide Functional APIs header files implementation to the test suite build system using this option. For example, to compile Crypto tests, the include path must point to the path where **psa/crypto.h** is located in your build system. Bydefault, PSA_INCLUDE_PATHS accepts absolute path. However, relative path can be provided using below format:<br />
 ```
     -DPSA_INCLUDE_PATHS=`readlink -f <relative_include_path>`
diff --git a/api-tests/dev_apis/crypto/test_c001/test_entry_c001.c b/api-tests/dev_apis/crypto/test_c001/test_entry_c001.c
index 6908021..e784417 100644
--- a/api-tests/dev_apis/crypto/test_c001/test_entry_c001.c
+++ b/api-tests/dev_apis/crypto/test_c001/test_entry_c001.c
@@ -1,5 +1,5 @@
 /** @file
- * Copyright (c) 2018, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2018-2020, Arm Limited or its affiliates. All rights reserved.
  * SPDX-License-Identifier : Apache-2.0
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/api-tests/dev_apis/crypto/test_c002/test_data.h b/api-tests/dev_apis/crypto/test_c002/test_data.h
index ed999e4..b7a1fb1 100644
--- a/api-tests/dev_apis/crypto/test_c002/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c002/test_data.h
@@ -28,7 +28,6 @@
 } test_data;
 
 static const test_data check1[] = {
-#ifdef ARCH_TEST_CIPER_MODE_CTR
 #ifdef ARCH_TEST_AES_128
 {
     .test_desc       = "Test psa_import_key 16 bytes AES\n",
@@ -65,7 +64,6 @@
     .expected_status = PSA_SUCCESS
 },
 #endif
-#endif
 
 #ifdef ARCH_TEST_RSA_PKCS1V15_SIGN_RAW
 #ifdef ARCH_TEST_RSA_2048
@@ -91,7 +89,7 @@
 #endif
 #endif
 
-#ifdef ARCH_TEST_CIPER_MODE_CTR
+#ifdef ARCH_TEST_CIPHER_MODE_CTR
 #ifdef ARCH_TEST_DES_1KEY
 {
     .test_desc       = "Test psa_import_key with DES 8 bytes key\n",
@@ -155,7 +153,6 @@
 #endif
 #endif
 
-#ifdef ARCH_TEST_CIPER_MODE_CTR
 #ifdef ARCH_TEST_AES
 {
     .test_desc       = "Test psa_import_key 16 bytes AES with invalid bits\n",
@@ -197,6 +194,4 @@
     .usage_flags     = PSA_KEY_USAGE_EXPORT,
     .expected_status = PSA_ERROR_NOT_SUPPORTED
 },
-
-#endif
 };
diff --git a/api-tests/dev_apis/crypto/test_c002/test_entry_c002.c b/api-tests/dev_apis/crypto/test_c002/test_entry_c002.c
index e39b0f8..3dda5ab 100644
--- a/api-tests/dev_apis/crypto/test_c002/test_entry_c002.c
+++ b/api-tests/dev_apis/crypto/test_c002/test_entry_c002.c
@@ -1,5 +1,5 @@
 /** @file
- * Copyright (c) 2018, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2018-2020, Arm Limited or its affiliates. All rights reserved.
  * SPDX-License-Identifier : Apache-2.0
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/api-tests/dev_apis/crypto/test_c003/test_data.h b/api-tests/dev_apis/crypto/test_c003/test_data.h
index 090bc7e..32241a7 100644
--- a/api-tests/dev_apis/crypto/test_c003/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c003/test_data.h
@@ -31,7 +31,6 @@
 } test_data;
 
 static const test_data check1[] = {
-#ifdef ARCH_TEST_CIPER_MODE_CTR
 #ifdef ARCH_TEST_AES_128
 {
     .test_desc            = "Test psa_export_key 16 Byte AES\n",
@@ -76,7 +75,6 @@
     .expected_status      = PSA_SUCCESS
 },
 #endif
-#endif
 
 #ifdef ARCH_TEST_RSA_PKCS1V15_SIGN_RAW
 #ifdef ARCH_TEST_RSA_2048
@@ -108,7 +106,6 @@
 #endif
 #endif
 
-#ifdef ARCH_TEST_CIPER_MODE_CTR
 #ifdef ARCH_TEST_DES_1KEY
 {
     .test_desc            = "Test psa_export_key with DES 64 bit key\n",
@@ -153,7 +150,6 @@
     .expected_status      = PSA_SUCCESS
 },
 #endif
-#endif
 
 #ifdef ARCH_TEST_ASYMMETRIC_ENCRYPTION
 #ifdef ARCH_TEST_ECC_CURVE_SECP256R1
@@ -187,7 +183,6 @@
 #endif
 #endif
 
-#ifdef ARCH_TEST_CIPER_MODE_CTR
 #ifdef ARCH_TEST_AES_128
 {
     .test_desc            = "Test psa_export_key with key policy verify\n",
@@ -215,5 +210,4 @@
     .expected_status      = PSA_ERROR_BUFFER_TOO_SMALL
 },
 #endif
-#endif
 };
diff --git a/api-tests/dev_apis/crypto/test_c003/test_entry_c003.c b/api-tests/dev_apis/crypto/test_c003/test_entry_c003.c
index 9c57893..0b1ed9c 100644
--- a/api-tests/dev_apis/crypto/test_c003/test_entry_c003.c
+++ b/api-tests/dev_apis/crypto/test_c003/test_entry_c003.c
@@ -1,5 +1,5 @@
 /** @file
- * Copyright (c) 2018, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2018-2020, Arm Limited or its affiliates. All rights reserved.
  * SPDX-License-Identifier : Apache-2.0
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/api-tests/dev_apis/crypto/test_c004/test_data.h b/api-tests/dev_apis/crypto/test_c004/test_data.h
index a2a3e33..51ab1d1 100644
--- a/api-tests/dev_apis/crypto/test_c004/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c004/test_data.h
@@ -63,7 +63,6 @@
 
 static const test_data check1[] = {
 
-#ifdef ARCH_TEST_CIPER_MODE_CTR
 #ifdef ARCH_TEST_AES_128
 {
     .test_desc            = "Test psa_export_public_key 16 Byte AES\n",
@@ -108,7 +107,6 @@
     .expected_status      = PSA_ERROR_INVALID_ARGUMENT
 },
 #endif
-#endif
 
 #ifdef ARCH_TEST_RSA_PKCS1V15_SIGN_RAW
 #ifdef ARCH_TEST_RSA_2048
@@ -140,7 +138,6 @@
 #endif
 #endif
 
-#ifdef ARCH_TEST_CIPER_MODE_CTR
 #ifdef ARCH_TEST_DES_1KEY
 {
     .test_desc            = "Test psa_export_public_key with DES 64 bit key\n",
@@ -185,7 +182,6 @@
     .expected_status      = PSA_ERROR_INVALID_ARGUMENT
 },
 #endif
-#endif
 
 #ifdef ARCH_TEST_ASYMMETRIC_ENCRYPTION
 #ifdef ARCH_TEST_ECC_CURVE_SECP256R1
diff --git a/api-tests/dev_apis/crypto/test_c004/test_entry_c004.c b/api-tests/dev_apis/crypto/test_c004/test_entry_c004.c
index 397791b..f4638b9 100644
--- a/api-tests/dev_apis/crypto/test_c004/test_entry_c004.c
+++ b/api-tests/dev_apis/crypto/test_c004/test_entry_c004.c
@@ -1,5 +1,5 @@
 /** @file
- * Copyright (c) 2018, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2018-2020, Arm Limited or its affiliates. All rights reserved.
  * SPDX-License-Identifier : Apache-2.0
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/api-tests/dev_apis/crypto/test_c005/test_c005.c b/api-tests/dev_apis/crypto/test_c005/test_c005.c
index fa95d00..ef405ee 100644
--- a/api-tests/dev_apis/crypto/test_c005/test_c005.c
+++ b/api-tests/dev_apis/crypto/test_c005/test_c005.c
@@ -61,49 +61,78 @@
         TEST_ASSERT_EQUAL(status, VAL_STATUS_SUCCESS, TEST_CHECKPOINT_NUM(2));
 
         /* Setup the attributes for the key */
-        val->crypto_function(VAL_CRYPTO_SET_KEY_TYPE, &set_attributes, check1[i].type);
-        val->crypto_function(VAL_CRYPTO_SET_KEY_BITS, &set_attributes, check1[i].bits);
-        val->crypto_function(VAL_CRYPTO_SET_KEY_USAGE_FLAGS, &set_attributes,
-                                                             check1[i].usage_flags);
-        val->crypto_function(VAL_CRYPTO_SET_KEY_ID, &set_attributes, check1[i].id);
-        val->crypto_function(VAL_CRYPTO_SET_KEY_LIFETIME, &set_attributes, check1[i].lifetime);
-        val->crypto_function(VAL_CRYPTO_SET_KEY_ALGORITHM, &set_attributes, check1[i].alg);
+        val->crypto_function(VAL_CRYPTO_SET_KEY_TYPE,
+                             &set_attributes,
+                             check1[i].type);
+        val->crypto_function(VAL_CRYPTO_SET_KEY_BITS,
+                             &set_attributes,
+                             check1[i].bits);
+        val->crypto_function(VAL_CRYPTO_SET_KEY_USAGE_FLAGS,
+                             &set_attributes,
+                             check1[i].usage_flags);
+        val->crypto_function(VAL_CRYPTO_SET_KEY_ID,
+                             &set_attributes,
+                             check1[i].id);
+        val->crypto_function(VAL_CRYPTO_SET_KEY_LIFETIME,
+                             &set_attributes,
+                             check1[i].lifetime);
+        val->crypto_function(VAL_CRYPTO_SET_KEY_ALGORITHM,
+                             &set_attributes,
+                             check1[i].alg);
 
         /* Import the key data into the key slot */
-        status = val->crypto_function(VAL_CRYPTO_IMPORT_KEY, &set_attributes, check1[i].data,
-                 check1[i].data_length, &key_handle);
+        status = val->crypto_function(VAL_CRYPTO_IMPORT_KEY,
+                                      &set_attributes,
+                                      check1[i].data,
+                                      check1[i].data_length,
+                                      &key_handle);
         TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(3));
 
         /* Destroy the key handle */
-        status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, key_handle);
+        status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY,
+                                      key_handle);
         TEST_ASSERT_EQUAL(status, check1[i].expected_status, TEST_CHECKPOINT_NUM(4));
 
         /* Getting the attributes of the destroyed key should return error */
-        status = val->crypto_function(VAL_CRYPTO_GET_KEY_ATTRIBUTES, key_handle,
-                 &attributes);
+        status = val->crypto_function(VAL_CRYPTO_GET_KEY_ATTRIBUTES,
+                                      key_handle,
+                                      &attributes);
         TEST_ASSERT_EQUAL(status, PSA_ERROR_INVALID_HANDLE, TEST_CHECKPOINT_NUM(5));
 
         /* Check if all the attributes are erased */
-        val->crypto_function(VAL_CRYPTO_GET_KEY_TYPE, &attributes, &get_type);
+        val->crypto_function(VAL_CRYPTO_GET_KEY_TYPE,
+                             &attributes,
+                             &get_type);
         TEST_ASSERT_EQUAL(get_type, 0, TEST_CHECKPOINT_NUM(6));
 
-        val->crypto_function(VAL_CRYPTO_GET_KEY_ID, &attributes, &get_id);
+        val->crypto_function(VAL_CRYPTO_GET_KEY_ID,
+                             &attributes,
+                             &get_id);
         TEST_ASSERT_EQUAL(get_id, 0, TEST_CHECKPOINT_NUM(7));
 
-        val->crypto_function(VAL_CRYPTO_GET_KEY_LIFETIME, &attributes, &get_lifetime);
+        val->crypto_function(VAL_CRYPTO_GET_KEY_LIFETIME,
+                             &attributes,
+                             &get_lifetime);
         TEST_ASSERT_EQUAL(get_lifetime, 0, TEST_CHECKPOINT_NUM(8));
 
-        val->crypto_function(VAL_CRYPTO_GET_KEY_USAGE_FLAGS, &attributes, &get_usage_flags);
+        val->crypto_function(VAL_CRYPTO_GET_KEY_USAGE_FLAGS,
+                             &attributes,
+                             &get_usage_flags);
         TEST_ASSERT_EQUAL(get_usage_flags, 0, TEST_CHECKPOINT_NUM(9));
 
-        val->crypto_function(VAL_CRYPTO_GET_KEY_ALGORITHM, &attributes, &get_alg);
+        val->crypto_function(VAL_CRYPTO_GET_KEY_ALGORITHM,
+                             &attributes,
+                             &get_alg);
         TEST_ASSERT_EQUAL(get_alg, 0, TEST_CHECKPOINT_NUM(10));
 
-        val->crypto_function(VAL_CRYPTO_GET_KEY_BITS, &attributes, &get_bits);
+        val->crypto_function(VAL_CRYPTO_GET_KEY_BITS,
+                             &attributes,
+                             &get_bits);
         TEST_ASSERT_EQUAL(get_bits,  0, TEST_CHECKPOINT_NUM(11));
 
         /* Destroying an empty key handle should return error */
-        status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, key_handle);
+        status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY,
+                                      key_handle);
         TEST_ASSERT_EQUAL(status, PSA_ERROR_INVALID_HANDLE, TEST_CHECKPOINT_NUM(12));
 
     }
diff --git a/api-tests/dev_apis/crypto/test_c005/test_data.h b/api-tests/dev_apis/crypto/test_c005/test_data.h
index 2dd9d36..ff7aa1c 100644
--- a/api-tests/dev_apis/crypto/test_c005/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c005/test_data.h
@@ -32,7 +32,8 @@
 
 static const test_data check1[] = {
 
-#ifdef ARCH_TEST_CIPER_MODE_CTR
+#ifdef ARCH_TEST_AES
+#ifdef ARCH_TEST_CCM
 #ifdef ARCH_TEST_AES_128
 {
     .test_desc       = "Test psa_destroy_key 16 Byte AES\n",
@@ -41,7 +42,7 @@
     .data_length     = AES_16B_KEY_SIZE,
     .bits            = BYTES_TO_BITS(AES_16B_KEY_SIZE),
     .usage_flags     = PSA_KEY_USAGE_EXPORT,
-    .alg             = PSA_ALG_CTR,
+    .alg             = PSA_ALG_CCM,
     .id              = 0x12,
     .lifetime        = PSA_KEY_LIFETIME_VOLATILE,
     .expected_status = PSA_SUCCESS
@@ -56,7 +57,7 @@
     .data_length     = AES_24B_KEY_SIZE,
     .bits            = BYTES_TO_BITS(AES_24B_KEY_SIZE),
     .usage_flags     = PSA_KEY_USAGE_EXPORT,
-    .alg             = PSA_ALG_CTR,
+    .alg             = PSA_ALG_CCM,
     .id              = 0x34,
     .lifetime        = PSA_KEY_LIFETIME_VOLATILE,
     .expected_status = PSA_SUCCESS
@@ -71,13 +72,14 @@
     .data_length      = AES_32B_KEY_SIZE,
     .bits             = BYTES_TO_BITS(AES_32B_KEY_SIZE),
     .usage_flags      = PSA_KEY_USAGE_EXPORT,
-    .alg              = PSA_ALG_CTR,
+    .alg              = PSA_ALG_CCM,
     .id               = 0x56,
     .lifetime         = PSA_KEY_LIFETIME_VOLATILE,
     .expected_status  = PSA_SUCCESS
 },
 #endif
 #endif
+#endif
 
 #ifdef ARCH_TEST_RSA_PKCS1V15_SIGN_RAW
 #ifdef ARCH_TEST_RSA_2048
@@ -109,7 +111,7 @@
 #endif
 #endif
 
-#ifdef ARCH_TEST_CIPER_MODE_CTR
+#ifdef ARCH_TEST_CIPHER_MODE_CTR
 #ifdef ARCH_TEST_DES_1KEY
 {
     .test_desc        = "Test psa_destroy_key with DES 64 bit key\n",
diff --git a/api-tests/dev_apis/crypto/test_c005/test_entry_c005.c b/api-tests/dev_apis/crypto/test_c005/test_entry_c005.c
index 8a6afe9..275f534 100644
--- a/api-tests/dev_apis/crypto/test_c005/test_entry_c005.c
+++ b/api-tests/dev_apis/crypto/test_c005/test_entry_c005.c
@@ -1,5 +1,5 @@
 /** @file
- * Copyright (c) 2018, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2018-2020, Arm Limited or its affiliates. All rights reserved.
  * SPDX-License-Identifier : Apache-2.0
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/api-tests/dev_apis/crypto/test_c006/test_data.h b/api-tests/dev_apis/crypto/test_c006/test_data.h
index 6da03eb..0df4fed 100644
--- a/api-tests/dev_apis/crypto/test_c006/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c006/test_data.h
@@ -154,21 +154,20 @@
     .expected_hash_length = 64,
     .expected_status      = PSA_SUCCESS,
 },
+#endif
 
-#ifdef ARCH_TEST_SHA512
+#ifdef ARCH_TEST_SHA256
 {
     .test_desc            = "Test psa_hash_compute with small buffer size\n",
-    .alg                  = PSA_ALG_SHA_512,
+    .alg                  = PSA_ALG_SHA_256,
     .input                = &hash_input,
     .input_length         = sizeof(hash_input),
     .hash                 = expected_output,
-    .hash_size            = 60,
-    .expected_hash        = expected_output,
-    .expected_hash_length = 64,
+    .hash_size            = 30,
+    .expected_hash        = sha_256_hash,
+    .expected_hash_length = 32,
     .expected_status      = PSA_ERROR_BUFFER_TOO_SMALL,
 },
-#endif
-#endif
 
 {
     .test_desc            = "Test psa_hash_compute with invalid algorithm\n",
@@ -177,8 +176,9 @@
     .input_length         = sizeof(hash_input),
     .hash                 = expected_output,
     .hash_size            = BUFFER_SIZE,
-    .expected_hash        = sha_512_hash,
-    .expected_hash_length = 64,
+    .expected_hash        = sha_256_hash,
+    .expected_hash_length = 32,
     .expected_status      = PSA_ERROR_NOT_SUPPORTED,
 },
+#endif
 };
diff --git a/api-tests/dev_apis/crypto/test_c006/test_entry_c006.c b/api-tests/dev_apis/crypto/test_c006/test_entry_c006.c
index 03411be..b62ecdf 100644
--- a/api-tests/dev_apis/crypto/test_c006/test_entry_c006.c
+++ b/api-tests/dev_apis/crypto/test_c006/test_entry_c006.c
@@ -1,5 +1,5 @@
 /** @file
- * Copyright (c) 2018, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2018-2020, Arm Limited or its affiliates. All rights reserved.
  * SPDX-License-Identifier : Apache-2.0
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/api-tests/dev_apis/crypto/test_c007/test_data.h b/api-tests/dev_apis/crypto/test_c007/test_data.h
index 22ca0b9..7028099 100644
--- a/api-tests/dev_apis/crypto/test_c007/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c007/test_data.h
@@ -30,7 +30,7 @@
 static const test_data check1[] = {
 #ifdef ARCH_TEST_MD2
 {
-    .test_desc       = "Test psa_hash_compare with MD2 algorithm\n",
+    .test_desc       = "Test psa_hash_compare - MD2 algorithm\n",
     .alg             = PSA_ALG_MD2,
     .input           = &hash_input,
     .input_length    = sizeof(hash_input),
@@ -42,7 +42,7 @@
 
 #ifdef ARCH_TEST_MD4
 {
-    .test_desc       = "Test psa_hash_compare with MD4 algorithm\n",
+    .test_desc       = "Test psa_hash_compare - MD4 algorithm\n",
     .alg             = PSA_ALG_MD4,
     .input           = &hash_input,
     .input_length    = sizeof(hash_input),
@@ -54,7 +54,7 @@
 
 #ifdef ARCH_TEST_MD5
 {
-    .test_desc       = "Test psa_hash_compare with MD5 algorithm\n",
+    .test_desc       = "Test psa_hash_compare - MD5 algorithm\n",
     .alg             = PSA_ALG_MD5,
     .input           = &hash_input,
     .input_length    = sizeof(hash_input),
@@ -66,7 +66,7 @@
 
 #ifdef ARCH_TEST_RIPEMD160
 {
-    .test_desc       = "Test psa_hash_compare with RIPEMD160 algorithm\n",
+    .test_desc       = "Test psa_hash_compare - RIPEMD160 algorithm\n",
     .alg             = PSA_ALG_RIPEMD160,
     .input           = &hash_input,
     .input_length    = sizeof(hash_input),
@@ -78,7 +78,7 @@
 
 #ifdef ARCH_TEST_SHA1
 {
-    .test_desc       = "Test psa_hash_compare with SHA1 algorithm\n",
+    .test_desc       = "Test psa_hash_compare - SHA1 algorithm\n",
     .alg             = PSA_ALG_SHA_1,
     .input           = &hash_input,
     .input_length    = sizeof(hash_input),
@@ -90,7 +90,7 @@
 
 #ifdef ARCH_TEST_SHA224
 {
-    .test_desc       = "Test psa_hash_compare with SHA224 algorithm\n",
+    .test_desc       = "Test psa_hash_compare - SHA224 algorithm\n",
     .alg             = PSA_ALG_SHA_224,
     .input           = &hash_input,
     .input_length    = sizeof(hash_input),
@@ -102,7 +102,7 @@
 
 #ifdef ARCH_TEST_SHA256
 {
-    .test_desc       = "Test psa_hash_compare with SHA256 algorithm\n",
+    .test_desc       = "Test psa_hash_compare - SHA256 algorithm\n",
     .alg             = PSA_ALG_SHA_256,
     .input           = &hash_input,
     .input_length    = sizeof(hash_input),
@@ -114,7 +114,7 @@
 
 #ifdef ARCH_TEST_SHA384
 {
-    .test_desc       = "Test psa_hash_compare with SHA384 algorithm\n",
+    .test_desc       = "Test psa_hash_compare - SHA384 algorithm\n",
     .alg             = PSA_ALG_SHA_384,
     .input           = &hash_input,
     .input_length    = sizeof(hash_input),
@@ -126,7 +126,7 @@
 
 #ifdef ARCH_TEST_SHA512
 {
-    .test_desc       = "Test psa_hash_compare with SHA512 algorithm\n",
+    .test_desc       = "Test psa_hash_compare - SHA512 algorithm\n",
     .alg             = PSA_ALG_SHA_512,
     .input           = &hash_input,
     .input_length    = sizeof(hash_input),
@@ -138,7 +138,7 @@
 
 #ifdef ARCH_TEST_SHA256
 {
-    .test_desc       = "Test psa_hash_compare with incorrect hash\n",
+    .test_desc       = "Test psa_hash_compare - incorrect hash\n",
     .alg             = PSA_ALG_SHA_256,
     .input           = &hash_input,
     .input_length    = sizeof(hash_input),
@@ -148,7 +148,7 @@
 },
 
 {
-    .test_desc       = "Test psa_hash_compare with incorrect hash length\n",
+    .test_desc       = "Test psa_hash_compare - incorrect hash length\n",
     .alg             = PSA_ALG_SHA_256,
     .input           = &hash_input,
     .input_length    = sizeof(hash_input)/sizeof(uint8_t),
@@ -158,7 +158,7 @@
 },
 
 {
-    .test_desc       = "Test psa_hash_compare with invalid algorithm\n",
+    .test_desc       = "Test psa_hash_compare - invalid algorithm\n",
     .alg             = PSA_HASH_ALG_INVALID,
     .input           = &hash_input,
     .input_length    = sizeof(hash_input),
diff --git a/api-tests/dev_apis/crypto/test_c007/test_entry_c007.c b/api-tests/dev_apis/crypto/test_c007/test_entry_c007.c
index f867c32..3992711 100644
--- a/api-tests/dev_apis/crypto/test_c007/test_entry_c007.c
+++ b/api-tests/dev_apis/crypto/test_c007/test_entry_c007.c
@@ -1,5 +1,5 @@
 /** @file
- * Copyright (c) 2018, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2018-2020, Arm Limited or its affiliates. All rights reserved.
  * SPDX-License-Identifier : Apache-2.0
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/api-tests/dev_apis/crypto/test_c008/test_entry_c008.c b/api-tests/dev_apis/crypto/test_c008/test_entry_c008.c
index 389d479..594e384 100644
--- a/api-tests/dev_apis/crypto/test_c008/test_entry_c008.c
+++ b/api-tests/dev_apis/crypto/test_c008/test_entry_c008.c
@@ -1,5 +1,5 @@
 /** @file
- * Copyright (c) 2018, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2018-2020, Arm Limited or its affiliates. All rights reserved.
  * SPDX-License-Identifier : Apache-2.0
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/api-tests/dev_apis/crypto/test_c009/test_entry_c009.c b/api-tests/dev_apis/crypto/test_c009/test_entry_c009.c
index da86b31..bf04626 100644
--- a/api-tests/dev_apis/crypto/test_c009/test_entry_c009.c
+++ b/api-tests/dev_apis/crypto/test_c009/test_entry_c009.c
@@ -1,5 +1,5 @@
 /** @file
- * Copyright (c) 2018, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2018-2020, Arm Limited or its affiliates. All rights reserved.
  * SPDX-License-Identifier : Apache-2.0
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/api-tests/dev_apis/crypto/test_c010/test_entry_c010.c b/api-tests/dev_apis/crypto/test_c010/test_entry_c010.c
index 62daec9..311a99a 100644
--- a/api-tests/dev_apis/crypto/test_c010/test_entry_c010.c
+++ b/api-tests/dev_apis/crypto/test_c010/test_entry_c010.c
@@ -1,5 +1,5 @@
 /** @file
- * Copyright (c) 2018, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2018-2020, Arm Limited or its affiliates. All rights reserved.
  * SPDX-License-Identifier : Apache-2.0
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/api-tests/dev_apis/crypto/test_c011/test_entry_c011.c b/api-tests/dev_apis/crypto/test_c011/test_entry_c011.c
index 256d528..5b3b48c 100644
--- a/api-tests/dev_apis/crypto/test_c011/test_entry_c011.c
+++ b/api-tests/dev_apis/crypto/test_c011/test_entry_c011.c
@@ -1,5 +1,5 @@
 /** @file
- * Copyright (c) 2018, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2018-2020, Arm Limited or its affiliates. All rights reserved.
  * SPDX-License-Identifier : Apache-2.0
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/api-tests/dev_apis/crypto/test_c012/test_entry_c012.c b/api-tests/dev_apis/crypto/test_c012/test_entry_c012.c
index f4ee08d..bbd47c8 100644
--- a/api-tests/dev_apis/crypto/test_c012/test_entry_c012.c
+++ b/api-tests/dev_apis/crypto/test_c012/test_entry_c012.c
@@ -1,5 +1,5 @@
 /** @file
- * Copyright (c) 2018, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2018-2020, Arm Limited or its affiliates. All rights reserved.
  * SPDX-License-Identifier : Apache-2.0
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/api-tests/dev_apis/crypto/test_c013/test_entry_c013.c b/api-tests/dev_apis/crypto/test_c013/test_entry_c013.c
index 79c6796..d746370 100644
--- a/api-tests/dev_apis/crypto/test_c013/test_entry_c013.c
+++ b/api-tests/dev_apis/crypto/test_c013/test_entry_c013.c
@@ -1,5 +1,5 @@
 /** @file
- * Copyright (c) 2018, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2018-2020, Arm Limited or its affiliates. All rights reserved.
  * SPDX-License-Identifier : Apache-2.0
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/api-tests/dev_apis/crypto/test_c014/test_entry_c014.c b/api-tests/dev_apis/crypto/test_c014/test_entry_c014.c
index 7b5e481..a7bd954 100644
--- a/api-tests/dev_apis/crypto/test_c014/test_entry_c014.c
+++ b/api-tests/dev_apis/crypto/test_c014/test_entry_c014.c
@@ -1,5 +1,5 @@
 /** @file
- * Copyright (c) 2018, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2018-2020, Arm Limited or its affiliates. All rights reserved.
  * SPDX-License-Identifier : Apache-2.0
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/api-tests/dev_apis/crypto/test_c015/test_entry_c015.c b/api-tests/dev_apis/crypto/test_c015/test_entry_c015.c
index db1fbe1..667bd67 100644
--- a/api-tests/dev_apis/crypto/test_c015/test_entry_c015.c
+++ b/api-tests/dev_apis/crypto/test_c015/test_entry_c015.c
@@ -1,5 +1,5 @@
 /** @file
- * Copyright (c) 2018, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2018-2020, Arm Limited or its affiliates. All rights reserved.
  * SPDX-License-Identifier : Apache-2.0
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/api-tests/dev_apis/crypto/test_c016/test_data.h b/api-tests/dev_apis/crypto/test_c016/test_data.h
index 0157e54..287a8da 100644
--- a/api-tests/dev_apis/crypto/test_c016/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c016/test_data.h
@@ -28,7 +28,8 @@
 } test_data;
 
 static const test_data check1[] = {
-#ifdef ARCH_TEST_CIPER_MODE_CTR
+#ifdef ARCH_TEST_AES
+#ifdef ARCH_TEST_CCM
 #ifdef ARCH_TEST_AES_128
 {
     .test_desc       = "Test psa_generate_key 16 Byte AES\n",
@@ -64,7 +65,10 @@
     .expected_status = PSA_SUCCESS
 },
 #endif
+#endif
+#endif
 
+#ifdef ARCH_TEST_CIPHER_MODE_CTR
 #ifdef ARCH_TEST_DES_1KEY
 {
     .test_desc       = "Test psa_generate_key with DES 64 bit key\n",
@@ -100,7 +104,6 @@
     .expected_status = PSA_SUCCESS
 },
 #endif
-
 #endif
 
 #ifdef ARCH_TEST_RSA
@@ -147,11 +150,14 @@
 #endif
 #endif
 
+#ifdef ARCH_TEST_AES
+#ifdef ARCH_TEST_CCM
+#ifdef ARCH_TEST_AES_128
 {
     .test_desc       = "Test psa_generate_key with invalid key type\n",
     .type            = 0,
     .usage_flags     = PSA_KEY_USAGE_EXPORT,
-    .alg             = PSA_ALG_CTR,
+    .alg             = PSA_ALG_CCM,
     .bits            = BYTES_TO_BITS(AES_16B_KEY_SIZE),
     .expected_range  = {AES_16B_KEY_SIZE, AES_16B_KEY_SIZE},
     .expected_status = PSA_ERROR_NOT_SUPPORTED
@@ -161,9 +167,12 @@
     .test_desc       = "Test psa_generate_key with invalid usage flags\n",
     .type            = PSA_KEY_TYPE_AES,
     .usage_flags     = PSA_KEY_USAGE_INVALID,
-    .alg             = PSA_ALG_CTR,
+    .alg             = PSA_ALG_CCM,
     .bits            = BYTES_TO_BITS(AES_16B_KEY_SIZE),
     .expected_range  = {AES_16B_KEY_SIZE, AES_16B_KEY_SIZE},
     .expected_status = PSA_ERROR_INVALID_ARGUMENT
 },
+#endif
+#endif
+#endif
 };
diff --git a/api-tests/dev_apis/crypto/test_c016/test_entry_c016.c b/api-tests/dev_apis/crypto/test_c016/test_entry_c016.c
index d864961..346048d 100644
--- a/api-tests/dev_apis/crypto/test_c016/test_entry_c016.c
+++ b/api-tests/dev_apis/crypto/test_c016/test_entry_c016.c
@@ -1,5 +1,5 @@
 /** @file
- * Copyright (c) 2018, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2018-2020, Arm Limited or its affiliates. All rights reserved.
  * SPDX-License-Identifier : Apache-2.0
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/api-tests/dev_apis/crypto/test_c017/test_entry_c017.c b/api-tests/dev_apis/crypto/test_c017/test_entry_c017.c
index 7d13127..7e585b3 100644
--- a/api-tests/dev_apis/crypto/test_c017/test_entry_c017.c
+++ b/api-tests/dev_apis/crypto/test_c017/test_entry_c017.c
@@ -1,5 +1,5 @@
 /** @file
- * Copyright (c) 2018, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2018-2020, Arm Limited or its affiliates. All rights reserved.
  * SPDX-License-Identifier : Apache-2.0
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/api-tests/dev_apis/crypto/test_c018/test_entry_c018.c b/api-tests/dev_apis/crypto/test_c018/test_entry_c018.c
index 5ffcae3..a03a215 100644
--- a/api-tests/dev_apis/crypto/test_c018/test_entry_c018.c
+++ b/api-tests/dev_apis/crypto/test_c018/test_entry_c018.c
@@ -1,5 +1,5 @@
 /** @file
- * Copyright (c) 2018, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2018-2020, Arm Limited or its affiliates. All rights reserved.
  * SPDX-License-Identifier : Apache-2.0
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/api-tests/dev_apis/crypto/test_c019/test_c019.c b/api-tests/dev_apis/crypto/test_c019/test_c019.c
index 99b212e..62bdf65 100644
--- a/api-tests/dev_apis/crypto/test_c019/test_c019.c
+++ b/api-tests/dev_apis/crypto/test_c019/test_c019.c
@@ -88,9 +88,6 @@
         /* Reset the key attributes and check if psa_import_key fails */
         val->crypto_function(VAL_CRYPTO_RESET_KEY_ATTRIBUTES, &attributes);
 
-        if (check1[i].expected_status != PSA_SUCCESS)
-            continue;
-
         /* Destroy a key and restore the slot to its default state */
         status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, key_handle);
         TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(7));
diff --git a/api-tests/dev_apis/crypto/test_c019/test_entry_c019.c b/api-tests/dev_apis/crypto/test_c019/test_entry_c019.c
index 0016b34..7c9deb6 100644
--- a/api-tests/dev_apis/crypto/test_c019/test_entry_c019.c
+++ b/api-tests/dev_apis/crypto/test_c019/test_entry_c019.c
@@ -1,5 +1,5 @@
 /** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
  * SPDX-License-Identifier : Apache-2.0
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/api-tests/dev_apis/crypto/test_c020/test_entry_c020.c b/api-tests/dev_apis/crypto/test_c020/test_entry_c020.c
index de7243b..a70c09c 100644
--- a/api-tests/dev_apis/crypto/test_c020/test_entry_c020.c
+++ b/api-tests/dev_apis/crypto/test_c020/test_entry_c020.c
@@ -1,5 +1,5 @@
 /** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
  * SPDX-License-Identifier : Apache-2.0
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/api-tests/dev_apis/crypto/test_c021/test_entry_c021.c b/api-tests/dev_apis/crypto/test_c021/test_entry_c021.c
index 92cd39a..ee4fcfd 100644
--- a/api-tests/dev_apis/crypto/test_c021/test_entry_c021.c
+++ b/api-tests/dev_apis/crypto/test_c021/test_entry_c021.c
@@ -1,5 +1,5 @@
 /** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
  * SPDX-License-Identifier : Apache-2.0
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/api-tests/dev_apis/crypto/test_c022/test_entry_c022.c b/api-tests/dev_apis/crypto/test_c022/test_entry_c022.c
index 51cffea..5de2354 100644
--- a/api-tests/dev_apis/crypto/test_c022/test_entry_c022.c
+++ b/api-tests/dev_apis/crypto/test_c022/test_entry_c022.c
@@ -1,5 +1,5 @@
 /** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
  * SPDX-License-Identifier : Apache-2.0
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/api-tests/dev_apis/crypto/test_c023/test_entry_c023.c b/api-tests/dev_apis/crypto/test_c023/test_entry_c023.c
index cebd052..2f9becc 100644
--- a/api-tests/dev_apis/crypto/test_c023/test_entry_c023.c
+++ b/api-tests/dev_apis/crypto/test_c023/test_entry_c023.c
@@ -1,5 +1,5 @@
 /** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
  * SPDX-License-Identifier : Apache-2.0
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/api-tests/dev_apis/crypto/test_c024/test_entry_c024.c b/api-tests/dev_apis/crypto/test_c024/test_entry_c024.c
index 2c0a568..bca49c9 100644
--- a/api-tests/dev_apis/crypto/test_c024/test_entry_c024.c
+++ b/api-tests/dev_apis/crypto/test_c024/test_entry_c024.c
@@ -1,5 +1,5 @@
 /** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
  * SPDX-License-Identifier : Apache-2.0
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/api-tests/dev_apis/crypto/test_c025/test_entry_c025.c b/api-tests/dev_apis/crypto/test_c025/test_entry_c025.c
index a1fab7f..9c3ac1d 100644
--- a/api-tests/dev_apis/crypto/test_c025/test_entry_c025.c
+++ b/api-tests/dev_apis/crypto/test_c025/test_entry_c025.c
@@ -1,5 +1,5 @@
 /** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
  * SPDX-License-Identifier : Apache-2.0
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/api-tests/dev_apis/crypto/test_c026/test_entry_c026.c b/api-tests/dev_apis/crypto/test_c026/test_entry_c026.c
index acfb140..f1fcea6 100644
--- a/api-tests/dev_apis/crypto/test_c026/test_entry_c026.c
+++ b/api-tests/dev_apis/crypto/test_c026/test_entry_c026.c
@@ -1,5 +1,5 @@
 /** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
  * SPDX-License-Identifier : Apache-2.0
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/api-tests/dev_apis/crypto/test_c027/test_entry_c027.c b/api-tests/dev_apis/crypto/test_c027/test_entry_c027.c
index a924be9..7856607 100644
--- a/api-tests/dev_apis/crypto/test_c027/test_entry_c027.c
+++ b/api-tests/dev_apis/crypto/test_c027/test_entry_c027.c
@@ -1,5 +1,5 @@
 /** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
  * SPDX-License-Identifier : Apache-2.0
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/api-tests/dev_apis/crypto/test_c028/test_data.h b/api-tests/dev_apis/crypto/test_c028/test_data.h
index bd4e96a..e489c56 100644
--- a/api-tests/dev_apis/crypto/test_c028/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c028/test_data.h
@@ -98,14 +98,19 @@
  PSA_KEY_USAGE_SIGN, PSA_ALG_CMAC,
  PSA_SUCCESS
 },
+#endif
+#endif
 
-{"Test psa_mac_sign_finish small size buffer\n", PSA_KEY_TYPE_AES,
-{0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09,
- 0xcf, 0x4f, 0x3c}, 16,
+#ifdef ARCH_TEST_HMAC
+#ifdef ARCH_TEST_SHA256
+{"Test psa_mac_sign_finish - Small buffer size\n", PSA_KEY_TYPE_HMAC,
+{0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b,
+ 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b}, 20,
 {0x48, 0x69, 0x20, 0x54, 0x68, 0x65, 0x72, 0x65}, 8,
-{0x9A, 0x8F, 0xFF, 0x8D, 0xA3, 0x5B, 0x97, 0xCB, 0x4C, 0x95, 0xF0, 0xFA, 0x6A,
- 0xE7, 0xE0, 0x77}, 8, 16,
- PSA_KEY_USAGE_SIGN, PSA_ALG_CMAC,
+{0xb0, 0x34, 0x4c, 0x61, 0xd8, 0xdb, 0x38, 0x53, 0x5c, 0xa8, 0xaf, 0xce, 0xaf,
+ 0x0b, 0xf1, 0x2b, 0x88, 0x1d, 0xc2, 0x00, 0xc9, 0x83, 0x3d, 0xa7, 0x26, 0xe9,
+ 0x37, 0x6c, 0x2e, 0x32, 0xcf, 0xf7}, 31, 32,
+ PSA_KEY_USAGE_SIGN, PSA_ALG_HMAC(PSA_ALG_SHA_256),
  PSA_ERROR_BUFFER_TOO_SMALL
 },
 #endif
diff --git a/api-tests/dev_apis/crypto/test_c028/test_entry_c028.c b/api-tests/dev_apis/crypto/test_c028/test_entry_c028.c
index 33eb483..3d27987 100644
--- a/api-tests/dev_apis/crypto/test_c028/test_entry_c028.c
+++ b/api-tests/dev_apis/crypto/test_c028/test_entry_c028.c
@@ -1,5 +1,5 @@
 /** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
  * SPDX-License-Identifier : Apache-2.0
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/api-tests/dev_apis/crypto/test_c029/test_entry_c029.c b/api-tests/dev_apis/crypto/test_c029/test_entry_c029.c
index f3774de..a958c9e 100644
--- a/api-tests/dev_apis/crypto/test_c029/test_entry_c029.c
+++ b/api-tests/dev_apis/crypto/test_c029/test_entry_c029.c
@@ -1,5 +1,5 @@
 /** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
  * SPDX-License-Identifier : Apache-2.0
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/api-tests/dev_apis/crypto/test_c030/test_data.h b/api-tests/dev_apis/crypto/test_c030/test_data.h
index e4c8cc3..cbe6979 100644
--- a/api-tests/dev_apis/crypto/test_c030/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c030/test_data.h
@@ -34,7 +34,7 @@
 static const test_data check1[] = {
 #ifdef ARCH_TEST_HMAC
 #ifdef ARCH_TEST_SHA224
-{"Test psa_mac_verify_finish HMAC SHA 224\n", PSA_KEY_TYPE_HMAC,
+{"Test psa_mac_verify_finish - HMAC - SHA 224\n", PSA_KEY_TYPE_HMAC,
 {0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b,
  0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b}, 20,
 {0x48, 0x69, 0x20, 0x54, 0x68, 0x65, 0x72, 0x65}, 8,
@@ -47,7 +47,7 @@
 #endif
 
 #ifdef ARCH_TEST_SHA256
-{"Test psa_mac_verify_finish HMAC SHA 256\n", PSA_KEY_TYPE_HMAC,
+{"Test psa_mac_verify_finish - HMAC - SHA 256\n", PSA_KEY_TYPE_HMAC,
 {0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b,
  0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b}, 20,
 {0x48, 0x69, 0x20, 0x54, 0x68, 0x65, 0x72, 0x65}, 8,
@@ -60,7 +60,7 @@
 #endif
 
 #ifdef ARCH_TEST_SHA512
-{"Test psa_mac_verify_finish HMAC SHA 512\n", PSA_KEY_TYPE_HMAC,
+{"Test psa_mac_verify_finish - HMAC - SHA 512\n", PSA_KEY_TYPE_HMAC,
 {0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b,
  0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b}, 20,
 {0x48, 0x69, 0x20, 0x54, 0x68, 0x65, 0x72, 0x65}, 8,
@@ -75,7 +75,7 @@
 #endif
 
 #ifdef ARCH_TEST_SHA224
-{"Test psa_mac_verify_finish HMAC SHA 224 (truncated to 8 Byte)\n", PSA_KEY_TYPE_HMAC,
+{"Test psa_mac_verify_finish - HMAC - SHA 224 (truncated to 8 Byte)\n", PSA_KEY_TYPE_HMAC,
 {0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b,
  0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b}, 20,
 {0x48, 0x69, 0x20, 0x54, 0x68, 0x65, 0x72, 0x65}, 8,
@@ -88,7 +88,7 @@
 
 #ifdef ARCH_TEST_AES_128
 #ifdef ARCH_TEST_CMAC
-{"Test psa_mac_verify_finish CMAC AES 128\n", PSA_KEY_TYPE_AES,
+{"Test psa_mac_verify_finish - CMAC - AES 128\n", PSA_KEY_TYPE_AES,
 {0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09,
  0xcf, 0x4f, 0x3c}, 16,
 {0x48, 0x69, 0x20, 0x54, 0x68, 0x65, 0x72, 0x65}, 8,
@@ -102,7 +102,7 @@
 
 #ifdef ARCH_TEST_HMAC
 #ifdef ARCH_TEST_SHA256
-{"Test psa_mac_verify_finish small size buffer\n", PSA_KEY_TYPE_HMAC,
+{"Test psa_mac_verify_finish - small size buffer\n", PSA_KEY_TYPE_HMAC,
 {0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b,
  0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b}, 20,
 {0x48, 0x69, 0x20, 0x54, 0x68, 0x65, 0x72, 0x65}, 8,
@@ -112,17 +112,15 @@
  PSA_KEY_USAGE_VERIFY, PSA_ALG_HMAC(PSA_ALG_SHA_256),
  PSA_ERROR_INVALID_SIGNATURE
 },
-#endif
 
-#ifdef ARCH_TEST_SHA224
-{"Test psa_mac_verify_finish incorrect expected MAC\n", PSA_KEY_TYPE_HMAC,
+{"Test psa_mac_verify_finish - Incorrect expected MAC\n", PSA_KEY_TYPE_HMAC,
 {0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b,
  0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b}, 20,
 {0x48, 0x69, 0x20, 0x54, 0x68, 0x65, 0x72, 0x65}, 8,
-{0x89, 0x6f, 0xb1, 0x12, 0x8a, 0xbb, 0xdf, 0x19, 0x68, 0x32, 0x10, 0x7c, 0xd4,
- 0x9d, 0xf3, 0x3f, 0x47, 0xb4, 0xb1, 0x16, 0x99, 0x12, 0xba, 0x4f, 0x53, 0x68,
- 0x4b, 0x20}, 28,
- PSA_KEY_USAGE_VERIFY, PSA_ALG_HMAC(PSA_ALG_SHA_224),
+{0xb0, 0x34, 0x4c, 0x61, 0xd8, 0xdb, 0x38, 0x53, 0x5c, 0xa8, 0xaf, 0xce, 0xaf,
+ 0x0b, 0xf1, 0x2b, 0x88, 0x1d, 0xc2, 0x00, 0xc9, 0x83, 0x3d, 0xa7, 0x26, 0xe9,
+ 0x39, 0x6c, 0x2e, 0x32, 0xcf, 0xf7}, 32,
+ PSA_KEY_USAGE_VERIFY, PSA_ALG_HMAC(PSA_ALG_SHA_256),
  PSA_ERROR_INVALID_SIGNATURE
 },
 #endif
diff --git a/api-tests/dev_apis/crypto/test_c030/test_entry_c030.c b/api-tests/dev_apis/crypto/test_c030/test_entry_c030.c
index bfa041b..bec961d 100644
--- a/api-tests/dev_apis/crypto/test_c030/test_entry_c030.c
+++ b/api-tests/dev_apis/crypto/test_c030/test_entry_c030.c
@@ -1,5 +1,5 @@
 /** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
  * SPDX-License-Identifier : Apache-2.0
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/api-tests/dev_apis/crypto/test_c031/test_c031.c b/api-tests/dev_apis/crypto/test_c031/test_c031.c
index 7cbcd4f..f4ffff1 100644
--- a/api-tests/dev_apis/crypto/test_c031/test_c031.c
+++ b/api-tests/dev_apis/crypto/test_c031/test_c031.c
@@ -30,6 +30,7 @@
 extern  uint32_t g_test_count;
 
 static uint8_t     data[BUFFER_SIZE];
+static int32_t  valid_test_input_index = -1;
 
 int32_t psa_mac_abort_test(caller_security_t caller __UNUSED)
 {
@@ -85,6 +86,9 @@
         /* Destroy the key */
         status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, key_handle);
         TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(7));
+
+        if (valid_test_input_index < 0)
+            valid_test_input_index = i;
     }
 
     return VAL_STATUS_SUCCESS;
@@ -93,19 +97,16 @@
 int32_t psa_mac_abort_before_finish_test(caller_security_t caller __UNUSED)
 {
     size_t                length;
-    psa_algorithm_t       key_alg = PSA_ALG_CMAC;
-    psa_key_usage_t       usage = PSA_KEY_USAGE_SIGN;
     psa_key_handle_t      key_handle = 10;
-    psa_key_type_t        key_type = PSA_KEY_TYPE_AES;
     psa_mac_operation_t   operation;
-    uint8_t               key_data[] = {0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7,
-                                      0x15, 0x88, 0x09, 0xcf, 0x4f, 0x3c};
     uint8_t               input_data[] = {0x48, 0x69, 0x20, 0x54, 0x68, 0x65, 0x72, 0x65};
-    size_t                key_length = sizeof(key_data);
     size_t                inputdata_size = sizeof(input_data);
     int32_t               status;
     psa_key_attributes_t  attributes = PSA_KEY_ATTRIBUTES_INIT;
 
+    if (valid_test_input_index < 0)
+        return RESULT_SKIP(VAL_STATUS_NO_TESTS);
+
     memset(data, 0, sizeof(data));
     memset(&operation, 0, sizeof(operation));
 
@@ -121,34 +122,53 @@
     TEST_ASSERT_EQUAL(status, VAL_STATUS_SUCCESS, TEST_CHECKPOINT_NUM(2));
 
     /* Setup the attributes for the key */
-    val->crypto_function(VAL_CRYPTO_SET_KEY_TYPE, &attributes, key_type);
-    val->crypto_function(VAL_CRYPTO_SET_KEY_USAGE_FLAGS, &attributes, usage);
-    val->crypto_function(VAL_CRYPTO_SET_KEY_ALGORITHM, &attributes, key_alg);
+    val->crypto_function(VAL_CRYPTO_SET_KEY_TYPE,
+                         &attributes,
+                         check1[valid_test_input_index].key_type);
+    val->crypto_function(VAL_CRYPTO_SET_KEY_USAGE_FLAGS,
+                         &attributes,
+                         check1[valid_test_input_index].usage);
+    val->crypto_function(VAL_CRYPTO_SET_KEY_ALGORITHM,
+                         &attributes,
+                         check1[valid_test_input_index].key_alg);
 
     /* Import the key data into the key slot */
-    status = val->crypto_function(VAL_CRYPTO_IMPORT_KEY, &attributes, key_data,
-             key_length, &key_handle);
+    status = val->crypto_function(VAL_CRYPTO_IMPORT_KEY,
+                                  &attributes,
+                                  check1[valid_test_input_index].key_data,
+                                  check1[valid_test_input_index].key_length,
+                                  &key_handle);
     TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(3));
 
     /* Start a multipart MAC calculation operation */
-    status = val->crypto_function(VAL_CRYPTO_MAC_SIGN_SETUP, &operation, key_handle, key_alg);
+    status = val->crypto_function(VAL_CRYPTO_MAC_SIGN_SETUP,
+                                  &operation,
+                                  key_handle,
+                                  check1[valid_test_input_index].key_alg);
     TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(4));
 
     /* Add a message fragment to a multipart MAC operation */
-    status = val->crypto_function(VAL_CRYPTO_MAC_UPDATE, &operation, input_data, inputdata_size);
+    status = val->crypto_function(VAL_CRYPTO_MAC_UPDATE, &operation,
+                                  input_data,
+                                  inputdata_size);
     TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(5));
 
     /* Abort a MAC operation */
-    status = val->crypto_function(VAL_CRYPTO_MAC_ABORT, &operation);
+    status = val->crypto_function(VAL_CRYPTO_MAC_ABORT,
+                                  &operation);
     TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(6));
 
     /* Finish the calculation of the MAC of a message */
-    status = val->crypto_function(VAL_CRYPTO_MAC_SIGN_FINISH, &operation, data,
-                BUFFER_SIZE, &length);
+    status = val->crypto_function(VAL_CRYPTO_MAC_SIGN_FINISH,
+                                  &operation,
+                                  data,
+                                  BUFFER_SIZE,
+                                  &length);
     TEST_ASSERT_EQUAL(status, PSA_ERROR_BAD_STATE, TEST_CHECKPOINT_NUM(7));
 
     /* Destroy the key */
-    status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY, key_handle);
+    status = val->crypto_function(VAL_CRYPTO_DESTROY_KEY,
+                                  key_handle);
     TEST_ASSERT_EQUAL(status, PSA_SUCCESS, TEST_CHECKPOINT_NUM(8));
 
     return VAL_STATUS_SUCCESS;
diff --git a/api-tests/dev_apis/crypto/test_c031/test_entry_c031.c b/api-tests/dev_apis/crypto/test_c031/test_entry_c031.c
index bebb64d..ec266aa 100644
--- a/api-tests/dev_apis/crypto/test_c031/test_entry_c031.c
+++ b/api-tests/dev_apis/crypto/test_c031/test_entry_c031.c
@@ -1,5 +1,5 @@
 /** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020-2020, Arm Limited or its affiliates. All rights reserved.
  * SPDX-License-Identifier : Apache-2.0
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/api-tests/dev_apis/crypto/test_c032/test_data.h b/api-tests/dev_apis/crypto/test_c032/test_data.h
index a8cef10..0e3f681 100644
--- a/api-tests/dev_apis/crypto/test_c032/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c032/test_data.h
@@ -29,7 +29,7 @@
 } test_data;
 
 static const test_data check1[] = {
-#ifdef ARCH_TEST_CIPER_MODE_CTR
+#ifdef ARCH_TEST_CIPHER_MODE_CTR
 #ifdef ARCH_TEST_AES_128
 {
     .test_desc       = "Test psa_cipher_encrypt_setup 16 Byte AES\n",
@@ -111,7 +111,7 @@
 #endif
 #endif
 
-#ifdef ARCH_TEST_CIPER_MODE_CTR
+#ifdef ARCH_TEST_CIPHER_MODE_CTR
 {
     .test_desc       = "Test psa_cipher_encrypt_setup 16 Byte raw data\n",
     .type            = PSA_KEY_TYPE_RAW_DATA,
@@ -138,7 +138,7 @@
 },
 #endif
 
-#ifdef ARCH_TEST_CIPER
+#ifdef ARCH_TEST_CIPHER
 {
     .test_desc       = "Test psa_cipher_encrypt_setup - unknown cipher algorithm\n",
     .type            = PSA_KEY_TYPE_AES,
@@ -151,7 +151,7 @@
 },
 #endif
 
-#ifdef ARCH_TEST_CIPER_MODE_CTR
+#ifdef ARCH_TEST_CIPHER_MODE_CTR
 #ifdef ARCH_TEST_ARC4
 {
     .test_desc       = "Test psa_cipher_encrypt_setup - incompatible key ARC4\n",
diff --git a/api-tests/dev_apis/crypto/test_c032/test_entry_c032.c b/api-tests/dev_apis/crypto/test_c032/test_entry_c032.c
index 86bbfb1..720f775 100644
--- a/api-tests/dev_apis/crypto/test_c032/test_entry_c032.c
+++ b/api-tests/dev_apis/crypto/test_c032/test_entry_c032.c
@@ -1,5 +1,5 @@
 /** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
  * SPDX-License-Identifier : Apache-2.0
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/api-tests/dev_apis/crypto/test_c033/test_data.h b/api-tests/dev_apis/crypto/test_c033/test_data.h
index a1a9d3b..0badf5e 100644
--- a/api-tests/dev_apis/crypto/test_c033/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c033/test_data.h
@@ -28,7 +28,7 @@
 } test_data;
 
 static const test_data check1[] = {
-#ifdef ARCH_TEST_CIPER_MODE_CTR
+#ifdef ARCH_TEST_CIPHER_MODE_CTR
 #ifdef ARCH_TEST_AES_128
 {
     .test_desc       = "Test psa_cipher_decrypt_setup 16 Byte AES\n",
@@ -105,7 +105,7 @@
 #endif
 
 #ifdef ARCH_TEST_AES_128
-#ifdef ARCH_TEST_CIPER_MODE_CTR
+#ifdef ARCH_TEST_CIPHER_MODE_CTR
 {
     .test_desc       = "Test psa_cipher_decrypt_setup 16 Byte raw data\n",
     .type            = PSA_KEY_TYPE_RAW_DATA,
@@ -129,7 +129,7 @@
 },
 #endif
 
-#ifdef ARCH_TEST_CIPER
+#ifdef ARCH_TEST_CIPHER
 {
     .test_desc       = "Test psa_cipher_decrypt_setup - unknown cipher algorithm\n",
     .type            = PSA_KEY_TYPE_AES,
@@ -141,7 +141,7 @@
 },
 #endif
 
-#ifdef ARCH_TEST_CIPER_MODE_CTR
+#ifdef ARCH_TEST_CIPHER_MODE_CTR
 #ifdef ARCH_TEST_ARC4
 {
     .test_desc       = "Test psa_cipher_decrypt_setup - incompatible key ARC4\n",
diff --git a/api-tests/dev_apis/crypto/test_c033/test_entry_c033.c b/api-tests/dev_apis/crypto/test_c033/test_entry_c033.c
index 7cf2f26..0c06a40 100644
--- a/api-tests/dev_apis/crypto/test_c033/test_entry_c033.c
+++ b/api-tests/dev_apis/crypto/test_c033/test_entry_c033.c
@@ -1,5 +1,5 @@
 /** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
  * SPDX-License-Identifier : Apache-2.0
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/api-tests/dev_apis/crypto/test_c034/test_data.h b/api-tests/dev_apis/crypto/test_c034/test_data.h
index 79212bf..9b16b76 100644
--- a/api-tests/dev_apis/crypto/test_c034/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c034/test_data.h
@@ -31,7 +31,7 @@
 } test_data;
 
 static const test_data check1[] = {
-#ifdef ARCH_TEST_CIPER_MODE_CTR
+#ifdef ARCH_TEST_CIPHER_MODE_CTR
 #ifdef ARCH_TEST_AES_128
 {
     .test_desc          = "Test psa_cipher_generate_iv 16 Byte AES\n",
@@ -125,7 +125,7 @@
 #endif
 #endif
 
-#ifdef ARCH_TEST_CIPER_MODE_CTR
+#ifdef ARCH_TEST_CIPHER_MODE_CTR
 #ifdef ARCH_TEST_AES_128
 {
     .test_desc          = "Test psa_cipher_generate_iv AES - small iv buffer\n",
diff --git a/api-tests/dev_apis/crypto/test_c034/test_entry_c034.c b/api-tests/dev_apis/crypto/test_c034/test_entry_c034.c
index 06db7b1..28b2a67 100644
--- a/api-tests/dev_apis/crypto/test_c034/test_entry_c034.c
+++ b/api-tests/dev_apis/crypto/test_c034/test_entry_c034.c
@@ -1,5 +1,5 @@
 /** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
  * SPDX-License-Identifier : Apache-2.0
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/api-tests/dev_apis/crypto/test_c035/test_data.h b/api-tests/dev_apis/crypto/test_c035/test_data.h
index ae2e880..46cd3cb 100644
--- a/api-tests/dev_apis/crypto/test_c035/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c035/test_data.h
@@ -30,7 +30,7 @@
 } test_data;
 
 static const test_data check1[] = {
-#ifdef ARCH_TEST_CIPER_MODE_CTR
+#ifdef ARCH_TEST_CIPHER_MODE_CTR
 #ifdef ARCH_TEST_AES_128
 {
     .test_desc          = "Test psa_cipher_set_iv 16 Byte AES\n",
@@ -118,7 +118,7 @@
 #endif
 #endif
 
-#ifdef ARCH_TEST_CIPER_MODE_CTR
+#ifdef ARCH_TEST_CIPHER_MODE_CTR
 #ifdef ARCH_TEST_AES_128
 {
     .test_desc          = "Test psa_cipher_set_iv AES - small iv buffer\n",
@@ -150,7 +150,7 @@
 #endif
 #endif
 
-#ifdef ARCH_TEST_CIPER_MODE_CTR
+#ifdef ARCH_TEST_CIPHER_MODE_CTR
 #ifdef ARCH_TEST_AES_128
 {
     .test_desc          = "Test psa_cipher_set_iv AES - large iv buffer\n",
diff --git a/api-tests/dev_apis/crypto/test_c035/test_entry_c035.c b/api-tests/dev_apis/crypto/test_c035/test_entry_c035.c
index b0504dc..9323895 100644
--- a/api-tests/dev_apis/crypto/test_c035/test_entry_c035.c
+++ b/api-tests/dev_apis/crypto/test_c035/test_entry_c035.c
@@ -1,5 +1,5 @@
 /** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
  * SPDX-License-Identifier : Apache-2.0
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/api-tests/dev_apis/crypto/test_c036/test_data.h b/api-tests/dev_apis/crypto/test_c036/test_data.h
index 0a2aec1..ac32801 100644
--- a/api-tests/dev_apis/crypto/test_c036/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c036/test_data.h
@@ -113,7 +113,7 @@
 },
 #endif
 
-#ifdef ARCH_TEST_CIPER_MODE_CTR
+#ifdef ARCH_TEST_CIPHER_MODE_CTR
 {
     .test_desc              = "Test psa_cipher_update - Encrypt - AES CTR\n",
     .type                   = PSA_KEY_TYPE_AES,
@@ -293,7 +293,7 @@
 },
 #endif
 
-#ifdef ARCH_TEST_CIPER_MODE_CTR
+#ifdef ARCH_TEST_CIPHER_MODE_CTR
 {
     .test_desc              = "Test psa_cipher_update - Decrypt - AES CTR\n",
     .type                   = PSA_KEY_TYPE_AES,
diff --git a/api-tests/dev_apis/crypto/test_c036/test_entry_c036.c b/api-tests/dev_apis/crypto/test_c036/test_entry_c036.c
index b6db265..e42ad47 100644
--- a/api-tests/dev_apis/crypto/test_c036/test_entry_c036.c
+++ b/api-tests/dev_apis/crypto/test_c036/test_entry_c036.c
@@ -1,5 +1,5 @@
 /** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
  * SPDX-License-Identifier : Apache-2.0
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/api-tests/dev_apis/crypto/test_c037/test_data.h b/api-tests/dev_apis/crypto/test_c037/test_data.h
index d8b080e..36e05f0 100644
--- a/api-tests/dev_apis/crypto/test_c037/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c037/test_data.h
@@ -113,7 +113,7 @@
 },
 #endif
 
-#ifdef ARCH_TEST_CIPER_MODE_CTR
+#ifdef ARCH_TEST_CIPHER_MODE_CTR
 {
     .test_desc              = "Test psa_cipher_finish - Encrypt - AES CTR\n",
     .type                   = PSA_KEY_TYPE_AES,
@@ -312,7 +312,7 @@
 },
 #endif
 
-#ifdef ARCH_TEST_CIPER_MODE_CTR
+#ifdef ARCH_TEST_CIPHER_MODE_CTR
 {
     .test_desc              = "Test psa_cipher_finish - Decrypt - AES CTR\n",
     .type                   = PSA_KEY_TYPE_AES,
diff --git a/api-tests/dev_apis/crypto/test_c037/test_entry_c037.c b/api-tests/dev_apis/crypto/test_c037/test_entry_c037.c
index a9e537f..77c5a45 100644
--- a/api-tests/dev_apis/crypto/test_c037/test_entry_c037.c
+++ b/api-tests/dev_apis/crypto/test_c037/test_entry_c037.c
@@ -1,5 +1,5 @@
 /** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
  * SPDX-License-Identifier : Apache-2.0
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/api-tests/dev_apis/crypto/test_c038/test_data.h b/api-tests/dev_apis/crypto/test_c038/test_data.h
index 1dfbbc8..d4daf47 100644
--- a/api-tests/dev_apis/crypto/test_c038/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c038/test_data.h
@@ -53,7 +53,7 @@
 },
 #endif
 
-#ifdef ARCH_TEST_CIPER_MODE_CTR
+#ifdef ARCH_TEST_CIPHER_MODE_CTR
 {
     .test_desc       = "Test psa_cipher_abort - Encrypt - AES CTR\n",
     .type            = PSA_KEY_TYPE_AES,
@@ -129,7 +129,7 @@
 },
 #endif
 
-#ifdef ARCH_TEST_CIPER_MODE_CTR
+#ifdef ARCH_TEST_CIPHER_MODE_CTR
 {
     .test_desc       = "Test psa_cipher_abort - Decrypt - AES CTR\n",
     .type            = PSA_KEY_TYPE_AES,
diff --git a/api-tests/dev_apis/crypto/test_c038/test_entry_c038.c b/api-tests/dev_apis/crypto/test_c038/test_entry_c038.c
index b50f3f0..e82617f 100644
--- a/api-tests/dev_apis/crypto/test_c038/test_entry_c038.c
+++ b/api-tests/dev_apis/crypto/test_c038/test_entry_c038.c
@@ -1,5 +1,5 @@
 /** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
  * SPDX-License-Identifier : Apache-2.0
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/api-tests/dev_apis/crypto/test_c039/test_entry_c039.c b/api-tests/dev_apis/crypto/test_c039/test_entry_c039.c
index 69632c6..b9c58de 100644
--- a/api-tests/dev_apis/crypto/test_c039/test_entry_c039.c
+++ b/api-tests/dev_apis/crypto/test_c039/test_entry_c039.c
@@ -1,5 +1,5 @@
 /** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
  * SPDX-License-Identifier : Apache-2.0
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/api-tests/dev_apis/crypto/test_c040/test_entry_c040.c b/api-tests/dev_apis/crypto/test_c040/test_entry_c040.c
index 240eb9c..f9ade00 100644
--- a/api-tests/dev_apis/crypto/test_c040/test_entry_c040.c
+++ b/api-tests/dev_apis/crypto/test_c040/test_entry_c040.c
@@ -1,5 +1,5 @@
 /** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
  * SPDX-License-Identifier : Apache-2.0
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/api-tests/dev_apis/crypto/test_c041/test_entry_c041.c b/api-tests/dev_apis/crypto/test_c041/test_entry_c041.c
index 2be11e4..444e9a2 100644
--- a/api-tests/dev_apis/crypto/test_c041/test_entry_c041.c
+++ b/api-tests/dev_apis/crypto/test_c041/test_entry_c041.c
@@ -1,5 +1,5 @@
 /** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
  * SPDX-License-Identifier : Apache-2.0
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/api-tests/dev_apis/crypto/test_c042/test_entry_c042.c b/api-tests/dev_apis/crypto/test_c042/test_entry_c042.c
index 7c72998..d46e266 100644
--- a/api-tests/dev_apis/crypto/test_c042/test_entry_c042.c
+++ b/api-tests/dev_apis/crypto/test_c042/test_entry_c042.c
@@ -1,5 +1,5 @@
 /** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
  * SPDX-License-Identifier : Apache-2.0
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/api-tests/dev_apis/crypto/test_c043/test_entry_c043.c b/api-tests/dev_apis/crypto/test_c043/test_entry_c043.c
index 0a27070..2ad96e1 100644
--- a/api-tests/dev_apis/crypto/test_c043/test_entry_c043.c
+++ b/api-tests/dev_apis/crypto/test_c043/test_entry_c043.c
@@ -1,5 +1,5 @@
 /** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
  * SPDX-License-Identifier : Apache-2.0
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/api-tests/dev_apis/crypto/test_c044/test_data.h b/api-tests/dev_apis/crypto/test_c044/test_data.h
index 20485ce..162b1cb 100644
--- a/api-tests/dev_apis/crypto/test_c044/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c044/test_data.h
@@ -38,18 +38,19 @@
 } test_data;
 
 static const test_data check1[] = {
-#ifdef ARCH_TEST_CIPER_MODE_CTR
+#ifdef ARCH_TEST_AES
+#ifdef ARCH_TEST_CCM
 #ifdef ARCH_TEST_AES_128
 {
     .test_desc            = "Test psa_copy_key - 16 Byte AES\n",
     .type                 = PSA_KEY_TYPE_AES,
-    .alg                  = PSA_ALG_CTR,
+    .alg                  = PSA_ALG_CCM,
     .usage_flags          = PSA_KEY_USAGE_COPY | PSA_KEY_USAGE_EXPORT,
     .lifetime             = PSA_KEY_LIFETIME_VOLATILE,
     .data                 = key_data,
     .data_length          = AES_16B_KEY_SIZE,
     .target_type          = PSA_KEY_TYPE_AES,
-    .target_alg           = PSA_ALG_CTR,
+    .target_alg           = PSA_ALG_CCM,
     .target_usage_flags   = PSA_KEY_USAGE_COPY | PSA_KEY_USAGE_EXPORT,
     .target_lifetime      = PSA_KEY_LIFETIME_VOLATILE,
     .target_bits          = BYTES_TO_BITS(AES_16B_KEY_SIZE),
@@ -63,13 +64,13 @@
 {
     .test_desc            = "Test psa_copy_key - without copy usage\n",
     .type                 = PSA_KEY_TYPE_AES,
-    .alg                  = PSA_ALG_CTR,
+    .alg                  = PSA_ALG_CCM,
     .usage_flags          = PSA_KEY_USAGE_EXPORT,
     .lifetime             = PSA_KEY_LIFETIME_VOLATILE,
     .data                 = key_data,
     .data_length          = AES_16B_KEY_SIZE,
     .target_type          = PSA_KEY_TYPE_AES,
-    .target_alg           = PSA_ALG_CTR,
+    .target_alg           = PSA_ALG_CCM,
     .target_usage_flags   = PSA_KEY_USAGE_COPY | PSA_KEY_USAGE_EXPORT,
     .target_lifetime      = PSA_KEY_LIFETIME_VOLATILE,
     .target_bits          = BYTES_TO_BITS(AES_16B_KEY_SIZE),
@@ -83,13 +84,13 @@
 {
     .test_desc            = "Test psa_copy_key - invalid lifetime\n",
     .type                 = PSA_KEY_TYPE_AES,
-    .alg                  = PSA_ALG_CTR,
+    .alg                  = PSA_ALG_CCM,
     .usage_flags          = PSA_KEY_USAGE_COPY | PSA_KEY_USAGE_EXPORT,
     .lifetime             = PSA_KEY_LIFETIME_VOLATILE,
     .data                 = key_data,
     .data_length          = AES_16B_KEY_SIZE,
     .target_type          = PSA_KEY_TYPE_AES,
-    .target_alg           = PSA_ALG_CTR,
+    .target_alg           = PSA_ALG_CCM,
     .target_usage_flags   = PSA_KEY_USAGE_COPY | PSA_KEY_USAGE_EXPORT,
     .target_lifetime      = PSA_KEY_LIFETIME_PERSISTENT,
     .target_bits          = BYTES_TO_BITS(AES_16B_KEY_SIZE),
@@ -103,13 +104,13 @@
 {
     .test_desc            = "Test psa_copy_key - invalid key type\n",
     .type                 = PSA_KEY_TYPE_AES,
-    .alg                  = PSA_ALG_CTR,
+    .alg                  = PSA_ALG_CCM,
     .usage_flags          = PSA_KEY_USAGE_COPY | PSA_KEY_USAGE_EXPORT,
     .lifetime             = PSA_KEY_LIFETIME_VOLATILE,
     .data                 = key_data,
     .data_length          = AES_16B_KEY_SIZE,
     .target_type          = PSA_KEY_TYPE_DES,
-    .target_alg           = PSA_ALG_CTR,
+    .target_alg           = PSA_ALG_CCM,
     .target_usage_flags   = PSA_KEY_USAGE_COPY | PSA_KEY_USAGE_EXPORT,
     .target_lifetime      = PSA_KEY_LIFETIME_VOLATILE,
     .target_bits          = BYTES_TO_BITS(AES_16B_KEY_SIZE),
@@ -123,13 +124,13 @@
 {
     .test_desc            = "Test psa_copy_key - invalid key bits\n",
     .type                 = PSA_KEY_TYPE_AES,
-    .alg                  = PSA_ALG_CTR,
+    .alg                  = PSA_ALG_CCM,
     .usage_flags          = PSA_KEY_USAGE_COPY | PSA_KEY_USAGE_EXPORT,
     .lifetime             = PSA_KEY_LIFETIME_VOLATILE,
     .data                 = key_data,
     .data_length          = AES_16B_KEY_SIZE,
     .target_type          = PSA_KEY_TYPE_AES,
-    .target_alg           = PSA_ALG_CTR,
+    .target_alg           = PSA_ALG_CCM,
     .target_usage_flags   = PSA_KEY_USAGE_COPY | PSA_KEY_USAGE_EXPORT,
     .target_lifetime      = PSA_KEY_LIFETIME_VOLATILE,
     .target_bits          = BYTES_TO_BITS(AES_16B_KEY_SIZE)-1,
@@ -145,13 +146,13 @@
 {
     .test_desc            = "Test psa_copy_key - 24 Byte AES\n",
     .type                 = PSA_KEY_TYPE_AES,
-    .alg                  = PSA_ALG_CTR,
+    .alg                  = PSA_ALG_CCM,
     .usage_flags          = PSA_KEY_USAGE_COPY | PSA_KEY_USAGE_EXPORT | PSA_KEY_USAGE_ENCRYPT,
     .lifetime             = PSA_KEY_LIFETIME_VOLATILE,
     .data                 = key_data,
     .data_length          = AES_24B_KEY_SIZE,
     .target_type          = PSA_KEY_TYPE_AES,
-    .target_alg           = PSA_ALG_CTR,
+    .target_alg           = PSA_ALG_CCM,
     .target_usage_flags   = PSA_KEY_USAGE_COPY | PSA_KEY_USAGE_EXPORT | PSA_KEY_USAGE_ENCRYPT,
     .target_lifetime      = PSA_KEY_LIFETIME_VOLATILE,
     .target_bits          = BYTES_TO_BITS(AES_24B_KEY_SIZE),
@@ -167,13 +168,13 @@
 {
     .test_desc            = "Test psa_copy_key - 32 Byte AES\n",
     .type                 = PSA_KEY_TYPE_AES,
-    .alg                  = PSA_ALG_CTR,
+    .alg                  = PSA_ALG_CCM,
     .usage_flags          = PSA_KEY_USAGE_COPY | PSA_KEY_USAGE_EXPORT | PSA_KEY_USAGE_DECRYPT,
     .lifetime             = PSA_KEY_LIFETIME_VOLATILE,
     .data                 = key_data,
     .data_length          = AES_32B_KEY_SIZE,
     .target_type          = PSA_KEY_TYPE_AES,
-    .target_alg           = PSA_ALG_CTR,
+    .target_alg           = PSA_ALG_CCM,
     .target_usage_flags   = PSA_KEY_USAGE_COPY | PSA_KEY_USAGE_EXPORT | PSA_KEY_USAGE_ENCRYPT,
     .target_lifetime      = PSA_KEY_LIFETIME_VOLATILE,
     .target_bits          = BYTES_TO_BITS(AES_32B_KEY_SIZE),
@@ -185,6 +186,7 @@
 },
 #endif
 #endif
+#endif
 
 #ifdef ARCH_TEST_RSA_PKCS1V15_SIGN_RAW
 #ifdef ARCH_TEST_RSA_2048
@@ -270,7 +272,7 @@
 #endif
 #endif
 
-#ifdef ARCH_TEST_CIPER_MODE_CTR
+#ifdef ARCH_TEST_CIPHER_MODE_CTR
 #ifdef ARCH_TEST_DES_1KEY
 {
     .test_desc            = "Test psa_copy_key - DES 64 bit key\n",
diff --git a/api-tests/dev_apis/crypto/test_c044/test_entry_c044.c b/api-tests/dev_apis/crypto/test_c044/test_entry_c044.c
index 16bdd7f..a2459f2 100644
--- a/api-tests/dev_apis/crypto/test_c044/test_entry_c044.c
+++ b/api-tests/dev_apis/crypto/test_c044/test_entry_c044.c
@@ -1,5 +1,5 @@
 /** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
  * SPDX-License-Identifier : Apache-2.0
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/api-tests/dev_apis/crypto/test_c045/test_entry_c045.c b/api-tests/dev_apis/crypto/test_c045/test_entry_c045.c
index 61ae50f..779e198 100644
--- a/api-tests/dev_apis/crypto/test_c045/test_entry_c045.c
+++ b/api-tests/dev_apis/crypto/test_c045/test_entry_c045.c
@@ -1,5 +1,5 @@
 /** @file
- * Copyright (c) 2018, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2018-2020, Arm Limited or its affiliates. All rights reserved.
  * SPDX-License-Identifier : Apache-2.0
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/api-tests/dev_apis/crypto/test_c046/test_entry_c046.c b/api-tests/dev_apis/crypto/test_c046/test_entry_c046.c
index 2903b35..60c36e5 100644
--- a/api-tests/dev_apis/crypto/test_c046/test_entry_c046.c
+++ b/api-tests/dev_apis/crypto/test_c046/test_entry_c046.c
@@ -1,5 +1,5 @@
 /** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
  * SPDX-License-Identifier : Apache-2.0
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/api-tests/dev_apis/crypto/test_c047/test_entry_c047.c b/api-tests/dev_apis/crypto/test_c047/test_entry_c047.c
index 414d745..37efca4 100644
--- a/api-tests/dev_apis/crypto/test_c047/test_entry_c047.c
+++ b/api-tests/dev_apis/crypto/test_c047/test_entry_c047.c
@@ -1,5 +1,5 @@
 /** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
  * SPDX-License-Identifier : Apache-2.0
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/api-tests/dev_apis/crypto/test_c048/test_data.h b/api-tests/dev_apis/crypto/test_c048/test_data.h
index d26cc52..b8eea61 100644
--- a/api-tests/dev_apis/crypto/test_c048/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c048/test_data.h
@@ -77,7 +77,7 @@
 },
 #endif
 
-#ifdef ARCH_TEST_CIPER_MODE_CTR
+#ifdef ARCH_TEST_CIPHER_MODE_CTR
 {"Test psa_cipher_encrypt - Encrypt - AES CTR\n", PSA_KEY_TYPE_AES,
 {0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09,
  0xcf, 0x4f, 0x3c}, AES_16B_KEY_SIZE,
diff --git a/api-tests/dev_apis/crypto/test_c048/test_entry_c048.c b/api-tests/dev_apis/crypto/test_c048/test_entry_c048.c
index ba76d05..bd493fa 100644
--- a/api-tests/dev_apis/crypto/test_c048/test_entry_c048.c
+++ b/api-tests/dev_apis/crypto/test_c048/test_entry_c048.c
@@ -1,5 +1,5 @@
 /** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
  * SPDX-License-Identifier : Apache-2.0
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/api-tests/dev_apis/crypto/test_c049/test_data.h b/api-tests/dev_apis/crypto/test_c049/test_data.h
index e862677..a7bc507 100644
--- a/api-tests/dev_apis/crypto/test_c049/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c049/test_data.h
@@ -102,7 +102,7 @@
 },
 #endif
 
-#ifdef ARCH_TEST_CIPER_MODE_CTR
+#ifdef ARCH_TEST_CIPHER_MODE_CTR
 {"Test psa_cipher_decrypt - Decrypt - AES CTR\n", PSA_KEY_TYPE_AES,
 {0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09,
  0xcf, 0x4f, 0x3c}, AES_16B_KEY_SIZE,
diff --git a/api-tests/dev_apis/crypto/test_c049/test_entry_c049.c b/api-tests/dev_apis/crypto/test_c049/test_entry_c049.c
index f154280..b133494 100644
--- a/api-tests/dev_apis/crypto/test_c049/test_entry_c049.c
+++ b/api-tests/dev_apis/crypto/test_c049/test_entry_c049.c
@@ -1,5 +1,5 @@
 /** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
  * SPDX-License-Identifier : Apache-2.0
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/api-tests/dev_apis/crypto/test_c050/test_data.h b/api-tests/dev_apis/crypto/test_c050/test_data.h
index fde6bec..278f48b 100644
--- a/api-tests/dev_apis/crypto/test_c050/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c050/test_data.h
@@ -163,7 +163,7 @@
  0x99, 0x46, 0x4c, 0xee, 0x3e, 0xc7, 0xac, 0x97, 0x06, 0x53, 0xa0, 0xbe, 0x07, 0x42};
 
 static test_data check1[] = {
-#ifdef ARCH_TEST_CIPER_MODE_CTR
+#ifdef ARCH_TEST_CIPHER_MODE_CTR
 #ifdef ARCH_TEST_AES_128
 {"Test psa_open_key 16 Byte AES\n", PSA_KEY_TYPE_AES, 0x12,
 {0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
@@ -210,7 +210,7 @@
 #endif
 #endif
 
-#ifdef ARCH_TEST_CIPER_MODE_CTR
+#ifdef ARCH_TEST_CIPHER_MODE_CTR
 #ifdef ARCH_TEST_DES_1KEY
 {"Test psa_open_key with DES 64 bit key\n", PSA_KEY_TYPE_DES, 0x90,
  {0x70, 0x24, 0x55, 0x0C, 0x14, 0x9D, 0xED, 0x29},
@@ -260,7 +260,7 @@
 #endif
 #endif
 
-#ifdef ARCH_TEST_CIPER_MODE_CTR
+#ifdef ARCH_TEST_CIPHER_MODE_CTR
 #ifdef ARCH_TEST_AES
 {"Test psa_open_key with volatile key\n", PSA_KEY_TYPE_AES,
  0x5678,
diff --git a/api-tests/dev_apis/crypto/test_c050/test_entry_c050.c b/api-tests/dev_apis/crypto/test_c050/test_entry_c050.c
index 99c29bd..42ad5d0 100644
--- a/api-tests/dev_apis/crypto/test_c050/test_entry_c050.c
+++ b/api-tests/dev_apis/crypto/test_c050/test_entry_c050.c
@@ -1,5 +1,5 @@
 /** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
  * SPDX-License-Identifier : Apache-2.0
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/api-tests/dev_apis/crypto/test_c051/test_data.h b/api-tests/dev_apis/crypto/test_c051/test_data.h
index b6b9e6c..9eef0dd 100644
--- a/api-tests/dev_apis/crypto/test_c051/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c051/test_data.h
@@ -162,7 +162,7 @@
 
 static const test_data check1[] = {
 
-#ifdef ARCH_TEST_CIPER_MODE_CTR
+#ifdef ARCH_TEST_CIPHER_MODE_CTR
 #ifdef ARCH_TEST_AES_128
 {"Test psa_close_key 16 Byte AES\n", PSA_KEY_TYPE_AES,
 {0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
@@ -213,7 +213,7 @@
 #endif
 #endif
 
-#ifdef ARCH_TEST_CIPER_MODE_CTR
+#ifdef ARCH_TEST_CIPHER_MODE_CTR
 #ifdef ARCH_TEST_DES_1KEY
 {"Test psa_close_key with DES 64 bit key\n", PSA_KEY_TYPE_DES,
  {0x70, 0x24, 0x55, 0x0C, 0x14, 0x9D, 0xED, 0x29},
diff --git a/api-tests/dev_apis/crypto/test_c051/test_entry_c051.c b/api-tests/dev_apis/crypto/test_c051/test_entry_c051.c
index 60ce275..74a6d8e 100644
--- a/api-tests/dev_apis/crypto/test_c051/test_entry_c051.c
+++ b/api-tests/dev_apis/crypto/test_c051/test_entry_c051.c
@@ -1,5 +1,5 @@
 /** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
  * SPDX-License-Identifier : Apache-2.0
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/api-tests/dev_apis/crypto/test_c052/test_data.h b/api-tests/dev_apis/crypto/test_c052/test_data.h
index 74812c9..7160759 100644
--- a/api-tests/dev_apis/crypto/test_c052/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c052/test_data.h
@@ -68,7 +68,7 @@
 #endif
 
 #ifdef ARCH_TEST_AES_128
-#ifdef ARCH_TEST_CIPER_MODE_CFB
+#ifdef ARCH_TEST_CIPHER_MODE_CFB
 {"Test psa_aead_encrypt_setup - Unsupported Algorithm\n", PSA_KEY_TYPE_AES,
 {0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
  0x5F, 0xC9}, AES_16B_KEY_SIZE, PSA_KEY_USAGE_ENCRYPT, PSA_ALG_CFB, PSA_ALG_CFB,
diff --git a/api-tests/dev_apis/crypto/test_c052/test_entry_c052.c b/api-tests/dev_apis/crypto/test_c052/test_entry_c052.c
index 3dd7ee9..8d9bcc7 100644
--- a/api-tests/dev_apis/crypto/test_c052/test_entry_c052.c
+++ b/api-tests/dev_apis/crypto/test_c052/test_entry_c052.c
@@ -1,5 +1,5 @@
 /** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
  * SPDX-License-Identifier : Apache-2.0
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/api-tests/dev_apis/crypto/test_c053/test_data.h b/api-tests/dev_apis/crypto/test_c053/test_data.h
index 995a146..945fd7a 100644
--- a/api-tests/dev_apis/crypto/test_c053/test_data.h
+++ b/api-tests/dev_apis/crypto/test_c053/test_data.h
@@ -68,7 +68,7 @@
 #endif
 
 #ifdef ARCH_TEST_AES_128
-#ifdef ARCH_TEST_CIPER_MODE_CFB
+#ifdef ARCH_TEST_CIPHER_MODE_CFB
 {"Test psa_aead_decrypt_setup - Unsupported Algorithm\n", PSA_KEY_TYPE_AES,
 {0x49, 0x8E, 0xC7, 0x7D, 0x01, 0x95, 0x0D, 0x94, 0x2C, 0x16, 0xA5, 0x3E, 0x99,
  0x5F, 0xC9}, AES_16B_KEY_SIZE, PSA_KEY_USAGE_DECRYPT, PSA_ALG_CFB, PSA_ALG_CFB,
diff --git a/api-tests/dev_apis/crypto/test_c053/test_entry_c053.c b/api-tests/dev_apis/crypto/test_c053/test_entry_c053.c
index 2d7e158..ce4be97 100644
--- a/api-tests/dev_apis/crypto/test_c053/test_entry_c053.c
+++ b/api-tests/dev_apis/crypto/test_c053/test_entry_c053.c
@@ -1,5 +1,5 @@
 /** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
  * SPDX-License-Identifier : Apache-2.0
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/api-tests/dev_apis/crypto/test_c054/test_entry_c054.c b/api-tests/dev_apis/crypto/test_c054/test_entry_c054.c
index aeb3e13..0d2b75e 100644
--- a/api-tests/dev_apis/crypto/test_c054/test_entry_c054.c
+++ b/api-tests/dev_apis/crypto/test_c054/test_entry_c054.c
@@ -1,5 +1,5 @@
 /** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
  * SPDX-License-Identifier : Apache-2.0
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/api-tests/dev_apis/crypto/test_c055/test_entry_c055.c b/api-tests/dev_apis/crypto/test_c055/test_entry_c055.c
index dcbca16..c34e978 100644
--- a/api-tests/dev_apis/crypto/test_c055/test_entry_c055.c
+++ b/api-tests/dev_apis/crypto/test_c055/test_entry_c055.c
@@ -1,5 +1,5 @@
 /** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
  * SPDX-License-Identifier : Apache-2.0
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/api-tests/dev_apis/crypto/test_c056/test_entry_c056.c b/api-tests/dev_apis/crypto/test_c056/test_entry_c056.c
index 909a096..37e0136 100644
--- a/api-tests/dev_apis/crypto/test_c056/test_entry_c056.c
+++ b/api-tests/dev_apis/crypto/test_c056/test_entry_c056.c
@@ -1,5 +1,5 @@
 /** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
  * SPDX-License-Identifier : Apache-2.0
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/api-tests/dev_apis/crypto/test_c057/test_entry_c057.c b/api-tests/dev_apis/crypto/test_c057/test_entry_c057.c
index 2c21f0a..2999f1b 100644
--- a/api-tests/dev_apis/crypto/test_c057/test_entry_c057.c
+++ b/api-tests/dev_apis/crypto/test_c057/test_entry_c057.c
@@ -1,5 +1,5 @@
 /** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
  * SPDX-License-Identifier : Apache-2.0
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/api-tests/dev_apis/crypto/test_c058/test_entry_c058.c b/api-tests/dev_apis/crypto/test_c058/test_entry_c058.c
index 43f83ae..d7b1ee1 100644
--- a/api-tests/dev_apis/crypto/test_c058/test_entry_c058.c
+++ b/api-tests/dev_apis/crypto/test_c058/test_entry_c058.c
@@ -1,5 +1,5 @@
 /** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
  * SPDX-License-Identifier : Apache-2.0
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/api-tests/dev_apis/crypto/test_c059/test_entry_c059.c b/api-tests/dev_apis/crypto/test_c059/test_entry_c059.c
index cff0329..73ac611 100644
--- a/api-tests/dev_apis/crypto/test_c059/test_entry_c059.c
+++ b/api-tests/dev_apis/crypto/test_c059/test_entry_c059.c
@@ -1,5 +1,5 @@
 /** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
  * SPDX-License-Identifier : Apache-2.0
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/api-tests/dev_apis/crypto/test_c060/test_entry_c060.c b/api-tests/dev_apis/crypto/test_c060/test_entry_c060.c
index 963a025..20bdc80 100644
--- a/api-tests/dev_apis/crypto/test_c060/test_entry_c060.c
+++ b/api-tests/dev_apis/crypto/test_c060/test_entry_c060.c
@@ -1,5 +1,5 @@
 /** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
  * SPDX-License-Identifier : Apache-2.0
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/api-tests/dev_apis/crypto/test_c061/test_entry_c061.c b/api-tests/dev_apis/crypto/test_c061/test_entry_c061.c
index 737deac..71b6a64 100644
--- a/api-tests/dev_apis/crypto/test_c061/test_entry_c061.c
+++ b/api-tests/dev_apis/crypto/test_c061/test_entry_c061.c
@@ -1,5 +1,5 @@
 /** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
  * SPDX-License-Identifier : Apache-2.0
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/api-tests/docs/sw_requirements.md b/api-tests/docs/sw_requirements.md
index 8372caa..7c7f8f1 100644
--- a/api-tests/docs/sw_requirements.md
+++ b/api-tests/docs/sw_requirements.md
@@ -6,8 +6,8 @@
 - Host Operating System     : Ubuntu 16.04, Windows 10
 - Scripting tools           : Python 3.7.1
 - Host Compiler toolchain   : GCC 5.4.0 (Linux Host) or MinGW 6.3.0 (Windows Host)
-- Cross Compiler toolchain  : GNU Arm Embedded Toolchain 6.3.1, 7.3.1 or Arm Compiler 6.11
-- Build tools               : CMake 3.10
+- Cross Compiler toolchain  : GNU Arm Embedded Toolchain 7.3.1 or Arm Compiler 6.11
+- Build tools               : CMake 3.15
 
 **Note**: To compile the test suite code, at least one of the above supported compiler toolchains
         must be available in the build environment.
diff --git a/api-tests/docs/test_failure_analysis.md b/api-tests/docs/test_failure_analysis.md
index ab03126..bb48229 100644
--- a/api-tests/docs/test_failure_analysis.md
+++ b/api-tests/docs/test_failure_analysis.md
@@ -3,24 +3,19 @@
 
 This file contains list of failures identified when testing the release
 on tgt_dev_apis_tfm_an521, tgt_dev_apis_tfm_musca_a and  tgt_dev_apis_tfm_musca_b1
-targets with TFM commit Hash - 6e7be077eabef00b4825e245604148d82b11f832.
+targets with TFM commit Hash - cea100b1e09fe53fd1ed6818b8129ef51daa0822.
 The reason for each failing test is listed here in this file.
 
 ## Known Failures
 
 | Test | Fail description                                                                | Github issue |
 |------|---------------------------------------------------------------------------------| ------------ |
-|test_c006 | psa_hash_compute is unimplemented in TFM/mbed-crypto. So the test has not been verified. 	| https://github.com/ARMmbed/mbed-crypto/issues/381 |
-|test_c007 | psa_hash_compare is unimplemented in TFM/mbed-crypto. So the test has not been verified.	| https://github.com/ARMmbed/mbed-crypto/issues/381 |
-|test_c009 | psa_key_derivation_input_bytes returns incorrect error code | https://github.com/ARMmbed/mbed-crypto/issues/175 |
-|test_c020 | psa_key_derivation_output_bytes returns incorrect error code | https://github.com/ARMmbed/mbed-crypto/issues/175 |
 |test_c021 | psa_key_derivation_output_key returns incorrect error code | https://github.com/ARMmbed/mbed-crypto/issues/175 |
 |test_c046 | psa_mac_compute is unimplemented in TFM/mbed-crypto. So the test has not been verified.	| https://github.com/ARMmbed/mbed-crypto/issues/381 |
 |test_c047 | psa_mac_verify is unimplemented in TFM/mbed-crypto. So the test has not been verified.		| https://github.com/ARMmbed/mbed-crypto/issues/381 |
 |test_c048 | psa_cipher_encrypt is unimplemented in TFM/mbed-crypto. So the test has not been verified. | https://github.com/ARMmbed/mbed-crypto/issues/381 |
 |test_c049 | psa_cipher_decrypt is unimplemented in TFM/mbed-crypto. So the test has not been verified. | https://github.com/ARMmbed/mbed-crypto/issues/381 |
 |test_c050 | Persistent key storage is unavailable in TFM/mbed-crypto. So the test has not been verified. | https://github.com/ARMmbed/mbed-crypto/issues/382 |
-|test_c051 | Persistent key storage is unavailable in TFM/mbed-crypto. So the test has not been verified. | https://github.com/ARMmbed/mbed-crypto/issues/382 |
 |test_c052 | psa_aead_encrypt_setup is unimplemented in TFM/mbed-crypto. So the test has not been verified. | https://github.com/ARMmbed/mbed-crypto/issues/381 |
 |test_c053 | psa_aead_decrypt_setup is unimplemented in TFM/mbed-crypto. So the test has not been verified. | https://github.com/ARMmbed/mbed-crypto/issues/381 |
 |test_c054 | psa_aead_generate_nonce is unimplemented in TFM/mbed-crypto. So the test has not been verified. | https://github.com/ARMmbed/mbed-crypto/issues/381 |
diff --git a/api-tests/ff/README.md b/api-tests/ff/README.md
index 1e740eb..371a968 100644
--- a/api-tests/ff/README.md
+++ b/api-tests/ff/README.md
@@ -23,13 +23,14 @@
 For more information on architecture test suite specification, refer to the [Validation Methodology](../docs/Arm_PSA_APIs_Arch_Test_Validation_Methodology.pdf) document.
 
 ## This release
- - Code Quality : REL v1.0
+ - Code Quality : REL v1.1
  - This release contains the PSA-FF tests that are written for the PSA FF 1.0 specification.
 
 ##  Release Tags
 
 | Release version | Release tag  | PSA FF specification version |
 |-----------------|---------------|----------------|
+| REL v1.1 | [v20.11_API1.1](https://github.com/ARM-software/psa-arch-tests/tree/v20.11_API1.1/api-tests/ff) | 1.0 |
 | REL v1.0 | [v20.03_API1.0](https://github.com/ARM-software/psa-arch-tests/tree/v20.03_API1.0/api-tests/ff) | 1.0 |
 | v0.9 | [v19.06_API0.9](https://github.com/ARM-software/psa-arch-tests/tree/v19.06_API0.9/api-tests/ff) | 1.0-Beta1 |
 | v0.8 | [v19.02_API0.8](https://github.com/ARM-software/psa-arch-tests/tree/v19.02_API0.8/api-tests/ff) | 1.0-Beta0 |
@@ -83,6 +84,7 @@
 -   -DSP_HEAP_MEM_SUPP=<0|1> : Are dynamic memory functions available to secure partition? 0 means no and 1 means yes. This skips the secure partition dynamic memory functions related tests if this is marked as zero.
 -   -DWATCHDOG_AVAILABLE=<0|1>: Test harness may require to access watchdog timer to recover system hang. 0 means skip watchdog programming in the test suite and 1 means program the watchdog. Default is 1. Note, If the system under test doesn't support the reboot of the system when it encounters the panic situation, a watchdog must be available to the tests if INCLUDE_PANIC_TESTS set to 1.
 -   -DSUITE_TEST_RANGE="<test_start_number>;<test_end_number>" is to select range of tests for build. All tests under -DSUITE are considered by default if not specified.
+-   -DTFM_PROFILE=<profile_small/profile_medium> is to work with TFM defined Pofile Small/Medium definitions. Supported values are profile_small and profile_medium. Unless specified Default Profile is used.
 -   -DPSA_INCLUDE_PATHS="<include_path1>;<include_path2>;...;<include_pathn>" is an additional directory to be included into the compiler search path. To compile IPC tests, the include path must point to the path where **psa/client.h**, **psa/service.h**,  **psa/lifecycle.h** and test partition manifest output files(**psa_manifest/sid.h**, **psa_manifest/pid.h** and **psa_manifest/<manifestfilename>.h**) are located in your build system. Bydefault, PSA_INCLUDE_PATHS accepts absolute path. However, relative path can be provided using below format:<br />
 ```
     -DPSA_INCLUDE_PATHS=`readlink -f <relative_include_path>`
diff --git a/api-tests/platform/targets/common/nspe/crypto/pal_crypto_config_check.h b/api-tests/platform/targets/common/nspe/crypto/pal_crypto_config_check.h
index 443e0bc..e51dc11 100644
--- a/api-tests/platform/targets/common/nspe/crypto/pal_crypto_config_check.h
+++ b/api-tests/platform/targets/common/nspe/crypto/pal_crypto_config_check.h
@@ -1,5 +1,5 @@
 /** @file
- * Copyright (c) 2019, Arm Limited or its affiliates. All rights reserved.
+ * Copyright (c) 2019-2020, Arm Limited or its affiliates. All rights reserved.
  * SPDX-License-Identifier : Apache-2.0
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -77,35 +77,35 @@
 #error "ARCH_TEST_DES_3KEY defined, but not all prerequisites"
 #endif
 
-#if defined(ARCH_TEST_CIPER_MODE_CTR) && !defined(ARCH_TEST_CIPER)
-#error "ARCH_TEST_CIPER_MODE_CTR defined, but not all prerequisites"
+#if defined(ARCH_TEST_CIPHER_MODE_CTR) && !defined(ARCH_TEST_CIPHER)
+#error "ARCH_TEST_CIPHER_MODE_CTR defined, but not all prerequisites"
 #endif
 
-#if defined(ARCH_TEST_CIPER_MODE_CFB) && !defined(ARCH_TEST_CIPER)
-#error "ARCH_TEST_CIPER_MODE_CFB defined, but not all prerequisites"
+#if defined(ARCH_TEST_CIPHER_MODE_CFB) && !defined(ARCH_TEST_CIPHER)
+#error "ARCH_TEST_CIPHER_MODE_CFB defined, but not all prerequisites"
 #endif
 
-#if defined(ARCH_TEST_CIPER_MODE_CBC) && !defined(ARCH_TEST_CIPER)
-#error "ARCH_TEST_CIPER_MODE_CBC defined, but not all prerequisites"
+#if defined(ARCH_TEST_CIPHER_MODE_CBC) && !defined(ARCH_TEST_CIPHER)
+#error "ARCH_TEST_CIPHER_MODE_CBC defined, but not all prerequisites"
 #endif
 
 #if defined(ARCH_TEST_CTR_AES) &&\
-    (!defined(ARCH_TEST_CIPER) || !defined(ARCH_TEST_AES) || !defined(ARCH_TEST_CIPER_MODE_CTR))
+    (!defined(ARCH_TEST_CIPHER) || !defined(ARCH_TEST_AES) || !defined(ARCH_TEST_CIPHER_MODE_CTR))
 #error "ARCH_TEST_CTR_AES defined, but not all prerequisites"
 #endif
 
 #if (defined(ARCH_TEST_CBC_AES) || defined(ARCH_TEST_CBC_AES_NO_PADDING)) &&\
-    (!defined(ARCH_TEST_CIPER) || !defined(ARCH_TEST_AES) || !defined(ARCH_TEST_CIPER_MODE_CBC))
+    (!defined(ARCH_TEST_CIPHER) || !defined(ARCH_TEST_AES) || !defined(ARCH_TEST_CIPHER_MODE_CBC))
 #error "ARCH_TEST_CBC_AES defined, but not all prerequisites"
 #endif
 
 #if (defined(ARCH_TEST_CBC_NO_PADDING)) &&\
-    (!defined(ARCH_TEST_CIPER) || !defined(ARCH_TEST_CIPER_MODE_CBC))
+    (!defined(ARCH_TEST_CIPHER) || !defined(ARCH_TEST_CIPHER_MODE_CBC))
 #error "ARCH_TEST_CBC_NO_PADDING defined, but not all prerequisites"
 #endif
 
 #if defined(ARCH_TEST_CFB_AES) &&\
-    (!defined(ARCH_TEST_CIPER) || !defined(ARCH_TEST_AES) || !defined(ARCH_TEST_CIPER_MODE_CFB))
+    (!defined(ARCH_TEST_CIPHER) || !defined(ARCH_TEST_AES) || !defined(ARCH_TEST_CIPHER_MODE_CFB))
 #error "ARCH_TEST_CFB_AES defined, but not all prerequisites"
 #endif
 
@@ -124,7 +124,7 @@
 #error "ARCH_TEST_RSA_PKCS1V15_CRYPT defined, but not all prerequisites"
 #endif
 
-#if defined(ARCH_TEST_CBC_PKCS7) && !defined(ARCH_TEST_CIPER_MODE_CBC)
+#if defined(ARCH_TEST_CBC_PKCS7) && !defined(ARCH_TEST_CIPHER_MODE_CBC)
 #error "ARCH_TEST_CBC_PKCS7 defined, but not all prerequisites"
 #endif
 
diff --git a/api-tests/platform/targets/common/nspe/crypto/pal_crypto_intf.c b/api-tests/platform/targets/common/nspe/crypto/pal_crypto_intf.c
index 92f94b2..197fc88 100644
--- a/api-tests/platform/targets/common/nspe/crypto/pal_crypto_intf.c
+++ b/api-tests/platform/targets/common/nspe/crypto/pal_crypto_intf.c
@@ -36,9 +36,7 @@
     const uint8_t                   *nonce, *additional_data, *salt, *peer;
     size_t                          *length, size, ciphertext_size, nonce_length;
     size_t                           salt_length, peer_length, additional_data_length;
-#ifdef tgt_dev_apis_stdc
     size_t                          plaintext_size;
-#endif
 #ifdef NO_SUPPORT
     size_t                          *tag_length;
 #endif
@@ -179,7 +177,6 @@
         case PAL_CRYPTO_HASH_ABORT:
             hash_operation = va_arg(valist, psa_hash_operation_t*);
             return psa_hash_abort(hash_operation);
-#ifdef tgt_dev_apis_stdc
         case PAL_CRYPTO_HASH_COMPUTE:
             alg = va_arg(valist, psa_algorithm_t);
             plaintext = va_arg(valist, uint8_t*);
@@ -195,7 +192,6 @@
             buffer = va_arg(valist, uint8_t*);
             size = va_arg(valist, size_t);
             return psa_hash_compare(alg, plaintext, plaintext_size, buffer, size);
-#endif
         case PAL_CRYPTO_HASH_CLONE:
             hash_operation = va_arg(valist, psa_hash_operation_t*);
             target_operation = va_arg(valist, psa_hash_operation_t*);
@@ -518,8 +514,10 @@
             for (i = 0; i < PAL_KEY_SLOT_COUNT; i++)
                 psa_destroy_key(i);
             return 0;
+#ifndef TF_M_PROFILE_SMALL
         case PAL_CRYPTO_RESET:
             return pal_system_reset();
+#endif
         default:
             return PAL_STATUS_UNSUPPORTED_FUNC;
     }
diff --git a/api-tests/platform/targets/tgt_dev_apis_stdc/nspe/pal_crypto_config.h b/api-tests/platform/targets/tgt_dev_apis_stdc/nspe/pal_crypto_config.h
index 2ce1d33..5b7d785 100644
--- a/api-tests/platform/targets/tgt_dev_apis_stdc/nspe/pal_crypto_config.h
+++ b/api-tests/platform/targets/tgt_dev_apis_stdc/nspe/pal_crypto_config.h
@@ -92,12 +92,12 @@
 #define ARCH_TEST_RAW
 
 /**
- * \def ARCH_TEST_CIPER
+ * \def ARCH_TEST_CIPHER
  *
  * Enable the generic cipher layer.
  */
 
-#define ARCH_TEST_CIPER
+#define ARCH_TEST_CIPHER
 
 /**
  * \def ARCH_TEST_ARC4
@@ -107,43 +107,43 @@
 #define ARCH_TEST_ARC4
 
 /**
- * \def ARCH_TEST_CIPER_MODE_CTR
+ * \def ARCH_TEST_CIPHER_MODE_CTR
  *
  * Enable Counter Block Cipher mode (CTR) for symmetric ciphers.
  *
- * Requires: ARCH_TEST_CIPER
+ * Requires: ARCH_TEST_CIPHER
  */
-#define ARCH_TEST_CIPER_MODE_CTR
+#define ARCH_TEST_CIPHER_MODE_CTR
 
 /**
- * \def ARCH_TEST_CIPER_MODE_CFB
+ * \def ARCH_TEST_CIPHER_MODE_CFB
  *
  * Enable Cipher Feedback mode (CFB) for symmetric ciphers.
  *
- * Requires: ARCH_TEST_CIPER
+ * Requires: ARCH_TEST_CIPHER
  */
-#define ARCH_TEST_CIPER_MODE_CFB
+#define ARCH_TEST_CIPHER_MODE_CFB
 
 /**
- * \def ARCH_TEST_CIPER_MODE_CBC
+ * \def ARCH_TEST_CIPHER_MODE_CBC
  *
  * Enable Cipher Block Chaining mode (CBC) for symmetric ciphers.
  *
- * Requires: ARCH_TEST_CIPER
+ * Requires: ARCH_TEST_CIPHER
  */
-#define ARCH_TEST_CIPER_MODE_CBC
+#define ARCH_TEST_CIPHER_MODE_CBC
 
 /**
  * \def ARCH_TEST_CTR_AES
  *
- * Requires: ARCH_TEST_CIPER, ARCH_TEST_AES, ARCH_TEST_CIPER_MODE_CTR
+ * Requires: ARCH_TEST_CIPHER, ARCH_TEST_AES, ARCH_TEST_CIPHER_MODE_CTR
  */
 #define ARCH_TEST_CTR_AES
 
 /**
  * \def ARCH_TEST_CBC_AES
  *
- * Requires: ARCH_TEST_CIPER, ARCH_TEST_AES, ARCH_TEST_CIPER_MODE_CBC
+ * Requires: ARCH_TEST_CIPHER, ARCH_TEST_AES, ARCH_TEST_CIPHER_MODE_CBC
  *
  * Comment macros to disable the types
  */
@@ -153,7 +153,7 @@
 /**
  * \def ARCH_TEST_CBC_NO_PADDING
  *
- * Requires: ARCH_TEST_CIPER, ARCH_TEST_CIPER_MODE_CBC
+ * Requires: ARCH_TEST_CIPHER, ARCH_TEST_CIPHER_MODE_CBC
  *
  * Comment macros to disable the types
  */
@@ -162,7 +162,7 @@
 /**
  * \def ARCH_TEST_CFB_AES
  *
- * Requires: ARCH_TEST_CIPER, ARCH_TEST_AES, ARCH_TEST_CIPER_MODE_CFB
+ * Requires: ARCH_TEST_CIPHER, ARCH_TEST_AES, ARCH_TEST_CIPHER_MODE_CFB
  */
 #define ARCH_TEST_CFB_AES
 
@@ -186,7 +186,7 @@
 /**
  * \def ARCH_TEST_CBC_PKCS7
  *
- * Requires: ARCH_TEST_CIPER_MODE_CBC
+ * Requires: ARCH_TEST_CIPHER_MODE_CBC
  *
  * Comment macros to disable the types
  */
diff --git a/api-tests/platform/targets/tgt_dev_apis_tfm_an521/nspe/pal_crypto_config.h b/api-tests/platform/targets/tgt_dev_apis_tfm_an521/nspe/pal_crypto_config.h
index 6f3eca7..c936bdd 100644
--- a/api-tests/platform/targets/tgt_dev_apis_tfm_an521/nspe/pal_crypto_config.h
+++ b/api-tests/platform/targets/tgt_dev_apis_tfm_an521/nspe/pal_crypto_config.h
@@ -34,10 +34,14 @@
  *
  * Comment macros to disable the types
  */
+#ifndef TF_M_PROFILE_SMALL
+#ifndef TF_M_PROFILE_MEDIUM
 #define ARCH_TEST_RSA
 #define ARCH_TEST_RSA_1024
 #define ARCH_TEST_RSA_2048
 #define ARCH_TEST_RSA_3072
+#endif
+#endif
 
 /**
  * \def  ARCH_TEST_ECC
@@ -50,11 +54,17 @@
  * Requires: ARCH_TEST_ECC
  * Comment macros to disable the curve
  */
+#ifndef TF_M_PROFILE_SMALL
 #define ARCH_TEST_ECC
 #define ARCH_TEST_ECC_CURVE_SECP192R1
+#ifndef TF_M_PROFILE_MEDIUM
 #define ARCH_TEST_ECC_CURVE_SECP224R1
+#endif
 #define ARCH_TEST_ECC_CURVE_SECP256R1
+#ifndef TF_M_PROFILE_MEDIUM
 #define ARCH_TEST_ECC_CURVE_SECP384R1
+#endif
+#endif
 
 /**
  * \def ARCH_TEST_AES
@@ -92,12 +102,12 @@
 #define ARCH_TEST_RAW
 
 /**
- * \def ARCH_TEST_CIPER
+ * \def ARCH_TEST_CIPHER
  *
  * Enable the generic cipher layer.
  */
 
-#define ARCH_TEST_CIPER
+#define ARCH_TEST_CIPHER
 
 /**
  * \def ARCH_TEST_ARC4
@@ -107,43 +117,51 @@
 //#define ARCH_TEST_ARC4
 
 /**
- * \def ARCH_TEST_CIPER_MODE_CTR
+ * \def ARCH_TEST_CIPHER_MODE_CTR
  *
  * Enable Counter Block Cipher mode (CTR) for symmetric ciphers.
  *
- * Requires: ARCH_TEST_CIPER
+ * Requires: ARCH_TEST_CIPHER
  */
-#define ARCH_TEST_CIPER_MODE_CTR
+#ifndef TF_M_PROFILE_SMALL
+#ifndef TF_M_PROFILE_MEDIUM
+#define ARCH_TEST_CIPHER_MODE_CTR
+#endif
+#endif
 
 /**
- * \def ARCH_TEST_CIPER_MODE_CFB
+ * \def ARCH_TEST_CIPHER_MODE_CFB
  *
  * Enable Cipher Feedback mode (CFB) for symmetric ciphers.
  *
- * Requires: ARCH_TEST_CIPER
+ * Requires: ARCH_TEST_CIPHER
  */
-#define ARCH_TEST_CIPER_MODE_CFB
+#define ARCH_TEST_CIPHER_MODE_CFB
 
 /**
- * \def ARCH_TEST_CIPER_MODE_CBC
+ * \def ARCH_TEST_CIPHER_MODE_CBC
  *
  * Enable Cipher Block Chaining mode (CBC) for symmetric ciphers.
  *
- * Requires: ARCH_TEST_CIPER
+ * Requires: ARCH_TEST_CIPHER
  */
-#define ARCH_TEST_CIPER_MODE_CBC
+#define ARCH_TEST_CIPHER_MODE_CBC
 
 /**
  * \def ARCH_TEST_CTR_AES
  *
- * Requires: ARCH_TEST_CIPER, ARCH_TEST_AES, ARCH_TEST_CIPER_MODE_CTR
+ * Requires: ARCH_TEST_CIPHER, ARCH_TEST_AES, ARCH_TEST_CIPHER_MODE_CTR
  */
+#ifndef TF_M_PROFILE_SMALL
+#ifndef TF_M_PROFILE_MEDIUM
 #define ARCH_TEST_CTR_AES
+#endif
+#endif
 
 /**
  * \def ARCH_TEST_CBC_AES
  *
- * Requires: ARCH_TEST_CIPER, ARCH_TEST_AES, ARCH_TEST_CIPER_MODE_CBC
+ * Requires: ARCH_TEST_CIPHER, ARCH_TEST_AES, ARCH_TEST_CIPHER_MODE_CBC
  *
  * Comment macros to disable the types
  */
@@ -153,16 +171,20 @@
 /**
  * \def ARCH_TEST_CBC_NO_PADDING
  *
- * Requires: ARCH_TEST_CIPER, ARCH_TEST_CIPER_MODE_CBC
+ * Requires: ARCH_TEST_CIPHER, ARCH_TEST_CIPHER_MODE_CBC
  *
  * Comment macros to disable the types
  */
+#ifndef TF_M_PROFILE_SMALL
+#ifndef TF_M_PROFILE_MEDIUM
 #define ARCH_TEST_CBC_NO_PADDING
+#endif
+#endif
 
 /**
  * \def ARCH_TEST_CFB_AES
  *
- * Requires: ARCH_TEST_CIPER, ARCH_TEST_AES, ARCH_TEST_CIPER_MODE_CFB
+ * Requires: ARCH_TEST_CIPHER, ARCH_TEST_AES, ARCH_TEST_CIPHER_MODE_CFB
  */
 #define ARCH_TEST_CFB_AES
 
@@ -177,20 +199,28 @@
  *
  * Comment macros to disable the types
  */
+#ifndef TF_M_PROFILE_SMALL
+#ifndef TF_M_PROFILE_MEDIUM
 #define ARCH_TEST_PKCS1V15
 #define ARCH_TEST_RSA_PKCS1V15_SIGN
 #define ARCH_TEST_RSA_PKCS1V15_SIGN_RAW
 #define ARCH_TEST_RSA_PKCS1V15_CRYPT
 #define ARCH_TEST_RSA_OAEP
+#endif
+#endif
 
 /**
  * \def ARCH_TEST_CBC_PKCS7
  *
- * Requires: ARCH_TEST_CIPER_MODE_CBC
+ * Requires: ARCH_TEST_CIPHER_MODE_CBC
  *
  * Comment macros to disable the types
  */
+#ifndef TF_M_PROFILE_SMALL
+#ifndef TF_M_PROFILE_MEDIUM
 #define ARCH_TEST_CBC_PKCS7
+#endif
+#endif
 
 /**
  * \def ARCH_TEST_ASYMMETRIC_ENCRYPTION
@@ -232,10 +262,16 @@
 //#define ARCH_TEST_MD5
 //#define ARCH_TEST_RIPEMD160
 //#define ARCH_TEST_SHA1
+#ifndef TF_M_PROFILE_SMALL
 #define ARCH_TEST_SHA224
+#endif
 #define ARCH_TEST_SHA256
+#ifndef TF_M_PROFILE_SMALL
+#ifndef TF_M_PROFILE_MEDIUM
 #define ARCH_TEST_SHA384
 #define ARCH_TEST_SHA512
+#endif
+#endif
 //#define ARCH_TEST_SHA512_224
 //#define ARCH_TEST_SHA512_256
 //#define ARCH_TEST_SHA3_224
@@ -261,7 +297,11 @@
  *
  * Comment macros to disable the types
  */
+#ifndef TF_M_PROFILE_SMALL
+#ifndef TF_M_PROFILE_MEDIUM
 #define ARCH_TEST_CMAC
+#endif
+#endif
 //#define ARCH_TEST_GMAC
 #define ARCH_TEST_HMAC
 
@@ -282,7 +322,11 @@
  * Requires: ARCH_TEST_AES
  *
  */
+#ifndef TF_M_PROFILE_SMALL
+#ifndef TF_M_PROFILE_MEDIUM
 #define ARCH_TEST_GCM
+#endif
+#endif
 
 /**
  * \def ARCH_TEST_TRUNCATED_MAC
@@ -301,7 +345,9 @@
  *
  * Requires: ARCH_TEST_ECC
  */
+#ifndef TF_M_PROFILE_SMALL
 #define ARCH_TEST_ECDH
+#endif
 
 /**
  * \def ARCH_TEST_ECDSA
@@ -309,7 +355,9 @@
  * Enable the elliptic curve DSA library.
  * Requires: ARCH_TEST_ECC
  */
+#ifndef TF_M_PROFILE_SMALL
 #define ARCH_TEST_ECDSA
+#endif
 
 /**
  * \def ARCH_TEST_DETERMINISTIC_ECDSA
diff --git a/api-tests/platform/targets/tgt_dev_apis_tfm_an524/nspe/pal_crypto_config.h b/api-tests/platform/targets/tgt_dev_apis_tfm_an524/nspe/pal_crypto_config.h
index 6f3eca7..c936bdd 100644
--- a/api-tests/platform/targets/tgt_dev_apis_tfm_an524/nspe/pal_crypto_config.h
+++ b/api-tests/platform/targets/tgt_dev_apis_tfm_an524/nspe/pal_crypto_config.h
@@ -34,10 +34,14 @@
  *
  * Comment macros to disable the types
  */
+#ifndef TF_M_PROFILE_SMALL
+#ifndef TF_M_PROFILE_MEDIUM
 #define ARCH_TEST_RSA
 #define ARCH_TEST_RSA_1024
 #define ARCH_TEST_RSA_2048
 #define ARCH_TEST_RSA_3072
+#endif
+#endif
 
 /**
  * \def  ARCH_TEST_ECC
@@ -50,11 +54,17 @@
  * Requires: ARCH_TEST_ECC
  * Comment macros to disable the curve
  */
+#ifndef TF_M_PROFILE_SMALL
 #define ARCH_TEST_ECC
 #define ARCH_TEST_ECC_CURVE_SECP192R1
+#ifndef TF_M_PROFILE_MEDIUM
 #define ARCH_TEST_ECC_CURVE_SECP224R1
+#endif
 #define ARCH_TEST_ECC_CURVE_SECP256R1
+#ifndef TF_M_PROFILE_MEDIUM
 #define ARCH_TEST_ECC_CURVE_SECP384R1
+#endif
+#endif
 
 /**
  * \def ARCH_TEST_AES
@@ -92,12 +102,12 @@
 #define ARCH_TEST_RAW
 
 /**
- * \def ARCH_TEST_CIPER
+ * \def ARCH_TEST_CIPHER
  *
  * Enable the generic cipher layer.
  */
 
-#define ARCH_TEST_CIPER
+#define ARCH_TEST_CIPHER
 
 /**
  * \def ARCH_TEST_ARC4
@@ -107,43 +117,51 @@
 //#define ARCH_TEST_ARC4
 
 /**
- * \def ARCH_TEST_CIPER_MODE_CTR
+ * \def ARCH_TEST_CIPHER_MODE_CTR
  *
  * Enable Counter Block Cipher mode (CTR) for symmetric ciphers.
  *
- * Requires: ARCH_TEST_CIPER
+ * Requires: ARCH_TEST_CIPHER
  */
-#define ARCH_TEST_CIPER_MODE_CTR
+#ifndef TF_M_PROFILE_SMALL
+#ifndef TF_M_PROFILE_MEDIUM
+#define ARCH_TEST_CIPHER_MODE_CTR
+#endif
+#endif
 
 /**
- * \def ARCH_TEST_CIPER_MODE_CFB
+ * \def ARCH_TEST_CIPHER_MODE_CFB
  *
  * Enable Cipher Feedback mode (CFB) for symmetric ciphers.
  *
- * Requires: ARCH_TEST_CIPER
+ * Requires: ARCH_TEST_CIPHER
  */
-#define ARCH_TEST_CIPER_MODE_CFB
+#define ARCH_TEST_CIPHER_MODE_CFB
 
 /**
- * \def ARCH_TEST_CIPER_MODE_CBC
+ * \def ARCH_TEST_CIPHER_MODE_CBC
  *
  * Enable Cipher Block Chaining mode (CBC) for symmetric ciphers.
  *
- * Requires: ARCH_TEST_CIPER
+ * Requires: ARCH_TEST_CIPHER
  */
-#define ARCH_TEST_CIPER_MODE_CBC
+#define ARCH_TEST_CIPHER_MODE_CBC
 
 /**
  * \def ARCH_TEST_CTR_AES
  *
- * Requires: ARCH_TEST_CIPER, ARCH_TEST_AES, ARCH_TEST_CIPER_MODE_CTR
+ * Requires: ARCH_TEST_CIPHER, ARCH_TEST_AES, ARCH_TEST_CIPHER_MODE_CTR
  */
+#ifndef TF_M_PROFILE_SMALL
+#ifndef TF_M_PROFILE_MEDIUM
 #define ARCH_TEST_CTR_AES
+#endif
+#endif
 
 /**
  * \def ARCH_TEST_CBC_AES
  *
- * Requires: ARCH_TEST_CIPER, ARCH_TEST_AES, ARCH_TEST_CIPER_MODE_CBC
+ * Requires: ARCH_TEST_CIPHER, ARCH_TEST_AES, ARCH_TEST_CIPHER_MODE_CBC
  *
  * Comment macros to disable the types
  */
@@ -153,16 +171,20 @@
 /**
  * \def ARCH_TEST_CBC_NO_PADDING
  *
- * Requires: ARCH_TEST_CIPER, ARCH_TEST_CIPER_MODE_CBC
+ * Requires: ARCH_TEST_CIPHER, ARCH_TEST_CIPHER_MODE_CBC
  *
  * Comment macros to disable the types
  */
+#ifndef TF_M_PROFILE_SMALL
+#ifndef TF_M_PROFILE_MEDIUM
 #define ARCH_TEST_CBC_NO_PADDING
+#endif
+#endif
 
 /**
  * \def ARCH_TEST_CFB_AES
  *
- * Requires: ARCH_TEST_CIPER, ARCH_TEST_AES, ARCH_TEST_CIPER_MODE_CFB
+ * Requires: ARCH_TEST_CIPHER, ARCH_TEST_AES, ARCH_TEST_CIPHER_MODE_CFB
  */
 #define ARCH_TEST_CFB_AES
 
@@ -177,20 +199,28 @@
  *
  * Comment macros to disable the types
  */
+#ifndef TF_M_PROFILE_SMALL
+#ifndef TF_M_PROFILE_MEDIUM
 #define ARCH_TEST_PKCS1V15
 #define ARCH_TEST_RSA_PKCS1V15_SIGN
 #define ARCH_TEST_RSA_PKCS1V15_SIGN_RAW
 #define ARCH_TEST_RSA_PKCS1V15_CRYPT
 #define ARCH_TEST_RSA_OAEP
+#endif
+#endif
 
 /**
  * \def ARCH_TEST_CBC_PKCS7
  *
- * Requires: ARCH_TEST_CIPER_MODE_CBC
+ * Requires: ARCH_TEST_CIPHER_MODE_CBC
  *
  * Comment macros to disable the types
  */
+#ifndef TF_M_PROFILE_SMALL
+#ifndef TF_M_PROFILE_MEDIUM
 #define ARCH_TEST_CBC_PKCS7
+#endif
+#endif
 
 /**
  * \def ARCH_TEST_ASYMMETRIC_ENCRYPTION
@@ -232,10 +262,16 @@
 //#define ARCH_TEST_MD5
 //#define ARCH_TEST_RIPEMD160
 //#define ARCH_TEST_SHA1
+#ifndef TF_M_PROFILE_SMALL
 #define ARCH_TEST_SHA224
+#endif
 #define ARCH_TEST_SHA256
+#ifndef TF_M_PROFILE_SMALL
+#ifndef TF_M_PROFILE_MEDIUM
 #define ARCH_TEST_SHA384
 #define ARCH_TEST_SHA512
+#endif
+#endif
 //#define ARCH_TEST_SHA512_224
 //#define ARCH_TEST_SHA512_256
 //#define ARCH_TEST_SHA3_224
@@ -261,7 +297,11 @@
  *
  * Comment macros to disable the types
  */
+#ifndef TF_M_PROFILE_SMALL
+#ifndef TF_M_PROFILE_MEDIUM
 #define ARCH_TEST_CMAC
+#endif
+#endif
 //#define ARCH_TEST_GMAC
 #define ARCH_TEST_HMAC
 
@@ -282,7 +322,11 @@
  * Requires: ARCH_TEST_AES
  *
  */
+#ifndef TF_M_PROFILE_SMALL
+#ifndef TF_M_PROFILE_MEDIUM
 #define ARCH_TEST_GCM
+#endif
+#endif
 
 /**
  * \def ARCH_TEST_TRUNCATED_MAC
@@ -301,7 +345,9 @@
  *
  * Requires: ARCH_TEST_ECC
  */
+#ifndef TF_M_PROFILE_SMALL
 #define ARCH_TEST_ECDH
+#endif
 
 /**
  * \def ARCH_TEST_ECDSA
@@ -309,7 +355,9 @@
  * Enable the elliptic curve DSA library.
  * Requires: ARCH_TEST_ECC
  */
+#ifndef TF_M_PROFILE_SMALL
 #define ARCH_TEST_ECDSA
+#endif
 
 /**
  * \def ARCH_TEST_DETERMINISTIC_ECDSA
diff --git a/api-tests/platform/targets/tgt_dev_apis_tfm_an539/nspe/pal_crypto_config.h b/api-tests/platform/targets/tgt_dev_apis_tfm_an539/nspe/pal_crypto_config.h
index aaa1bc5..132240a 100644
--- a/api-tests/platform/targets/tgt_dev_apis_tfm_an539/nspe/pal_crypto_config.h
+++ b/api-tests/platform/targets/tgt_dev_apis_tfm_an539/nspe/pal_crypto_config.h
@@ -34,10 +34,14 @@
  *
  * Comment macros to disable the types
  */
+#ifndef TF_M_PROFILE_SMALL
+#ifndef TF_M_PROFILE_MEDIUM
 #define ARCH_TEST_RSA
 #define ARCH_TEST_RSA_1024
 #define ARCH_TEST_RSA_2048
 #define ARCH_TEST_RSA_3072
+#endif
+#endif
 
 /**
  * \def  ARCH_TEST_ECC
@@ -50,11 +54,17 @@
  * Requires: ARCH_TEST_ECC
  * Comment macros to disable the curve
  */
+#ifndef TF_M_PROFILE_SMALL
 #define ARCH_TEST_ECC
 #define ARCH_TEST_ECC_CURVE_SECP192R1
+#ifndef TF_M_PROFILE_MEDIUM
 #define ARCH_TEST_ECC_CURVE_SECP224R1
+#endif
 #define ARCH_TEST_ECC_CURVE_SECP256R1
+#ifndef TF_M_PROFILE_MEDIUM
 #define ARCH_TEST_ECC_CURVE_SECP384R1
+#endif
+#endif
 
 /**
  * \def ARCH_TEST_AES
@@ -92,12 +102,12 @@
 #define ARCH_TEST_RAW
 
 /**
- * \def ARCH_TEST_CIPER
+ * \def ARCH_TEST_CIPHER
  *
  * Enable the generic cipher layer.
  */
 
-#define ARCH_TEST_CIPER
+#define ARCH_TEST_CIPHER
 
 /**
  * \def ARCH_TEST_ARC4
@@ -107,43 +117,51 @@
 //#define ARCH_TEST_ARC4
 
 /**
- * \def ARCH_TEST_CIPER_MODE_CTR
+ * \def ARCH_TEST_CIPHER_MODE_CTR
  *
  * Enable Counter Block Cipher mode (CTR) for symmetric ciphers.
  *
- * Requires: ARCH_TEST_CIPER
+ * Requires: ARCH_TEST_CIPHER
  */
-#define ARCH_TEST_CIPER_MODE_CTR
+#ifndef TF_M_PROFILE_SMALL
+#ifndef TF_M_PROFILE_MEDIUM
+#define ARCH_TEST_CIPHER_MODE_CTR
+#endif
+#endif
 
 /**
- * \def ARCH_TEST_CIPER_MODE_CFB
+ * \def ARCH_TEST_CIPHER_MODE_CFB
  *
  * Enable Cipher Feedback mode (CFB) for symmetric ciphers.
  *
- * Requires: ARCH_TEST_CIPER
+ * Requires: ARCH_TEST_CIPHER
  */
-#define ARCH_TEST_CIPER_MODE_CFB
+#define ARCH_TEST_CIPHER_MODE_CFB
 
 /**
- * \def ARCH_TEST_CIPER_MODE_CBC
+ * \def ARCH_TEST_CIPHER_MODE_CBC
  *
  * Enable Cipher Block Chaining mode (CBC) for symmetric ciphers.
  *
- * Requires: ARCH_TEST_CIPER
+ * Requires: ARCH_TEST_CIPHER
  */
-#define ARCH_TEST_CIPER_MODE_CBC
+#define ARCH_TEST_CIPHER_MODE_CBC
 
 /**
  * \def ARCH_TEST_CTR_AES
  *
- * Requires: ARCH_TEST_CIPER, ARCH_TEST_AES, ARCH_TEST_CIPER_MODE_CTR
+ * Requires: ARCH_TEST_CIPHER, ARCH_TEST_AES, ARCH_TEST_CIPHER_MODE_CTR
  */
+#ifndef TF_M_PROFILE_SMALL
+#ifndef TF_M_PROFILE_MEDIUM
 #define ARCH_TEST_CTR_AES
+#endif
+#endif
 
 /**
  * \def ARCH_TEST_CBC_AES
  *
- * Requires: ARCH_TEST_CIPER, ARCH_TEST_AES, ARCH_TEST_CIPER_MODE_CBC
+ * Requires: ARCH_TEST_CIPHER, ARCH_TEST_AES, ARCH_TEST_CIPHER_MODE_CBC
  *
  * Comment macros to disable the types
  */
@@ -153,16 +171,20 @@
 /**
  * \def ARCH_TEST_CBC_NO_PADDING
  *
- * Requires: ARCH_TEST_CIPER, ARCH_TEST_CIPER_MODE_CBC
+ * Requires: ARCH_TEST_CIPHER, ARCH_TEST_CIPHER_MODE_CBC
  *
  * Comment macros to disable the types
  */
+#ifndef TF_M_PROFILE_SMALL
+#ifndef TF_M_PROFILE_MEDIUM
 #define ARCH_TEST_CBC_NO_PADDING
+#endif
+#endif
 
 /**
  * \def ARCH_TEST_CFB_AES
  *
- * Requires: ARCH_TEST_CIPER, ARCH_TEST_AES, ARCH_TEST_CIPER_MODE_CFB
+ * Requires: ARCH_TEST_CIPHER, ARCH_TEST_AES, ARCH_TEST_CIPHER_MODE_CFB
  */
 #define ARCH_TEST_CFB_AES
 
@@ -177,20 +199,28 @@
  *
  * Comment macros to disable the types
  */
+#ifndef TF_M_PROFILE_SMALL
+#ifndef TF_M_PROFILE_MEDIUM
 #define ARCH_TEST_PKCS1V15
 #define ARCH_TEST_RSA_PKCS1V15_SIGN
 #define ARCH_TEST_RSA_PKCS1V15_SIGN_RAW
 #define ARCH_TEST_RSA_PKCS1V15_CRYPT
 #define ARCH_TEST_RSA_OAEP
+#endif
+#endif
 
 /**
  * \def ARCH_TEST_CBC_PKCS7
  *
- * Requires: ARCH_TEST_CIPER_MODE_CBC
+ * Requires: ARCH_TEST_CIPHER_MODE_CBC
  *
  * Comment macros to disable the types
  */
+#ifndef TF_M_PROFILE_SMALL
+#ifndef TF_M_PROFILE_MEDIUM
 #define ARCH_TEST_CBC_PKCS7
+#endif
+#endif
 
 /**
  * \def ARCH_TEST_ASYMMETRIC_ENCRYPTION
@@ -232,10 +262,16 @@
 //#define ARCH_TEST_MD5
 //#define ARCH_TEST_RIPEMD160
 //#define ARCH_TEST_SHA1
+#ifndef TF_M_PROFILE_SMALL
 #define ARCH_TEST_SHA224
+#endif
 #define ARCH_TEST_SHA256
+#ifndef TF_M_PROFILE_SMALL
+#ifndef TF_M_PROFILE_MEDIUM
 #define ARCH_TEST_SHA384
 #define ARCH_TEST_SHA512
+#endif
+#endif
 //#define ARCH_TEST_SHA512_224
 //#define ARCH_TEST_SHA512_256
 //#define ARCH_TEST_SHA3_224
@@ -261,7 +297,11 @@
  *
  * Comment macros to disable the types
  */
+#ifndef TF_M_PROFILE_SMALL
+#ifndef TF_M_PROFILE_MEDIUM
 #define ARCH_TEST_CMAC
+#endif
+#endif
 //#define ARCH_TEST_GMAC
 #define ARCH_TEST_HMAC
 
@@ -282,7 +322,11 @@
  * Requires: ARCH_TEST_AES
  *
  */
+#ifndef TF_M_PROFILE_SMALL
+#ifndef TF_M_PROFILE_MEDIUM
 #define ARCH_TEST_GCM
+#endif
+#endif
 
 /**
  * \def ARCH_TEST_TRUNCATED_MAC
@@ -301,7 +345,9 @@
  *
  * Requires: ARCH_TEST_ECC
  */
+#ifndef TF_M_PROFILE_SMALL
 #define ARCH_TEST_ECDH
+#endif
 
 /**
  * \def ARCH_TEST_ECDSA
@@ -309,7 +355,9 @@
  * Enable the elliptic curve DSA library.
  * Requires: ARCH_TEST_ECC
  */
+#ifndef TF_M_PROFILE_SMALL
 #define ARCH_TEST_ECDSA
+#endif
 
 /**
  * \def ARCH_TEST_DETERMINISTIC_ECDSA
diff --git a/api-tests/platform/targets/tgt_dev_apis_tfm_musca_a/nspe/pal_crypto_config.h b/api-tests/platform/targets/tgt_dev_apis_tfm_musca_a/nspe/pal_crypto_config.h
index 6f3eca7..c936bdd 100644
--- a/api-tests/platform/targets/tgt_dev_apis_tfm_musca_a/nspe/pal_crypto_config.h
+++ b/api-tests/platform/targets/tgt_dev_apis_tfm_musca_a/nspe/pal_crypto_config.h
@@ -34,10 +34,14 @@
  *
  * Comment macros to disable the types
  */
+#ifndef TF_M_PROFILE_SMALL
+#ifndef TF_M_PROFILE_MEDIUM
 #define ARCH_TEST_RSA
 #define ARCH_TEST_RSA_1024
 #define ARCH_TEST_RSA_2048
 #define ARCH_TEST_RSA_3072
+#endif
+#endif
 
 /**
  * \def  ARCH_TEST_ECC
@@ -50,11 +54,17 @@
  * Requires: ARCH_TEST_ECC
  * Comment macros to disable the curve
  */
+#ifndef TF_M_PROFILE_SMALL
 #define ARCH_TEST_ECC
 #define ARCH_TEST_ECC_CURVE_SECP192R1
+#ifndef TF_M_PROFILE_MEDIUM
 #define ARCH_TEST_ECC_CURVE_SECP224R1
+#endif
 #define ARCH_TEST_ECC_CURVE_SECP256R1
+#ifndef TF_M_PROFILE_MEDIUM
 #define ARCH_TEST_ECC_CURVE_SECP384R1
+#endif
+#endif
 
 /**
  * \def ARCH_TEST_AES
@@ -92,12 +102,12 @@
 #define ARCH_TEST_RAW
 
 /**
- * \def ARCH_TEST_CIPER
+ * \def ARCH_TEST_CIPHER
  *
  * Enable the generic cipher layer.
  */
 
-#define ARCH_TEST_CIPER
+#define ARCH_TEST_CIPHER
 
 /**
  * \def ARCH_TEST_ARC4
@@ -107,43 +117,51 @@
 //#define ARCH_TEST_ARC4
 
 /**
- * \def ARCH_TEST_CIPER_MODE_CTR
+ * \def ARCH_TEST_CIPHER_MODE_CTR
  *
  * Enable Counter Block Cipher mode (CTR) for symmetric ciphers.
  *
- * Requires: ARCH_TEST_CIPER
+ * Requires: ARCH_TEST_CIPHER
  */
-#define ARCH_TEST_CIPER_MODE_CTR
+#ifndef TF_M_PROFILE_SMALL
+#ifndef TF_M_PROFILE_MEDIUM
+#define ARCH_TEST_CIPHER_MODE_CTR
+#endif
+#endif
 
 /**
- * \def ARCH_TEST_CIPER_MODE_CFB
+ * \def ARCH_TEST_CIPHER_MODE_CFB
  *
  * Enable Cipher Feedback mode (CFB) for symmetric ciphers.
  *
- * Requires: ARCH_TEST_CIPER
+ * Requires: ARCH_TEST_CIPHER
  */
-#define ARCH_TEST_CIPER_MODE_CFB
+#define ARCH_TEST_CIPHER_MODE_CFB
 
 /**
- * \def ARCH_TEST_CIPER_MODE_CBC
+ * \def ARCH_TEST_CIPHER_MODE_CBC
  *
  * Enable Cipher Block Chaining mode (CBC) for symmetric ciphers.
  *
- * Requires: ARCH_TEST_CIPER
+ * Requires: ARCH_TEST_CIPHER
  */
-#define ARCH_TEST_CIPER_MODE_CBC
+#define ARCH_TEST_CIPHER_MODE_CBC
 
 /**
  * \def ARCH_TEST_CTR_AES
  *
- * Requires: ARCH_TEST_CIPER, ARCH_TEST_AES, ARCH_TEST_CIPER_MODE_CTR
+ * Requires: ARCH_TEST_CIPHER, ARCH_TEST_AES, ARCH_TEST_CIPHER_MODE_CTR
  */
+#ifndef TF_M_PROFILE_SMALL
+#ifndef TF_M_PROFILE_MEDIUM
 #define ARCH_TEST_CTR_AES
+#endif
+#endif
 
 /**
  * \def ARCH_TEST_CBC_AES
  *
- * Requires: ARCH_TEST_CIPER, ARCH_TEST_AES, ARCH_TEST_CIPER_MODE_CBC
+ * Requires: ARCH_TEST_CIPHER, ARCH_TEST_AES, ARCH_TEST_CIPHER_MODE_CBC
  *
  * Comment macros to disable the types
  */
@@ -153,16 +171,20 @@
 /**
  * \def ARCH_TEST_CBC_NO_PADDING
  *
- * Requires: ARCH_TEST_CIPER, ARCH_TEST_CIPER_MODE_CBC
+ * Requires: ARCH_TEST_CIPHER, ARCH_TEST_CIPHER_MODE_CBC
  *
  * Comment macros to disable the types
  */
+#ifndef TF_M_PROFILE_SMALL
+#ifndef TF_M_PROFILE_MEDIUM
 #define ARCH_TEST_CBC_NO_PADDING
+#endif
+#endif
 
 /**
  * \def ARCH_TEST_CFB_AES
  *
- * Requires: ARCH_TEST_CIPER, ARCH_TEST_AES, ARCH_TEST_CIPER_MODE_CFB
+ * Requires: ARCH_TEST_CIPHER, ARCH_TEST_AES, ARCH_TEST_CIPHER_MODE_CFB
  */
 #define ARCH_TEST_CFB_AES
 
@@ -177,20 +199,28 @@
  *
  * Comment macros to disable the types
  */
+#ifndef TF_M_PROFILE_SMALL
+#ifndef TF_M_PROFILE_MEDIUM
 #define ARCH_TEST_PKCS1V15
 #define ARCH_TEST_RSA_PKCS1V15_SIGN
 #define ARCH_TEST_RSA_PKCS1V15_SIGN_RAW
 #define ARCH_TEST_RSA_PKCS1V15_CRYPT
 #define ARCH_TEST_RSA_OAEP
+#endif
+#endif
 
 /**
  * \def ARCH_TEST_CBC_PKCS7
  *
- * Requires: ARCH_TEST_CIPER_MODE_CBC
+ * Requires: ARCH_TEST_CIPHER_MODE_CBC
  *
  * Comment macros to disable the types
  */
+#ifndef TF_M_PROFILE_SMALL
+#ifndef TF_M_PROFILE_MEDIUM
 #define ARCH_TEST_CBC_PKCS7
+#endif
+#endif
 
 /**
  * \def ARCH_TEST_ASYMMETRIC_ENCRYPTION
@@ -232,10 +262,16 @@
 //#define ARCH_TEST_MD5
 //#define ARCH_TEST_RIPEMD160
 //#define ARCH_TEST_SHA1
+#ifndef TF_M_PROFILE_SMALL
 #define ARCH_TEST_SHA224
+#endif
 #define ARCH_TEST_SHA256
+#ifndef TF_M_PROFILE_SMALL
+#ifndef TF_M_PROFILE_MEDIUM
 #define ARCH_TEST_SHA384
 #define ARCH_TEST_SHA512
+#endif
+#endif
 //#define ARCH_TEST_SHA512_224
 //#define ARCH_TEST_SHA512_256
 //#define ARCH_TEST_SHA3_224
@@ -261,7 +297,11 @@
  *
  * Comment macros to disable the types
  */
+#ifndef TF_M_PROFILE_SMALL
+#ifndef TF_M_PROFILE_MEDIUM
 #define ARCH_TEST_CMAC
+#endif
+#endif
 //#define ARCH_TEST_GMAC
 #define ARCH_TEST_HMAC
 
@@ -282,7 +322,11 @@
  * Requires: ARCH_TEST_AES
  *
  */
+#ifndef TF_M_PROFILE_SMALL
+#ifndef TF_M_PROFILE_MEDIUM
 #define ARCH_TEST_GCM
+#endif
+#endif
 
 /**
  * \def ARCH_TEST_TRUNCATED_MAC
@@ -301,7 +345,9 @@
  *
  * Requires: ARCH_TEST_ECC
  */
+#ifndef TF_M_PROFILE_SMALL
 #define ARCH_TEST_ECDH
+#endif
 
 /**
  * \def ARCH_TEST_ECDSA
@@ -309,7 +355,9 @@
  * Enable the elliptic curve DSA library.
  * Requires: ARCH_TEST_ECC
  */
+#ifndef TF_M_PROFILE_SMALL
 #define ARCH_TEST_ECDSA
+#endif
 
 /**
  * \def ARCH_TEST_DETERMINISTIC_ECDSA
diff --git a/api-tests/platform/targets/tgt_dev_apis_tfm_musca_b1/nspe/pal_crypto_config.h b/api-tests/platform/targets/tgt_dev_apis_tfm_musca_b1/nspe/pal_crypto_config.h
index 6f3eca7..c936bdd 100644
--- a/api-tests/platform/targets/tgt_dev_apis_tfm_musca_b1/nspe/pal_crypto_config.h
+++ b/api-tests/platform/targets/tgt_dev_apis_tfm_musca_b1/nspe/pal_crypto_config.h
@@ -34,10 +34,14 @@
  *
  * Comment macros to disable the types
  */
+#ifndef TF_M_PROFILE_SMALL
+#ifndef TF_M_PROFILE_MEDIUM
 #define ARCH_TEST_RSA
 #define ARCH_TEST_RSA_1024
 #define ARCH_TEST_RSA_2048
 #define ARCH_TEST_RSA_3072
+#endif
+#endif
 
 /**
  * \def  ARCH_TEST_ECC
@@ -50,11 +54,17 @@
  * Requires: ARCH_TEST_ECC
  * Comment macros to disable the curve
  */
+#ifndef TF_M_PROFILE_SMALL
 #define ARCH_TEST_ECC
 #define ARCH_TEST_ECC_CURVE_SECP192R1
+#ifndef TF_M_PROFILE_MEDIUM
 #define ARCH_TEST_ECC_CURVE_SECP224R1
+#endif
 #define ARCH_TEST_ECC_CURVE_SECP256R1
+#ifndef TF_M_PROFILE_MEDIUM
 #define ARCH_TEST_ECC_CURVE_SECP384R1
+#endif
+#endif
 
 /**
  * \def ARCH_TEST_AES
@@ -92,12 +102,12 @@
 #define ARCH_TEST_RAW
 
 /**
- * \def ARCH_TEST_CIPER
+ * \def ARCH_TEST_CIPHER
  *
  * Enable the generic cipher layer.
  */
 
-#define ARCH_TEST_CIPER
+#define ARCH_TEST_CIPHER
 
 /**
  * \def ARCH_TEST_ARC4
@@ -107,43 +117,51 @@
 //#define ARCH_TEST_ARC4
 
 /**
- * \def ARCH_TEST_CIPER_MODE_CTR
+ * \def ARCH_TEST_CIPHER_MODE_CTR
  *
  * Enable Counter Block Cipher mode (CTR) for symmetric ciphers.
  *
- * Requires: ARCH_TEST_CIPER
+ * Requires: ARCH_TEST_CIPHER
  */
-#define ARCH_TEST_CIPER_MODE_CTR
+#ifndef TF_M_PROFILE_SMALL
+#ifndef TF_M_PROFILE_MEDIUM
+#define ARCH_TEST_CIPHER_MODE_CTR
+#endif
+#endif
 
 /**
- * \def ARCH_TEST_CIPER_MODE_CFB
+ * \def ARCH_TEST_CIPHER_MODE_CFB
  *
  * Enable Cipher Feedback mode (CFB) for symmetric ciphers.
  *
- * Requires: ARCH_TEST_CIPER
+ * Requires: ARCH_TEST_CIPHER
  */
-#define ARCH_TEST_CIPER_MODE_CFB
+#define ARCH_TEST_CIPHER_MODE_CFB
 
 /**
- * \def ARCH_TEST_CIPER_MODE_CBC
+ * \def ARCH_TEST_CIPHER_MODE_CBC
  *
  * Enable Cipher Block Chaining mode (CBC) for symmetric ciphers.
  *
- * Requires: ARCH_TEST_CIPER
+ * Requires: ARCH_TEST_CIPHER
  */
-#define ARCH_TEST_CIPER_MODE_CBC
+#define ARCH_TEST_CIPHER_MODE_CBC
 
 /**
  * \def ARCH_TEST_CTR_AES
  *
- * Requires: ARCH_TEST_CIPER, ARCH_TEST_AES, ARCH_TEST_CIPER_MODE_CTR
+ * Requires: ARCH_TEST_CIPHER, ARCH_TEST_AES, ARCH_TEST_CIPHER_MODE_CTR
  */
+#ifndef TF_M_PROFILE_SMALL
+#ifndef TF_M_PROFILE_MEDIUM
 #define ARCH_TEST_CTR_AES
+#endif
+#endif
 
 /**
  * \def ARCH_TEST_CBC_AES
  *
- * Requires: ARCH_TEST_CIPER, ARCH_TEST_AES, ARCH_TEST_CIPER_MODE_CBC
+ * Requires: ARCH_TEST_CIPHER, ARCH_TEST_AES, ARCH_TEST_CIPHER_MODE_CBC
  *
  * Comment macros to disable the types
  */
@@ -153,16 +171,20 @@
 /**
  * \def ARCH_TEST_CBC_NO_PADDING
  *
- * Requires: ARCH_TEST_CIPER, ARCH_TEST_CIPER_MODE_CBC
+ * Requires: ARCH_TEST_CIPHER, ARCH_TEST_CIPHER_MODE_CBC
  *
  * Comment macros to disable the types
  */
+#ifndef TF_M_PROFILE_SMALL
+#ifndef TF_M_PROFILE_MEDIUM
 #define ARCH_TEST_CBC_NO_PADDING
+#endif
+#endif
 
 /**
  * \def ARCH_TEST_CFB_AES
  *
- * Requires: ARCH_TEST_CIPER, ARCH_TEST_AES, ARCH_TEST_CIPER_MODE_CFB
+ * Requires: ARCH_TEST_CIPHER, ARCH_TEST_AES, ARCH_TEST_CIPHER_MODE_CFB
  */
 #define ARCH_TEST_CFB_AES
 
@@ -177,20 +199,28 @@
  *
  * Comment macros to disable the types
  */
+#ifndef TF_M_PROFILE_SMALL
+#ifndef TF_M_PROFILE_MEDIUM
 #define ARCH_TEST_PKCS1V15
 #define ARCH_TEST_RSA_PKCS1V15_SIGN
 #define ARCH_TEST_RSA_PKCS1V15_SIGN_RAW
 #define ARCH_TEST_RSA_PKCS1V15_CRYPT
 #define ARCH_TEST_RSA_OAEP
+#endif
+#endif
 
 /**
  * \def ARCH_TEST_CBC_PKCS7
  *
- * Requires: ARCH_TEST_CIPER_MODE_CBC
+ * Requires: ARCH_TEST_CIPHER_MODE_CBC
  *
  * Comment macros to disable the types
  */
+#ifndef TF_M_PROFILE_SMALL
+#ifndef TF_M_PROFILE_MEDIUM
 #define ARCH_TEST_CBC_PKCS7
+#endif
+#endif
 
 /**
  * \def ARCH_TEST_ASYMMETRIC_ENCRYPTION
@@ -232,10 +262,16 @@
 //#define ARCH_TEST_MD5
 //#define ARCH_TEST_RIPEMD160
 //#define ARCH_TEST_SHA1
+#ifndef TF_M_PROFILE_SMALL
 #define ARCH_TEST_SHA224
+#endif
 #define ARCH_TEST_SHA256
+#ifndef TF_M_PROFILE_SMALL
+#ifndef TF_M_PROFILE_MEDIUM
 #define ARCH_TEST_SHA384
 #define ARCH_TEST_SHA512
+#endif
+#endif
 //#define ARCH_TEST_SHA512_224
 //#define ARCH_TEST_SHA512_256
 //#define ARCH_TEST_SHA3_224
@@ -261,7 +297,11 @@
  *
  * Comment macros to disable the types
  */
+#ifndef TF_M_PROFILE_SMALL
+#ifndef TF_M_PROFILE_MEDIUM
 #define ARCH_TEST_CMAC
+#endif
+#endif
 //#define ARCH_TEST_GMAC
 #define ARCH_TEST_HMAC
 
@@ -282,7 +322,11 @@
  * Requires: ARCH_TEST_AES
  *
  */
+#ifndef TF_M_PROFILE_SMALL
+#ifndef TF_M_PROFILE_MEDIUM
 #define ARCH_TEST_GCM
+#endif
+#endif
 
 /**
  * \def ARCH_TEST_TRUNCATED_MAC
@@ -301,7 +345,9 @@
  *
  * Requires: ARCH_TEST_ECC
  */
+#ifndef TF_M_PROFILE_SMALL
 #define ARCH_TEST_ECDH
+#endif
 
 /**
  * \def ARCH_TEST_ECDSA
@@ -309,7 +355,9 @@
  * Enable the elliptic curve DSA library.
  * Requires: ARCH_TEST_ECC
  */
+#ifndef TF_M_PROFILE_SMALL
 #define ARCH_TEST_ECDSA
+#endif
 
 /**
  * \def ARCH_TEST_DETERMINISTIC_ECDSA
diff --git a/api-tests/platform/targets/tgt_dev_apis_tfm_musca_s1/nspe/pal_crypto_config.h b/api-tests/platform/targets/tgt_dev_apis_tfm_musca_s1/nspe/pal_crypto_config.h
index aaa1bc5..132240a 100644
--- a/api-tests/platform/targets/tgt_dev_apis_tfm_musca_s1/nspe/pal_crypto_config.h
+++ b/api-tests/platform/targets/tgt_dev_apis_tfm_musca_s1/nspe/pal_crypto_config.h
@@ -34,10 +34,14 @@
  *
  * Comment macros to disable the types
  */
+#ifndef TF_M_PROFILE_SMALL
+#ifndef TF_M_PROFILE_MEDIUM
 #define ARCH_TEST_RSA
 #define ARCH_TEST_RSA_1024
 #define ARCH_TEST_RSA_2048
 #define ARCH_TEST_RSA_3072
+#endif
+#endif
 
 /**
  * \def  ARCH_TEST_ECC
@@ -50,11 +54,17 @@
  * Requires: ARCH_TEST_ECC
  * Comment macros to disable the curve
  */
+#ifndef TF_M_PROFILE_SMALL
 #define ARCH_TEST_ECC
 #define ARCH_TEST_ECC_CURVE_SECP192R1
+#ifndef TF_M_PROFILE_MEDIUM
 #define ARCH_TEST_ECC_CURVE_SECP224R1
+#endif
 #define ARCH_TEST_ECC_CURVE_SECP256R1
+#ifndef TF_M_PROFILE_MEDIUM
 #define ARCH_TEST_ECC_CURVE_SECP384R1
+#endif
+#endif
 
 /**
  * \def ARCH_TEST_AES
@@ -92,12 +102,12 @@
 #define ARCH_TEST_RAW
 
 /**
- * \def ARCH_TEST_CIPER
+ * \def ARCH_TEST_CIPHER
  *
  * Enable the generic cipher layer.
  */
 
-#define ARCH_TEST_CIPER
+#define ARCH_TEST_CIPHER
 
 /**
  * \def ARCH_TEST_ARC4
@@ -107,43 +117,51 @@
 //#define ARCH_TEST_ARC4
 
 /**
- * \def ARCH_TEST_CIPER_MODE_CTR
+ * \def ARCH_TEST_CIPHER_MODE_CTR
  *
  * Enable Counter Block Cipher mode (CTR) for symmetric ciphers.
  *
- * Requires: ARCH_TEST_CIPER
+ * Requires: ARCH_TEST_CIPHER
  */
-#define ARCH_TEST_CIPER_MODE_CTR
+#ifndef TF_M_PROFILE_SMALL
+#ifndef TF_M_PROFILE_MEDIUM
+#define ARCH_TEST_CIPHER_MODE_CTR
+#endif
+#endif
 
 /**
- * \def ARCH_TEST_CIPER_MODE_CFB
+ * \def ARCH_TEST_CIPHER_MODE_CFB
  *
  * Enable Cipher Feedback mode (CFB) for symmetric ciphers.
  *
- * Requires: ARCH_TEST_CIPER
+ * Requires: ARCH_TEST_CIPHER
  */
-#define ARCH_TEST_CIPER_MODE_CFB
+#define ARCH_TEST_CIPHER_MODE_CFB
 
 /**
- * \def ARCH_TEST_CIPER_MODE_CBC
+ * \def ARCH_TEST_CIPHER_MODE_CBC
  *
  * Enable Cipher Block Chaining mode (CBC) for symmetric ciphers.
  *
- * Requires: ARCH_TEST_CIPER
+ * Requires: ARCH_TEST_CIPHER
  */
-#define ARCH_TEST_CIPER_MODE_CBC
+#define ARCH_TEST_CIPHER_MODE_CBC
 
 /**
  * \def ARCH_TEST_CTR_AES
  *
- * Requires: ARCH_TEST_CIPER, ARCH_TEST_AES, ARCH_TEST_CIPER_MODE_CTR
+ * Requires: ARCH_TEST_CIPHER, ARCH_TEST_AES, ARCH_TEST_CIPHER_MODE_CTR
  */
+#ifndef TF_M_PROFILE_SMALL
+#ifndef TF_M_PROFILE_MEDIUM
 #define ARCH_TEST_CTR_AES
+#endif
+#endif
 
 /**
  * \def ARCH_TEST_CBC_AES
  *
- * Requires: ARCH_TEST_CIPER, ARCH_TEST_AES, ARCH_TEST_CIPER_MODE_CBC
+ * Requires: ARCH_TEST_CIPHER, ARCH_TEST_AES, ARCH_TEST_CIPHER_MODE_CBC
  *
  * Comment macros to disable the types
  */
@@ -153,16 +171,20 @@
 /**
  * \def ARCH_TEST_CBC_NO_PADDING
  *
- * Requires: ARCH_TEST_CIPER, ARCH_TEST_CIPER_MODE_CBC
+ * Requires: ARCH_TEST_CIPHER, ARCH_TEST_CIPHER_MODE_CBC
  *
  * Comment macros to disable the types
  */
+#ifndef TF_M_PROFILE_SMALL
+#ifndef TF_M_PROFILE_MEDIUM
 #define ARCH_TEST_CBC_NO_PADDING
+#endif
+#endif
 
 /**
  * \def ARCH_TEST_CFB_AES
  *
- * Requires: ARCH_TEST_CIPER, ARCH_TEST_AES, ARCH_TEST_CIPER_MODE_CFB
+ * Requires: ARCH_TEST_CIPHER, ARCH_TEST_AES, ARCH_TEST_CIPHER_MODE_CFB
  */
 #define ARCH_TEST_CFB_AES
 
@@ -177,20 +199,28 @@
  *
  * Comment macros to disable the types
  */
+#ifndef TF_M_PROFILE_SMALL
+#ifndef TF_M_PROFILE_MEDIUM
 #define ARCH_TEST_PKCS1V15
 #define ARCH_TEST_RSA_PKCS1V15_SIGN
 #define ARCH_TEST_RSA_PKCS1V15_SIGN_RAW
 #define ARCH_TEST_RSA_PKCS1V15_CRYPT
 #define ARCH_TEST_RSA_OAEP
+#endif
+#endif
 
 /**
  * \def ARCH_TEST_CBC_PKCS7
  *
- * Requires: ARCH_TEST_CIPER_MODE_CBC
+ * Requires: ARCH_TEST_CIPHER_MODE_CBC
  *
  * Comment macros to disable the types
  */
+#ifndef TF_M_PROFILE_SMALL
+#ifndef TF_M_PROFILE_MEDIUM
 #define ARCH_TEST_CBC_PKCS7
+#endif
+#endif
 
 /**
  * \def ARCH_TEST_ASYMMETRIC_ENCRYPTION
@@ -232,10 +262,16 @@
 //#define ARCH_TEST_MD5
 //#define ARCH_TEST_RIPEMD160
 //#define ARCH_TEST_SHA1
+#ifndef TF_M_PROFILE_SMALL
 #define ARCH_TEST_SHA224
+#endif
 #define ARCH_TEST_SHA256
+#ifndef TF_M_PROFILE_SMALL
+#ifndef TF_M_PROFILE_MEDIUM
 #define ARCH_TEST_SHA384
 #define ARCH_TEST_SHA512
+#endif
+#endif
 //#define ARCH_TEST_SHA512_224
 //#define ARCH_TEST_SHA512_256
 //#define ARCH_TEST_SHA3_224
@@ -261,7 +297,11 @@
  *
  * Comment macros to disable the types
  */
+#ifndef TF_M_PROFILE_SMALL
+#ifndef TF_M_PROFILE_MEDIUM
 #define ARCH_TEST_CMAC
+#endif
+#endif
 //#define ARCH_TEST_GMAC
 #define ARCH_TEST_HMAC
 
@@ -282,7 +322,11 @@
  * Requires: ARCH_TEST_AES
  *
  */
+#ifndef TF_M_PROFILE_SMALL
+#ifndef TF_M_PROFILE_MEDIUM
 #define ARCH_TEST_GCM
+#endif
+#endif
 
 /**
  * \def ARCH_TEST_TRUNCATED_MAC
@@ -301,7 +345,9 @@
  *
  * Requires: ARCH_TEST_ECC
  */
+#ifndef TF_M_PROFILE_SMALL
 #define ARCH_TEST_ECDH
+#endif
 
 /**
  * \def ARCH_TEST_ECDSA
@@ -309,7 +355,9 @@
  * Enable the elliptic curve DSA library.
  * Requires: ARCH_TEST_ECC
  */
+#ifndef TF_M_PROFILE_SMALL
 #define ARCH_TEST_ECDSA
+#endif
 
 /**
  * \def ARCH_TEST_DETERMINISTIC_ECDSA
diff --git a/api-tests/platform/targets/tgt_dev_apis_tfm_psoc64/nspe/pal_crypto_config.h b/api-tests/platform/targets/tgt_dev_apis_tfm_psoc64/nspe/pal_crypto_config.h
index aaa1bc5..132240a 100644
--- a/api-tests/platform/targets/tgt_dev_apis_tfm_psoc64/nspe/pal_crypto_config.h
+++ b/api-tests/platform/targets/tgt_dev_apis_tfm_psoc64/nspe/pal_crypto_config.h
@@ -34,10 +34,14 @@
  *
  * Comment macros to disable the types
  */
+#ifndef TF_M_PROFILE_SMALL
+#ifndef TF_M_PROFILE_MEDIUM
 #define ARCH_TEST_RSA
 #define ARCH_TEST_RSA_1024
 #define ARCH_TEST_RSA_2048
 #define ARCH_TEST_RSA_3072
+#endif
+#endif
 
 /**
  * \def  ARCH_TEST_ECC
@@ -50,11 +54,17 @@
  * Requires: ARCH_TEST_ECC
  * Comment macros to disable the curve
  */
+#ifndef TF_M_PROFILE_SMALL
 #define ARCH_TEST_ECC
 #define ARCH_TEST_ECC_CURVE_SECP192R1
+#ifndef TF_M_PROFILE_MEDIUM
 #define ARCH_TEST_ECC_CURVE_SECP224R1
+#endif
 #define ARCH_TEST_ECC_CURVE_SECP256R1
+#ifndef TF_M_PROFILE_MEDIUM
 #define ARCH_TEST_ECC_CURVE_SECP384R1
+#endif
+#endif
 
 /**
  * \def ARCH_TEST_AES
@@ -92,12 +102,12 @@
 #define ARCH_TEST_RAW
 
 /**
- * \def ARCH_TEST_CIPER
+ * \def ARCH_TEST_CIPHER
  *
  * Enable the generic cipher layer.
  */
 
-#define ARCH_TEST_CIPER
+#define ARCH_TEST_CIPHER
 
 /**
  * \def ARCH_TEST_ARC4
@@ -107,43 +117,51 @@
 //#define ARCH_TEST_ARC4
 
 /**
- * \def ARCH_TEST_CIPER_MODE_CTR
+ * \def ARCH_TEST_CIPHER_MODE_CTR
  *
  * Enable Counter Block Cipher mode (CTR) for symmetric ciphers.
  *
- * Requires: ARCH_TEST_CIPER
+ * Requires: ARCH_TEST_CIPHER
  */
-#define ARCH_TEST_CIPER_MODE_CTR
+#ifndef TF_M_PROFILE_SMALL
+#ifndef TF_M_PROFILE_MEDIUM
+#define ARCH_TEST_CIPHER_MODE_CTR
+#endif
+#endif
 
 /**
- * \def ARCH_TEST_CIPER_MODE_CFB
+ * \def ARCH_TEST_CIPHER_MODE_CFB
  *
  * Enable Cipher Feedback mode (CFB) for symmetric ciphers.
  *
- * Requires: ARCH_TEST_CIPER
+ * Requires: ARCH_TEST_CIPHER
  */
-#define ARCH_TEST_CIPER_MODE_CFB
+#define ARCH_TEST_CIPHER_MODE_CFB
 
 /**
- * \def ARCH_TEST_CIPER_MODE_CBC
+ * \def ARCH_TEST_CIPHER_MODE_CBC
  *
  * Enable Cipher Block Chaining mode (CBC) for symmetric ciphers.
  *
- * Requires: ARCH_TEST_CIPER
+ * Requires: ARCH_TEST_CIPHER
  */
-#define ARCH_TEST_CIPER_MODE_CBC
+#define ARCH_TEST_CIPHER_MODE_CBC
 
 /**
  * \def ARCH_TEST_CTR_AES
  *
- * Requires: ARCH_TEST_CIPER, ARCH_TEST_AES, ARCH_TEST_CIPER_MODE_CTR
+ * Requires: ARCH_TEST_CIPHER, ARCH_TEST_AES, ARCH_TEST_CIPHER_MODE_CTR
  */
+#ifndef TF_M_PROFILE_SMALL
+#ifndef TF_M_PROFILE_MEDIUM
 #define ARCH_TEST_CTR_AES
+#endif
+#endif
 
 /**
  * \def ARCH_TEST_CBC_AES
  *
- * Requires: ARCH_TEST_CIPER, ARCH_TEST_AES, ARCH_TEST_CIPER_MODE_CBC
+ * Requires: ARCH_TEST_CIPHER, ARCH_TEST_AES, ARCH_TEST_CIPHER_MODE_CBC
  *
  * Comment macros to disable the types
  */
@@ -153,16 +171,20 @@
 /**
  * \def ARCH_TEST_CBC_NO_PADDING
  *
- * Requires: ARCH_TEST_CIPER, ARCH_TEST_CIPER_MODE_CBC
+ * Requires: ARCH_TEST_CIPHER, ARCH_TEST_CIPHER_MODE_CBC
  *
  * Comment macros to disable the types
  */
+#ifndef TF_M_PROFILE_SMALL
+#ifndef TF_M_PROFILE_MEDIUM
 #define ARCH_TEST_CBC_NO_PADDING
+#endif
+#endif
 
 /**
  * \def ARCH_TEST_CFB_AES
  *
- * Requires: ARCH_TEST_CIPER, ARCH_TEST_AES, ARCH_TEST_CIPER_MODE_CFB
+ * Requires: ARCH_TEST_CIPHER, ARCH_TEST_AES, ARCH_TEST_CIPHER_MODE_CFB
  */
 #define ARCH_TEST_CFB_AES
 
@@ -177,20 +199,28 @@
  *
  * Comment macros to disable the types
  */
+#ifndef TF_M_PROFILE_SMALL
+#ifndef TF_M_PROFILE_MEDIUM
 #define ARCH_TEST_PKCS1V15
 #define ARCH_TEST_RSA_PKCS1V15_SIGN
 #define ARCH_TEST_RSA_PKCS1V15_SIGN_RAW
 #define ARCH_TEST_RSA_PKCS1V15_CRYPT
 #define ARCH_TEST_RSA_OAEP
+#endif
+#endif
 
 /**
  * \def ARCH_TEST_CBC_PKCS7
  *
- * Requires: ARCH_TEST_CIPER_MODE_CBC
+ * Requires: ARCH_TEST_CIPHER_MODE_CBC
  *
  * Comment macros to disable the types
  */
+#ifndef TF_M_PROFILE_SMALL
+#ifndef TF_M_PROFILE_MEDIUM
 #define ARCH_TEST_CBC_PKCS7
+#endif
+#endif
 
 /**
  * \def ARCH_TEST_ASYMMETRIC_ENCRYPTION
@@ -232,10 +262,16 @@
 //#define ARCH_TEST_MD5
 //#define ARCH_TEST_RIPEMD160
 //#define ARCH_TEST_SHA1
+#ifndef TF_M_PROFILE_SMALL
 #define ARCH_TEST_SHA224
+#endif
 #define ARCH_TEST_SHA256
+#ifndef TF_M_PROFILE_SMALL
+#ifndef TF_M_PROFILE_MEDIUM
 #define ARCH_TEST_SHA384
 #define ARCH_TEST_SHA512
+#endif
+#endif
 //#define ARCH_TEST_SHA512_224
 //#define ARCH_TEST_SHA512_256
 //#define ARCH_TEST_SHA3_224
@@ -261,7 +297,11 @@
  *
  * Comment macros to disable the types
  */
+#ifndef TF_M_PROFILE_SMALL
+#ifndef TF_M_PROFILE_MEDIUM
 #define ARCH_TEST_CMAC
+#endif
+#endif
 //#define ARCH_TEST_GMAC
 #define ARCH_TEST_HMAC
 
@@ -282,7 +322,11 @@
  * Requires: ARCH_TEST_AES
  *
  */
+#ifndef TF_M_PROFILE_SMALL
+#ifndef TF_M_PROFILE_MEDIUM
 #define ARCH_TEST_GCM
+#endif
+#endif
 
 /**
  * \def ARCH_TEST_TRUNCATED_MAC
@@ -301,7 +345,9 @@
  *
  * Requires: ARCH_TEST_ECC
  */
+#ifndef TF_M_PROFILE_SMALL
 #define ARCH_TEST_ECDH
+#endif
 
 /**
  * \def ARCH_TEST_ECDSA
@@ -309,7 +355,9 @@
  * Enable the elliptic curve DSA library.
  * Requires: ARCH_TEST_ECC
  */
+#ifndef TF_M_PROFILE_SMALL
 #define ARCH_TEST_ECDSA
+#endif
 
 /**
  * \def ARCH_TEST_DETERMINISTIC_ECDSA
diff --git a/api-tests/tools/cmake/compiler/HOST_GCC.cmake b/api-tests/tools/cmake/compiler/HOST_GCC.cmake
index b26ed76..35c9d54 100644
--- a/api-tests/tools/cmake/compiler/HOST_GCC.cmake
+++ b/api-tests/tools/cmake/compiler/HOST_GCC.cmake
@@ -47,6 +47,6 @@
 
 foreach(_LNG IN ITEMS "C" "ASM")
 	set(CMAKE_${_LNG}_COMPILER ${_C_TOOLCHAIN_PATH})
-	set(CMAKE_C_FLAGS	"-g -Wall -Werror -Werror")
+	set(CMAKE_C_FLAGS	"-g -Wall -Werror -Werror -std=c99")
 	message(STATUS "[PSA] : ${_LNG}  compiler used '${CMAKE_${_LNG}_COMPILER}'")
 endforeach()
diff --git a/api-tests/tools/scripts/manifest_update.py b/api-tests/tools/scripts/manifest_update.py
index 21447ae..91fd32c 100644
--- a/api-tests/tools/scripts/manifest_update.py
+++ b/api-tests/tools/scripts/manifest_update.py
@@ -38,6 +38,8 @@
 				if (re.findall('heap_size', line)):
 					continue
 				f_o.write(line)
+		f_i.close()
+		f_o.close()
 		shutil.move(file+".update", file)
 
 def argparse():
diff --git a/api-tests/val/nspe/val_entry.h b/api-tests/val/nspe/val_entry.h
index 8011c70..b8d6b6f 100644
--- a/api-tests/val/nspe/val_entry.h
+++ b/api-tests/val/nspe/val_entry.h
@@ -21,7 +21,7 @@
 #include "val_framework.h"
 
 #define PSA_ACS_MAJOR_VER    1
-#define PSA_ACS_MINOR_VER    0
+#define PSA_ACS_MINOR_VER    1
 
 /**
     @brief    - PSA Test Suite C main function, does VAL init and calls test dispatcher