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