blob: ffee45f1c989089315614fee5e4de66e5808f376 [file] [log] [blame]
/* 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__ */