14#ifndef MCUXCLCORE_PLATFORM_H_
15#define MCUXCLCORE_PLATFORM_H_
21#include <mcuxCsslAnalysis.h>
23#include <mcuxClConfig.h>
27#define MCUXCL_MSDK_REG_SECURE_ADDR(x) \
28 MCUX_CSSL_ANALYSIS_START_SUPPRESS_TYPECAST_BETWEEN_INTEGER_AND_POINTER("Convert pointer to address for bitwise operations needed in bit masking.") \
29 ((uint32_t)(x) | (0x1UL << 28)) \
30 MCUX_CSSL_ANALYSIS_STOP_SUPPRESS_TYPECAST_BETWEEN_INTEGER_AND_POINTER()
33#define MCUXCL_MSDK_REG_NONSECURE_ADDR(x) \
34 MCUX_CSSL_ANALYSIS_START_SUPPRESS_TYPECAST_BETWEEN_INTEGER_AND_POINTER("Convert pointer to address for bitwise operations needed in bit masking.") \
35 ((uint32_t)(x) & ~(0x1UL << 28)) \
36 MCUX_CSSL_ANALYSIS_STOP_SUPPRESS_TYPECAST_BETWEEN_INTEGER_AND_POINTER()
39#define MCUXCL_HW_DMA_WORKAROUND(addr) \
40 MCUX_CSSL_ANALYSIS_START_SUPPRESS_TYPECAST_BETWEEN_INTEGER_AND_POINTER("Convert pointer to address for bitwise operations needed in mapping calculations.") \
41 (((uint32_t)(MCUXCL_MSDK_REG_NONSECURE_ADDR(addr)) < 0x00780000u) ? ((uint32_t)(addr) | 0x20000000u) : (uint32_t)(addr)) \
42 MCUX_CSSL_ANALYSIS_STOP_SUPPRESS_TYPECAST_BETWEEN_INTEGER_AND_POINTER()