14#ifndef MCUXCLOSCCASAFO_SFR_CTRL_H_
15#define MCUXCLOSCCASAFO_SFR_CTRL_H_
18#include <platform_specific_headers.h>
26#define MCUXCLOSCCASAFO_SFR_CTRL_DATOUT_RES_END_UP (0u)
27#define MCUXCLOSCCASAFO_SFR_CTRL_DATOUT_RES_START_UP (1u)
28#define MCUXCLOSCCASAFO_SFR_CTRL_DATOUT_RES_TRIGGER_UP (2u)
29#define MCUXCLOSCCASAFO_SFR_CTRL_DATOUT_RES_NO_UP (3u)
32#define MCUXCLOSCCASAFO_SFR_CTRL_END_UP ((uint32_t)MCUXCLOSCCASAFO_SFR_CTRL_DATOUT_RES_END_UP << MCUXCLOSCCASAFO_SFR_FIELD_SHIFT(CTRL,DATOUT_RES))
33#define MCUXCLOSCCASAFO_SFR_CTRL_START_UP ((uint32_t)MCUXCLOSCCASAFO_SFR_CTRL_DATOUT_RES_START_UP << MCUXCLOSCCASAFO_SFR_FIELD_SHIFT(CTRL,DATOUT_RES))
34#define MCUXCLOSCCASAFO_SFR_CTRL_TRIGGER_UP ((uint32_t)MCUXCLOSCCASAFO_SFR_CTRL_DATOUT_RES_TRIGGER_UP << MCUXCLOSCCASAFO_SFR_FIELD_SHIFT(CTRL,DATOUT_RES))
35#define MCUXCLOSCCASAFO_SFR_CTRL_NO_UP ((uint32_t)MCUXCLOSCCASAFO_SFR_CTRL_DATOUT_RES_NO_UP << MCUXCLOSCCASAFO_SFR_FIELD_SHIFT(CTRL,DATOUT_RES))
38#define MCUXCLOSCCASAFO_SFR_CTRL_CRYPTO_OP_GFMUL (3u)
39#define MCUXCLOSCCASAFO_SFR_CTRL_CRYPTO_OP_CMAC (5u)
40#define MCUXCLOSCCASAFO_SFR_CTRL_CRYPTO_OP_SM4 (6u)
41#define MCUXCLOSCCASAFO_SFR_CTRL_CRYPTO_OP_SM3 (7u)
44#define MCUXCLOSCCASAFO_SFR_CTRL_INVALID ( 0xFFFFFFFFu )
45#define MCUXCLOSCCASAFO_SFR_CTRL_GFMUL ( (uint32_t)MCUXCLOSCCASAFO_SFR_CTRL_CRYPTO_OP_GFMUL << MCUXCLOSCCASAFO_SFR_FIELD_SHIFT(CTRL,CRYPTO_OP))
46#define MCUXCLOSCCASAFO_SFR_CTRL_CMAC ( (uint32_t)MCUXCLOSCCASAFO_SFR_CTRL_CRYPTO_OP_CMAC << MCUXCLOSCCASAFO_SFR_FIELD_SHIFT(CTRL,CRYPTO_OP))
47#ifdef MCUXCL_FEATURE_HW_SAFO_SM3
48#define MCUXCLOSCCASAFO_SFR_CTRL_SM3 ( (uint32_t)MCUXCLOSCCASAFO_SFR_CTRL_CRYPTO_OP_SM3 << MCUXCLOSCCASAFO_SFR_FIELD_SHIFT(CTRL,CRYPTO_OP))
50#ifdef MCUXCL_FEATURE_HW_SAFO_SM4
51#define MCUXCLOSCCASAFO_SFR_CTRL_SM4 ( (uint32_t)MCUXCLOSCCASAFO_SFR_CTRL_CRYPTO_OP_SM4 << MCUXCLOSCCASAFO_SFR_FIELD_SHIFT(CTRL,CRYPTO_OP))
55#define MCUXCLOSCCASAFO_SFR_DATIN0_INDEX ( 0u)
56#define MCUXCLOSCCASAFO_SFR_DATIN1_INDEX ( 4u)
57#define MCUXCLOSCCASAFO_SFR_DATIN2_INDEX ( 8u)
58#define MCUXCLOSCCASAFO_SFR_DATIN3_INDEX ( 12u)
61#define MCUXCLOSCCASAFO_SFR_DATOUT_INDEX ( 48u)
64#define MCUXCLOSCCASAFO_SFR_KEY0_INDEX ( 0u)
65#define MCUXCLOSCCASAFO_SFR_KEY1_INDEX ( 4u)
66#define MCUXCLOSCCASAFO_SFR_KEY2_INDEX ( 8u)
67#define MCUXCLOSCCASAFO_SFR_KEY3_INDEX ( 12u)
71#define MCUXCLOSCCASAFO_SFR_CTRL_INKEYSEL(keyIndex) ((((uint32_t)keyIndex) << MCUXCLOSCCASAFO_SFR_FIELD_SHIFT(CTRL,INKEYSEL)) & MCUXCLOSCCASAFO_SFR_FIELD_MASK(CTRL,INKEYSEL))
72#define MCUXCLOSCCASAFO_SFR_CTRL_INKEYSEL_KEY0 (MCUXCLOSCCASAFO_SFR_CTRL_INKEYSEL(MCUXCLOSCCASAFO_SFR_KEY0_INDEX))
73#define MCUXCLOSCCASAFO_SFR_CTRL_INKEYSEL_KEY1 (MCUXCLOSCCASAFO_SFR_CTRL_INKEYSEL(MCUXCLOSCCASAFO_SFR_KEY1_INDEX))
74#define MCUXCLOSCCASAFO_SFR_CTRL_INKEYSEL_KEY2 (MCUXCLOSCCASAFO_SFR_CTRL_INKEYSEL(MCUXCLOSCCASAFO_SFR_KEY2_INDEX))
75#define MCUXCLOSCCASAFO_SFR_CTRL_INKEYSEL_KEY3 (MCUXCLOSCCASAFO_SFR_CTRL_INKEYSEL(MCUXCLOSCCASAFO_SFR_KEY3_INDEX))
78#define MCUXCLOSCCASAFO_SFR_CTRL_INSEL_DATIN0 ((uint32_t)0u << MCUXCLOSCCASAFO_SFR_FIELD_SHIFT(CTRL,INSEL))
79#define MCUXCLOSCCASAFO_SFR_CTRL_INSEL_DATIN1 ((uint32_t)1u << MCUXCLOSCCASAFO_SFR_FIELD_SHIFT(CTRL,INSEL))
80#define MCUXCLOSCCASAFO_SFR_CTRL_INSEL_DATIN2 ((uint32_t)2u << MCUXCLOSCCASAFO_SFR_FIELD_SHIFT(CTRL,INSEL))
81#define MCUXCLOSCCASAFO_SFR_CTRL_INSEL_DATIN3 ((uint32_t)3u << MCUXCLOSCCASAFO_SFR_FIELD_SHIFT(CTRL,INSEL))
82#define MCUXCLOSCCASAFO_SFR_CTRL_INSEL_DATIN0_XOR_DATOUT ((uint32_t)4u << MCUXCLOSCCASAFO_SFR_FIELD_SHIFT(CTRL,INSEL))
83#define MCUXCLOSCCASAFO_SFR_CTRL_INSEL_DATIN1_XOR_DATOUT ((uint32_t)5u << MCUXCLOSCCASAFO_SFR_FIELD_SHIFT(CTRL,INSEL))
84#define MCUXCLOSCCASAFO_SFR_CTRL_INSEL_DATIN2_XOR_DATOUT ((uint32_t)6u << MCUXCLOSCCASAFO_SFR_FIELD_SHIFT(CTRL,INSEL))
85#define MCUXCLOSCCASAFO_SFR_CTRL_INSEL_DATIN3_XOR_DATOUT ((uint32_t)7u << MCUXCLOSCCASAFO_SFR_FIELD_SHIFT(CTRL,INSEL))
86#define MCUXCLOSCCASAFO_SFR_CTRL_INSEL_DATOUT ((uint32_t)8u << MCUXCLOSCCASAFO_SFR_FIELD_SHIFT(CTRL,INSEL))
87#define MCUXCLOSCCASAFO_SFR_CTRL_INSEL_INDEX(index) (((uint32_t)index) << MCUXCLOSCCASAFO_SFR_FIELD_SHIFT(CTRL,INSEL))
90#define MCUXCLOSCCASAFO_SFR_CTRL_OUTSEL_RES ((uint32_t)0u << MCUXCLOSCCASAFO_SFR_FIELD_SHIFT(CTRL,OUTSEL))
91#define MCUXCLOSCCASAFO_SFR_CTRL_OUTSEL_RES_XOR_DATIN0 ((uint32_t)1u << MCUXCLOSCCASAFO_SFR_FIELD_SHIFT(CTRL,OUTSEL))
92#define MCUXCLOSCCASAFO_SFR_CTRL_OUTSEL_RES_XOR_DATIN1 ((uint32_t)2u << MCUXCLOSCCASAFO_SFR_FIELD_SHIFT(CTRL,OUTSEL))
93#define MCUXCLOSCCASAFO_SFR_CTRL_OUTSEL_RES_XOR_DATIN2 ((uint32_t)3u << MCUXCLOSCCASAFO_SFR_FIELD_SHIFT(CTRL,OUTSEL))
94#define MCUXCLOSCCASAFO_SFR_CTRL_OUTSEL_RES_XOR_DATIN3 ((uint32_t)4u << MCUXCLOSCCASAFO_SFR_FIELD_SHIFT(CTRL,OUTSEL))
95#define MCUXCLOSCCASAFO_SFR_CTRL_OUTSEL_RES_INDEX(index) (((uint32_t)index) << MCUXCLOSCCASAFO_SFR_FIELD_SHIFT(CTRL,OUTSEL))
98#define MCUXCLOSCCASAFO_SFR_CTRL_ENC ((uint32_t)0u << MCUXCLOSCCASAFO_SFR_FIELD_SHIFT(CTRL,DECRYPT))
99#define MCUXCLOSCCASAFO_SFR_CTRL_DEC ((uint32_t)1u << MCUXCLOSCCASAFO_SFR_FIELD_SHIFT(CTRL,DECRYPT))
100#define MCUXCLOSCCASAFO_SFR_CTRL_ENC_DEC_MASK ((uint32_t)1u << MCUXCLOSCCASAFO_SFR_FIELD_SHIFT(CTRL,DECRYPT))
103#define MCUXCLOSCCASAFO_SFR_CTRL_START ((uint32_t)1u << MCUXCLOSCCASAFO_SFR_FIELD_SHIFT(CTRL,START))
105#define MCUXCLOSCCASAFO_SFR_CTRL_OUTSEL_MASK (MCUXCLOSCCASAFO_SFR_FIELD_MASK(CTRL,OUTSEL))
107#ifdef MCUXCL_FEATURE_HW_SAFO_SM4
108#define MCUXCLOSCCASAFO_SFR_CTRL_SM4_EN ((uint32_t)1u << MCUXCLOSCCASAFO_SFR_FIELD_SHIFT(CTRL,SM4_EN))
112#define MCUXCLOSCCASAFO_SFR_CTRL2_XORWR ((uint32_t)1u << MCUXCLOSCCASAFO_SFR_FIELD_SHIFT(CTRL2,XORWR))
114#define MCUXCLOSCCASAFO_SFR_CTRL2_FLUSHWR ((uint32_t)1u << MCUXCLOSCCASAFO_SFR_FIELD_SHIFT(CTRL2,FLUSHWR))
115#define MCUXCLOSCCASAFO_SFR_CTRL2_FLUSH ((uint32_t)1u << MCUXCLOSCCASAFO_SFR_FIELD_SHIFT(CTRL2,FLUSH))
116#define MCUXCLOSCCASAFO_SFR_CTRL2_FLUSHKEY ((uint32_t)1u << MCUXCLOSCCASAFO_SFR_FIELD_SHIFT(CTRL2,KEY_FLUSH))
117#define MCUXCLOSCCASAFO_SFR_CTRL2_FLUSHDATA ((uint32_t)1u << MCUXCLOSCCASAFO_SFR_FIELD_SHIFT(CTRL2,DATAIN_FLUSH))
119#define MCUXCLOSCCASAFO_SFR_CTRL2_INCR ((uint32_t)1u << MCUXCLOSCCASAFO_SFR_FIELD_SHIFT(CTRL2,INCR))
120#define MCUXCLOSCCASAFO_SFR_CTRL2_INCR_CIN ((uint32_t)1u << MCUXCLOSCCASAFO_SFR_FIELD_SHIFT(CTRL2,INCR_CIN))
121#define MCUXCLOSCCASAFO_SFR_CTRL2_BYTES_ORDER ((uint32_t)1u << MCUXCLOSCCASAFO_SFR_FIELD_SHIFT(CTRL2,BYTES_ORDER))
123#define MCUXCLOSCCASAFO_SFR_CTRL2_BYTES_ORDER_MASK (MCUXCLOSCCASAFO_SFR_FIELD_MASK(CTRL2,BYTES_ORDER))
124#define MCUXCLOSCCASAFO_SFR_CTRL2_KEYRES_MASK (MCUXCLOSCCASAFO_SFR_FIELD_MASK(CTRL2,KEYRES))
126#define MCUXCLOSCCASAFO_SFR_CTRL2_RKEY ((uint32_t)1u << MCUXCLOSCCASAFO_SFR_FIELD_SHIFT(CTRL2,RKEY))
127#define MCUXCLOSCCASAFO_SFR_CTRL2_KEYRES(index) ((((uint32_t)index) << MCUXCLOSCCASAFO_SFR_FIELD_SHIFT(CTRL2,KEYRES)) & MCUXCLOSCCASAFO_SFR_FIELD_MASK(CTRL2,KEYRES))
130#define MCUXCLOSCCASAFO_SFR_BYTES_TO_32BIT_WORD_SHIFT (2u)
131#ifdef MCUXCL_FEATURE_HW_SAFO_SM3
133#define MCUXCLOSCCASAFO_SFR_CTRL_SM3_EN ((uint32_t)1u << MCUXCLOSCCASAFO_SFR_FIELD_SHIFT(SM3_CTRL,SM3_EN))
134#define MCUXCLOSCCASAFO_SFR_CTRL_SM3_MODE_NORM ((uint32_t)0u << MCUXCLOSCCASAFO_SFR_FIELD_SHIFT(SM3_CTRL,SM3_MODE))
135#define MCUXCLOSCCASAFO_SFR_CTRL_SM3_MODE_AUTO ((uint32_t)1u << MCUXCLOSCCASAFO_SFR_FIELD_SHIFT(SM3_CTRL,SM3_MODE))
136#define MCUXCLOSCCASAFO_SFR_CTRL_SM3_LOW_LIM ((uint32_t)0u << MCUXCLOSCCASAFO_SFR_FIELD_SHIFT(SM3_CTRL,SM3_LOW_LIM))
137#define MCUXCLOSCCASAFO_SFR_CTRL_SM3_HIGH_LIM ((uint32_t)15u << MCUXCLOSCCASAFO_SFR_FIELD_SHIFT(SM3_CTRL,SM3_HIGH_LIM))
138#define MCUXCLOSCCASAFO_SFR_CTRL_SM3_COUNT_EN ((uint32_t)1u << MCUXCLOSCCASAFO_SFR_FIELD_SHIFT(SM3_CTRL,SM3_COUNT_EN))
139#define MCUXCLOSCCASAFO_SFR_CTRL_SM3_HASH_RELOAD ((uint32_t)1u << MCUXCLOSCCASAFO_SFR_FIELD_SHIFT(SM3_CTRL,HASH_RELOAD))
140#define MCUXCLOSCCASAFO_SFR_CTRL_SM3_SM3_STOP ((uint32_t)1u << MCUXCLOSCCASAFO_SFR_FIELD_SHIFT(SM3_CTRL,SM3_STOP))
141#define MCUXCLOSCCASAFO_SFR_CTRL_SM3_NO_AUTO_INIT ((uint32_t)1u << MCUXCLOSCCASAFO_SFR_FIELD_SHIFT(SM3_CTRL,NO_AUTO_INIT))
147static inline uint32_t mcuxClOsccaSafo_Sfr_readCtrl(
void)
156static inline void mcuxClOsccaSafo_Sfr_writeCtrl(uint32_t value)
165static inline uint32_t mcuxClOsccaSafo_Sfr_readCtrl2(
void)
174static inline void mcuxClOsccaSafo_Sfr_writeCtrl2(uint32_t value)
179#ifdef MCUXCL_FEATURE_HW_SAFO_SM3
184static inline uint32_t mcuxClOsccaSafo_Sfr_readSm3Ctrl(
void)
193static inline void mcuxClOsccaSafo_Sfr_writeSm3Ctrl(uint32_t value)
Macros for abstracting SAFO hardware SFR access.
#define MCUXCLOSCCASAFO_SFR_READ(sfr)
Read from SAFO SFR.
Definition mcuxClOsccaSafo_SfrAccess.h:42
#define MCUXCLOSCCASAFO_SFR_WRITE(sfr, value)
Write to SAFO SFR.
Definition mcuxClOsccaSafo_SfrAccess.h:45
Provides the API for the CSSL flow protection mechanism.
#define MCUX_CSSL_FP_FUNCTION_DEF(...)
Definition of a flow protected function.
Definition mcuxCsslFlowProtection.h:159