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