ADuCM4x50 Device Drivers API Reference Manual  Release 4.0.0.0
adi_flash_config.h
1 
15 #ifndef ADI_FLASH_CONFIG_H
16 #define ADI_FLASH_CONFIG_H
17 #include <adi_global_config.h>
18 
25 /****SETTINGS THAT LIVE IN FEE INTERRUPT ENABLE (IEN) REGISTER****/
26 
27 
34 #define ADI_FEE_CFG_ECC_ERROR_RESPONSE (1u)
35 
42 #if defined(__ADUCM4x50__)
43 #define ADI_FEE_CFG_ECC_CORRECTION_RESPONSE (0u)
44 #endif
45 
46 
47 /****SETTINGS THAT LIVE IN FEE TIME PARAMETER 0 (TIME_PARAM0) REGISTER****/
48 
49 
50 /* It is recommended to NOT MODIFY flash timing parameters without keen insight and caution */
57 #define ADI_FEE_CFG_PARAM0_TNVH1 (0xbu)
58 
65 #define ADI_FEE_CFG_PARAM0_TERASE (0x9u)
66 
73 #define ADI_FEE_CFG_PARAM0_TRCV (0x9u)
74 
81 #define ADI_FEE_CFG_PARAM0_TNVH (0x5u)
82 
89 #if defined(__ADUCM302x__)
90 #define ADI_FEE_CFG_PARAM0_TPROG (0x5u)
91 #elif defined(__ADUCM4x50__)
92 #define ADI_FEE_CFG_PARAM0_TPROG (0x0u)
93 #else
94 #error Flash Driver is not ported for this processor
95 #endif
96 
102 #define ADI_FEE_CFG_PARAM0_TPGS (0x9u)
103 
110 #define ADI_FEE_CFG_PARAM0_TNVS (0x5u)
111 
119 #define ADI_FEE_CFG_PARAM0_CLKDIV (0x0u)
120 
121 
122 
123 /****SETTINGS THAT LIVE IN FEE TIME PARAMETER 1 (TIME_PARAM1) REGISTER****/
124 
125 
126 /* It is recommended to NOT MODIFY flash timing parameters without keen insight and caution */
133 #if defined (__ADUCM4x50__)
134 #define ADI_FEE_CFG_PARAM1_WAITESTATES (0x0u)
135 #endif
136 
142 #define ADI_FEE_CFG_PARAM1_TWK (0x4u)
143 
144 
145 
146 /****SETTINGS THAT LIVE IN FEE SYSTEM ABOUT ENABLE (ABOUT_EN_XX) REGISTERS****/
147 
148 
158 #define ADI_FEE_CFG_ABORT_EN_LO (0x0u)
159 
169 #define ADI_FEE_CFG_ABORT_EN_HI (0x0u)
170 
171 
172 
173 /****SETTINGS THAT LIVE IN ECC CONFIG REGISTER (ECC_CFG) REGISTER****/
174 
175 
179 #define ADI_FEE_CFG_ECC_START_PAGE (0u)
180 
186 #define ADI_FEE_CFG_ENABLE_ECC_FOR_INFO_SPACE (1u)
187 
193 #define ADI_FEE_CFG_ENABLE_ECC (1u)
194 
195 
196 
197 /************* Flash Driver Configuration Settings Checkers ***************/
198 
199 
200 
201 /* IEN CHECKS */
202 #if ((ADI_FEE_CFG_ECC_ERROR_RESPONSE < 0u) || (ADI_FEE_CFG_ECC_ERROR_RESPONSE > 2u))
203 #error "ADI_FEE_CFG_ECC_ERROR_RESPONSE should be in the range 0-2."
204 #endif
205 #if ((ADI_FEE_CFG_ECC_CORRECTION_RESPONSE < 0u) || (ADI_FEE_CFG_ECC_CORRECTION_RESPONSE > 2u))
206 #error "ADI_FEE_CFG_ECC_CORRECTION_RESPONSE should be in the range 0-2."
207 #endif
208 
209 
210 
211 /* PARAM0 CHECKS */
212 #if ((ADI_FEE_CFG_PARAM0_TNVH1 < 0u) || (ADI_FEE_CFG_PARAM0_TNVH1 > 15u))
213 #error "ADI_FEE_CFG_PARAM0_TNVH1 should be in the range 0-15."
214 #endif
215 #if ((ADI_FEE_CFG_PARAM0_TERASE < 0u) || (ADI_FEE_CFG_PARAM0_TERASE > 15u))
216 #error "ADI_FEE_CFG_PARAM0_TERASE should be in the range 0-15."
217 #endif
218 #if ((ADI_FEE_CFG_PARAM0_TRCV < 0u) || (ADI_FEE_CFG_PARAM0_TRCV > 15u))
219 #error "ADI_FEE_CFG_PARAM0_TRCV should be in the range 0-15."
220 #endif
221 #if ((ADI_FEE_CFG_PARAM0_TNVH1 < 0u) || (ADI_FEE_CFG_PARAM0_TNVH1 > 15u))
222 #error "ADI_FEE_CFG_PARAM0_TNVH1 should be in the range 0-15."
223 #endif
224 #if ((ADI_FEE_CFG_PARAM0_TPROG < 0u) || (ADI_FEE_CFG_PARAM0_TPROG > 15u))
225 #error "ADI_FEE_CFG_PARAM0_TPROG should be in the range 0-15."
226 #endif
227 #if ((ADI_FEE_CFG_PARAM0_TPGS < 0u) || (ADI_FEE_CFG_PARAM0_TPGS > 15u))
228 #error "ADI_FEE_CFG_PARAM0_TPGS should be in the range 0-15."
229 #endif
230 #if ((ADI_FEE_CFG_PARAM0_TNVS < 0u) || (ADI_FEE_CFG_PARAM0_TNVS > 15u))
231 #error "ADI_FEE_CFG_PARAM0_TNVS should be in the range 0-15."
232 #endif
233 #if ((ADI_FEE_CFG_PARAM0_CLKDIV < 0u) || (ADI_FEE_CFG_PARAM0_CLKDIV > 1u))
234 #error "ADI_FEE_CFG_PARAM0_CLKDIV should be in the range 0-1."
235 #endif
236 
237 
238 
239 /* PARAM1 CHECKS */
240 #if ((ADI_FEE_CFG_PARAM1_WAITESTATES < 0u) || (ADI_FEE_CFG_PARAM1_WAITESTATES > 4u))
241 #error "ADI_FEE_CFG_PARAM1_WAITESTATES should be in the range 0-4."
242 #endif
243 #if ((ADI_FEE_CFG_PARAM1_TWK < 0u) || (ADI_FEE_CFG_PARAM1_TWK > 15u))
244 #error "ADI_FEE_CFG_PARAM1_TWK should be in the range 0-15."
245 #endif
246 
247 
248 
249 /* ABORT_EN_XX CHECKS */
250 #if ((ADI_FEE_CFG_ABORT_EN_LO < 0u) || (ADI_FEE_CFG_ABORT_EN_LO > 0XFFFFu))
251 #error "ADI_FEE_CFG_ABORT_EN_LO should be in 32-bit range."
252 #endif
253 #if ((ADI_FEE_CFG_ABORT_EN_HI < 0u) || (ADI_FEE_CFG_ABORT_EN_HI > 0XFFFFu))
254 #error "ADI_FEE_CFG_ABORT_EN_HI should be in 32-bit range."
255 #endif
256 
257 
258 
259 /* ECC_CFG CHECKS */
260 #if (((ADI_FEE_CFG_ECC_START_PAGE >> 8u) << 8) != ADI_FEE_CFG_ECC_START_PAGE)
261 #error "ADI_FEE_CFG_ECC_START_PAGE has invalid bits set in lower 8-bits."
262 #endif
263 #if ((ADI_FEE_CFG_ENABLE_ECC_FOR_INFO_SPACE != 0u) && (ADI_FEE_CFG_ENABLE_ECC_FOR_INFO_SPACE != 1u))
264 #error "ADI_FEE_CFG_ENABLE_ECC_FOR_INFO_SPACE should be 1 or 0."
265 #endif
266 #if ((ADI_FEE_CFG_ENABLE_ECC != 0u) && (ADI_FEE_CFG_ENABLE_ECC != 1u))
267 #error "ADI_FEE_CFG_ENABLE_ECC should be 1 or 0."
268 #endif
269 
272 #endif /* ADI_FLASH_CONFIG_H */