xref: /rk3399_ARM-atf/plat/imx/common/include/sci/sci_scfw.h (revision 9d068f66b15e644df4961b74b965323c20f21f14)
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 
7*c3cf06f1SAntonio Nino Diaz #ifndef SCI_SCFW_H
8*c3cf06f1SAntonio Nino Diaz #define SCI_SCFW_H
9ff2743e5SAnson Huang 
10ff2743e5SAnson Huang /* Includes */
11ff2743e5SAnson Huang 
1293c78ed2SAntonio 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 
36*c3cf06f1SAntonio Nino Diaz #endif /* SCI_SCFW_H */
37