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