Crypto: Add missing key derivation APIs in the interface

Following APIs are in psa/crypto.h hence they need to be linkable
by partitions/applications:

* psa_key_derivation_input_integer
* psa_key_derivation_verify_bytes
* psa_key_derivation_verify_key

Only psa_key_derivation_input_integer is currently implemented by
Mbed TLS 3.5.0 as the PSA Crypto backend hence it's the only one
requiring full plumbing from interface through service up to the
Crypto backend library call.

Signed-off-by: Summer Qin <summer.qin@arm.com>
Change-Id: I69f262e5a95e04935c8bec05b0b6b509f4b65ad4
diff --git a/interface/include/tfm_crypto_defs.h b/interface/include/tfm_crypto_defs.h
index c30ff74..ae85855 100644
--- a/interface/include/tfm_crypto_defs.h
+++ b/interface/include/tfm_crypto_defs.h
@@ -47,7 +47,6 @@
     uint32_t op_handle;      /*!< Frontend context handle associated to a
                               *   multipart operation
                               */
-    size_t capacity;         /*!< Key derivation capacity */
     size_t ad_length;        /*!< Additional Data length for multipart AEAD */
     size_t plaintext_length; /*!< Plaintext length for multipart AEAD */
 
@@ -58,6 +57,10 @@
                               *   See tfm_crypto_func_sid for detail
                               */
     uint16_t step;           /*!< Key derivation step */
+    union {
+        size_t capacity;     /*!< Key derivation capacity */
+        uint64_t value;      /*!< Key derivation integer for update*/
+    };
 };
 
 /**
@@ -153,6 +156,7 @@
     X(TFM_CRYPTO_KEY_DERIVATION_SET_CAPACITY)      \
     X(TFM_CRYPTO_KEY_DERIVATION_INPUT_BYTES)       \
     X(TFM_CRYPTO_KEY_DERIVATION_INPUT_KEY)         \
+    X(TFM_CRYPTO_KEY_DERIVATION_INPUT_INTEGER)     \
     X(TFM_CRYPTO_KEY_DERIVATION_KEY_AGREEMENT)     \
     X(TFM_CRYPTO_KEY_DERIVATION_OUTPUT_BYTES)      \
     X(TFM_CRYPTO_KEY_DERIVATION_OUTPUT_KEY)        \