| /* SPDX-License-Identifier: BSD-2-Clause */ |
| /* |
| * Copyright 2019 NXP |
| * |
| * Brief Specific Macro used to read/write value with a specific |
| * format (BE/LE, 32/64 bits) to be updated for future platform |
| * support. |
| */ |
| |
| #ifndef __CAAM_IO_H__ |
| #define __CAAM_IO_H__ |
| |
| #include <io.h> |
| |
| #ifdef CFG_CAAM_BIG_ENDIAN |
| /* Big Endian 32 bits Registers access */ |
| #define io_caam_read32(a) TEE_U32_FROM_BIG_ENDIAN(io_read32(a)) |
| #define io_caam_write32(a, val) io_write32(a, TEE_U32_TO_BIG_ENDIAN(val)) |
| |
| /* Big Endian 32 bits Value access */ |
| #define caam_read_val32(a) get_be32(a) |
| #define caam_write_val32(a, v) put_be32(a, v) |
| #else |
| /* Little Endian 32 bits Registers access */ |
| #define io_caam_read32(a) io_read32(a) |
| #define io_caam_write32(a, val) io_write32(a, val) |
| |
| /* Little Endian 32 bits Value access */ |
| #define caam_read_val32(a) get_le32(a) |
| #define caam_write_val32(a, v) put_le32(a, v) |
| #endif |
| |
| #endif /* __CAAM_IO_H__ */ |