mirror of https://github.com/ARMmbed/mbed-os.git
113 lines
2.7 KiB
C
113 lines
2.7 KiB
C
/** @file
|
|
* Copyright (c) 2018, Arm Limited or its affiliates. All rights reserved.
|
|
* SPDX-License-Identifier : Apache-2.0
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
**/
|
|
|
|
#ifndef _PAL_COMMON_H_
|
|
#define _PAL_COMMON_H_
|
|
|
|
#include <string.h>
|
|
#include <stdint.h>
|
|
#include <stdlib.h>
|
|
#include <limits.h>
|
|
#include <stdarg.h>
|
|
|
|
#ifndef PSA_PROTECTED_STORAGE_IMPLEMENTED
|
|
#define PSA_INTERNAL_TRUSTED_STORAGE_IMPLEMENTED 1 /* Use ITS by default */
|
|
#define ITS_TEST 1
|
|
#endif
|
|
|
|
#include "pal_crypto_config.h"
|
|
#include "internal_trusted_storage.h"
|
|
|
|
/* typedef's */
|
|
typedef uint8_t bool_t;
|
|
typedef uint32_t addr_t;
|
|
typedef uint32_t test_id_t;
|
|
typedef uint32_t block_id_t;
|
|
typedef char char8_t;
|
|
typedef uint32_t cfg_id_t;
|
|
|
|
#define PAL_STATUS_UNSUPPORTED_FUNC 0xFF
|
|
|
|
typedef enum
|
|
{
|
|
PAL_STATUS_SUCCESS = 0x0,
|
|
PAL_STATUS_ERROR = 0x80
|
|
} pal_status_t;
|
|
|
|
typedef enum {
|
|
NVMEM_READ = 0x1,
|
|
NVMEM_WRITE = 0x2,
|
|
} nvmem_fn_type_t;
|
|
|
|
typedef struct {
|
|
nvmem_fn_type_t nvmem_fn_type;
|
|
addr_t base;
|
|
uint32_t offset;
|
|
int size;
|
|
} nvmem_param_t;
|
|
|
|
typedef enum {
|
|
WD_INIT_SEQ = 0x1,
|
|
WD_ENABLE_SEQ = 0x2,
|
|
WD_DISABLE_SEQ = 0x3,
|
|
WD_STATUS_SEQ = 0x4,
|
|
} wd_fn_type_t;
|
|
|
|
typedef enum {
|
|
WD_LOW_TIMEOUT = 0x1,
|
|
WD_MEDIUM_TIMEOUT = 0x2,
|
|
WD_HIGH_TIMEOUT = 0x3,
|
|
WD_CRYPTO_TIMEOUT = 0x4,
|
|
} wd_timeout_type_t;
|
|
|
|
typedef struct {
|
|
wd_fn_type_t wd_fn_type;
|
|
addr_t wd_base_addr;
|
|
uint32_t wd_time_us;
|
|
uint32_t wd_timer_tick_us;
|
|
} wd_param_t;
|
|
|
|
typedef enum {
|
|
UART_INIT = 0x1,
|
|
UART_PRINT = 0x2,
|
|
} uart_fn_type_t;
|
|
|
|
/*
|
|
* Redefining some of the client.h elements for compilation to go through
|
|
* when PSA IPC APIs are not implemented.
|
|
*/
|
|
#if (PSA_IPC_IMPLEMENTED == 0)
|
|
|
|
#ifndef PSA_VERSION_NONE
|
|
#define PSA_VERSION_NONE (0)
|
|
#endif
|
|
|
|
#ifndef PSA_SUCCESS
|
|
#define PSA_SUCCESS (0)
|
|
typedef int32_t psa_status_t;
|
|
#endif
|
|
typedef int32_t psa_handle_t;
|
|
|
|
#ifndef PSA_NULL_HANDLE
|
|
#define PSA_NULL_HANDLE ((psa_handle_t)0)
|
|
#endif
|
|
|
|
|
|
#endif /* PSA_IPC_IMPLEMENTED */
|
|
|
|
#endif /* _PAL_COMMON_H_ */
|