Integrate stub PSA FWU M proxy into se-proxy

Add FWU provider RPC interface which uses PSA FWU M update agent and
stub PSA FWU M interface implementation. Platforms must provide the real
PSA FWU M interface implementation an replace the placeholder stub.

Signed-off-by: Imre Kis <imre.kis@arm.com>
Change-Id: Ib8fa7ae0f12eff4019651d1621d5d9cbe3ea0355
diff --git a/deployments/se-proxy/env/commonsp/se_proxy_sp.c b/deployments/se-proxy/env/commonsp/se_proxy_sp.c
index c7ae99e..485d764 100644
--- a/deployments/se-proxy/env/commonsp/se_proxy_sp.c
+++ b/deployments/se-proxy/env/commonsp/se_proxy_sp.c
@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: BSD-3-Clause
 /*
- * Copyright (c) 2021-2022, Arm Limited and Contributors. All rights reserved.
+ * Copyright (c) 2021-2024, Arm Limited and Contributors. All rights reserved.
  */
 
 #include "components/rpc/common/endpoint/rpc_service_interface.h"
@@ -39,7 +39,7 @@
 		goto fatal_error;
 	}
 
-	rpc_status = ts_rpc_endpoint_sp_init(&rpc_endpoint, 4, 16);
+	rpc_status = ts_rpc_endpoint_sp_init(&rpc_endpoint, 5, 16);
 	if (rpc_status != RPC_SUCCESS) {
 		EMSG("Failed to initialize RPC endpoint: %d", rpc_status);
 		goto fatal_error;
@@ -94,6 +94,18 @@
 		goto fatal_error;
 	}
 
+	rpc_iface = fwu_proxy_create();
+	if (!rpc_iface) {
+		EMSG("Failed to create FWU proxy");
+		goto fatal_error;
+	}
+
+	rpc_status = ts_rpc_endpoint_sp_add_service(&rpc_endpoint, rpc_iface);
+	if (rpc_status != RPC_SUCCESS) {
+		EMSG("Failed to add service to RPC endpoint: %d", rpc_status);
+		goto fatal_error;
+	}
+
 	/* End of boot phase */
 	result = sp_msg_wait(&req_msg);
 	if (result != SP_RESULT_OK) {