mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-08-15 17:07:04 +02:00
All identifiers, regardless of use, that start with two underscores are reserved. This means they can't be used in header guards. The style that this project is now to use the full name of the file in capital letters followed by 'H'. For example, for a file called "uart_example.h", the header guard is UART_EXAMPLE_H. The exceptions are files that are imported from other projects: - CryptoCell driver - dt-bindings folders - zlib headers Change-Id: I50561bf6c88b491ec440d0c8385c74650f3c106e Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
54 lines
1.5 KiB
C
54 lines
1.5 KiB
C
/*
|
|
* Copyright (c) 2015, ARM Limited and Contributors. All rights reserved.
|
|
*
|
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
*/
|
|
#ifndef MTK_SIP_SVC_H
|
|
#define MTK_SIP_SVC_H
|
|
|
|
#include <stdint.h>
|
|
|
|
/* SMC function IDs for SiP Service queries */
|
|
#define SIP_SVC_CALL_COUNT 0x8200ff00
|
|
#define SIP_SVC_UID 0x8200ff01
|
|
/* 0x8200ff02 is reserved */
|
|
#define SIP_SVC_VERSION 0x8200ff03
|
|
|
|
/* Mediatek SiP Service Calls version numbers */
|
|
#define MTK_SIP_SVC_VERSION_MAJOR 0x0
|
|
#define MTK_SIP_SVC_VERSION_MINOR 0x1
|
|
|
|
#define SMC_AARCH64_BIT 0x40000000
|
|
|
|
/* Number of Mediatek SiP Calls implemented */
|
|
#define MTK_COMMON_SIP_NUM_CALLS 4
|
|
|
|
/* Mediatek SiP Service Calls function IDs */
|
|
#define MTK_SIP_SET_AUTHORIZED_SECURE_REG 0x82000001
|
|
|
|
/* For MTK SMC from Secure OS */
|
|
/* 0x82000000 - 0x820000FF & 0xC2000000 - 0xC20000FF */
|
|
#define MTK_SIP_KERNEL_BOOT_AARCH32 0x82000200
|
|
#define MTK_SIP_KERNEL_BOOT_AARCH64 0xC2000200
|
|
|
|
/* Mediatek SiP Calls error code */
|
|
enum {
|
|
MTK_SIP_E_SUCCESS = 0,
|
|
MTK_SIP_E_INVALID_PARAM = -1,
|
|
MTK_SIP_E_NOT_SUPPORTED = -2,
|
|
MTK_SIP_E_INVALID_RANGE = -3,
|
|
MTK_SIP_E_PERMISSION_DENY = -4,
|
|
MTK_SIP_E_LOCK_FAIL = -5
|
|
};
|
|
|
|
/*
|
|
* This function should be implemented in Mediatek SOC directory. It fullfills
|
|
* MTK_SIP_SET_AUTHORIZED_SECURE_REG SiP call by checking the sreg with the
|
|
* predefined secure register list, if a match was found, set val to sreg.
|
|
*
|
|
* Return MTK_SIP_E_SUCCESS on success, and MTK_SIP_E_INVALID_PARAM on failure.
|
|
*/
|
|
uint64_t mt_sip_set_authorized_sreg(uint32_t sreg, uint32_t val);
|
|
|
|
#endif /* MTK_SIP_SVC_H */
|