xref: /rk3399_ARM-atf/plat/imx/common/include/sci/sci_scfw.h (revision 93c78ed231a6ea30f1c30ecbbb0f245fa9d75075)
1ff2743e5SAnson Huang /*
2ff2743e5SAnson Huang  * Copyright (c) 2015-2018, ARM Limited and Contributors. All rights reserved.
3ff2743e5SAnson Huang  *
4ff2743e5SAnson Huang  * SPDX-License-Identifier: BSD-3-Clause
5ff2743e5SAnson Huang  */
6ff2743e5SAnson Huang 
7ff2743e5SAnson Huang #ifndef _SC_SCFW_H
8ff2743e5SAnson Huang #define _SC_SCFW_H
9ff2743e5SAnson Huang 
10ff2743e5SAnson Huang /* Includes */
11ff2743e5SAnson Huang 
12*93c78ed2SAntonio Nino Diaz #include <stdint.h>
13ff2743e5SAnson Huang 
14ff2743e5SAnson Huang #ifdef __cplusplus
15ff2743e5SAnson Huang   #define   __I     volatile             /*!< Defines 'read only' permissions                 */
16ff2743e5SAnson Huang #else
17ff2743e5SAnson Huang   #define   __I     volatile const       /*!< Defines 'read only' permissions                 */
18ff2743e5SAnson Huang #endif
19ff2743e5SAnson Huang #define     __O     volatile             /*!< Defines 'write only' permissions                */
20ff2743e5SAnson Huang #define     __IO    volatile             /*!< Defines 'read / write' permissions              */
21ff2743e5SAnson Huang 
22ff2743e5SAnson Huang /*!
23ff2743e5SAnson Huang  * This type is used to declare a handle for an IPC communication
24ff2743e5SAnson Huang  * channel. Its meaning is specific to the IPC implementation.
25ff2743e5SAnson Huang  */
26ff2743e5SAnson Huang typedef uint64_t sc_ipc_t;
27ff2743e5SAnson Huang 
28ff2743e5SAnson Huang /*!
29ff2743e5SAnson Huang  * This type is used to declare an ID for an IPC communication
30ff2743e5SAnson Huang  * channel. For the reference IPC implementation, this ID
31ff2743e5SAnson Huang  * selects the base address of the MU used for IPC.
32ff2743e5SAnson Huang  */
33ff2743e5SAnson Huang typedef uint64_t sc_ipc_id_t;
34ff2743e5SAnson Huang 
35ff2743e5SAnson Huang 
36ff2743e5SAnson Huang #endif /* _SC_SCFW_H */
37ff2743e5SAnson Huang 
38