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