aboutsummaryrefslogtreecommitdiff
path: root/platform/ext/target/musca_a/services/src/tfm_platform_system.c
diff options
context:
space:
mode:
Diffstat (limited to 'platform/ext/target/musca_a/services/src/tfm_platform_system.c')
-rw-r--r--platform/ext/target/musca_a/services/src/tfm_platform_system.c105
1 files changed, 0 insertions, 105 deletions
diff --git a/platform/ext/target/musca_a/services/src/tfm_platform_system.c b/platform/ext/target/musca_a/services/src/tfm_platform_system.c
deleted file mode 100644
index e5c50880e0..0000000000
--- a/platform/ext/target/musca_a/services/src/tfm_platform_system.c
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Copyright (c) 2018-2020, Arm Limited. All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- *
- */
-
-#include <stdbool.h>
-#include "tfm_platform_system.h"
-#include "platform_description.h"
-#include "target_cfg.h"
-#include "device_definition.h"
-#include "psa/client.h"
-#include "tfm_ioctl_api.h"
-
-void tfm_platform_hal_system_reset(void)
-{
- /* Reset the system */
- NVIC_SystemReset();
-}
-
-enum tfm_platform_err_t
-tfm_platform_hal_gpio_service(const psa_invec *in_vec,
- const psa_outvec *out_vec)
-{
- struct tfm_gpio_service_args_t *args;
- struct tfm_gpio_service_out_t *out;
- enum gpio_cmsdk_direction_t dir;
- /* Alternate function is configured through the SCC, this is not used
- * on Musca-A, the default value is passed to the driver
- */
- enum gpio_cmsdk_altfunc_t altfunc = GPIO_CMSDK_MAIN_FUNC;
-
- if (in_vec->len != sizeof(struct tfm_gpio_service_args_t) ||
- out_vec->len != sizeof(struct tfm_gpio_service_out_t)) {
- return TFM_PLATFORM_ERR_INVALID_PARAM;
- }
-
- args = (struct tfm_gpio_service_args_t *)in_vec->base;
- out = (struct tfm_gpio_service_out_t *)out_vec->base;
- switch (args->type) {
- case TFM_GPIO_SERVICE_TYPE_INIT:
- gpio_cmsdk_init(&GPIO0_CMSDK_DEV_S);
- out->u.result = GPIO_CMSDK_ERR_NONE;
- break;
- case TFM_GPIO_SERVICE_TYPE_PIN_CONFIG:
- dir = (enum gpio_cmsdk_direction_t)args->u.gpio_config.direction;
- out->u.result = gpio_cmsdk_pin_config(
- &GPIO0_CMSDK_DEV_S,
- args->u.gpio_config.pin_num_or_mask,
- dir, altfunc);
- break;
- case TFM_GPIO_SERVICE_TYPE_PIN_WRITE:
- out->u.result = gpio_cmsdk_pin_write(&GPIO0_CMSDK_DEV_S,
- args->u.gpio_write.pin_num_or_mask,
- args->u.gpio_write.value);
- break;
- case TFM_GPIO_SERVICE_TYPE_PIN_READ:
- out->u.gpio_read_result.result =
- gpio_cmsdk_pin_read(&GPIO0_CMSDK_DEV_S,
- args->u.gpio_read.pin_num_or_mask,
- &out->u.gpio_read_result.data);
- break;
- case TFM_GPIO_SERVICE_TYPE_PORT_CONFIG:
- dir = (enum gpio_cmsdk_direction_t)args->u.gpio_config.direction;
- out->u.result = gpio_cmsdk_port_config(
- &GPIO0_CMSDK_DEV_S,
- args->u.gpio_config.pin_num_or_mask,
- dir, altfunc);
- break;
- case TFM_GPIO_SERVICE_TYPE_PORT_WRITE:
- out->u.result = gpio_cmsdk_port_write(
- &GPIO0_CMSDK_DEV_S,
- args->u.gpio_write.pin_num_or_mask,
- args->u.gpio_write.value);
- break;
- case TFM_GPIO_SERVICE_TYPE_PORT_READ:
- out->u.gpio_read_result.result =
- gpio_cmsdk_port_read(&GPIO0_CMSDK_DEV_S,
- args->u.gpio_read.pin_num_or_mask,
- &out->u.gpio_read_result.data);
- break;
- default:
- out->u.result = GPIO_CMSDK_ERR_INVALID_ARG;
- break;
- }
-
- in_vec++;
- out_vec++;
-
- return TFM_PLATFORM_ERR_SUCCESS;
-}
-
-
-enum tfm_platform_err_t tfm_platform_hal_ioctl(tfm_platform_ioctl_req_t request,
- psa_invec *in_vec,
- psa_outvec *out_vec)
-{
- switch (request){
- case TFM_PLATFORM_IOCTL_GPIO_SERVICE:
- return tfm_platform_hal_gpio_service(in_vec, out_vec);
- default:
- return TFM_PLATFORM_ERR_NOT_SUPPORTED;
- }
-}