ADuCM302x Device Drivers API Reference Manual  Release 3.1.2.0
adi_flash_config.h
1 
50 #ifndef ADI_FLASH_CONFIG_H
51 #define ADI_FLASH_CONFIG_H
52 #include <adi_global_config.h>
53 
60 /****SETTINGS THAT LIVE IN FEE INTERRUPT ENABLE (IEN) REGISTER****/
61 
62 
69 #define ADI_FEE_CFG_ECC_ERROR_RESPONSE (1u)
70 
77 #if defined(__ADUCM4x50__)
78 #define ADI_FEE_CFG_ECC_CORRECTION_RESPONSE (0u)
79 #endif
80 
81 
82 /****SETTINGS THAT LIVE IN FEE TIME PARAMETER 0 (TIME_PARAM0) REGISTER****/
83 
84 
85 /* It is recommended to NOT MODIFY flash timing parameters without keen insight and caution */
92 #define ADI_FEE_CFG_PARAM0_TNVH1 (0xbu)
93 
100 #define ADI_FEE_CFG_PARAM0_TERASE (0x9u)
101 
108 #define ADI_FEE_CFG_PARAM0_TRCV (0x9u)
109 
116 #define ADI_FEE_CFG_PARAM0_TNVH (0x5u)
117 
124 #if defined(__ADUCM302x__)
125 #define ADI_FEE_CFG_PARAM0_TPROG (0x5u)
126 #elif defined(__ADUCM4x50__)
127 #define ADI_FEE_CFG_PARAM0_TPROG (0x0u)
128 #else
129 #error Flash Driver is not ported for this processor
130 #endif
131 
137 #define ADI_FEE_CFG_PARAM0_TPGS (0x9u)
138 
145 #define ADI_FEE_CFG_PARAM0_TNVS (0x5u)
146 
154 #define ADI_FEE_CFG_PARAM0_CLKDIV (0x0u)
155 
156 
157 
158 /****SETTINGS THAT LIVE IN FEE TIME PARAMETER 1 (TIME_PARAM1) REGISTER****/
159 
160 
161 /* It is recommended to NOT MODIFY flash timing parameters without keen insight and caution */
168 #if defined (__ADUCM4x50__)
169 #define ADI_FEE_CFG_PARAM1_WAITESTATES (0x0u)
170 #endif
171 
177 #define ADI_FEE_CFG_PARAM1_TWK (0x4u)
178 
179 
180 
181 /****SETTINGS THAT LIVE IN FEE SYSTEM ABOUT ENABLE (ABOUT_EN_XX) REGISTERS****/
182 
183 
193 #define ADI_FEE_CFG_ABORT_EN_LO (0x0u)
194 
204 #define ADI_FEE_CFG_ABORT_EN_HI (0x0u)
205 
206 
207 
208 /****SETTINGS THAT LIVE IN ECC CONFIG REGISTER (ECC_CFG) REGISTER****/
209 
210 
214 #define ADI_FEE_CFG_ECC_START_PAGE (0u)
215 
221 #define ADI_FEE_CFG_ENABLE_ECC_FOR_INFO_SPACE (1u)
222 
228 #define ADI_FEE_CFG_ENABLE_ECC (1u)
229 
230 
231 
232 /************* Flash Driver Configuration Settings Checkers ***************/
233 
234 
235 
236 /* IEN CHECKS */
237 #if ((ADI_FEE_CFG_ECC_ERROR_RESPONSE < 0u) || (ADI_FEE_CFG_ECC_ERROR_RESPONSE > 2u))
238 #error "ADI_FEE_CFG_ECC_ERROR_RESPONSE should be in the range 0-2."
239 #endif
240 #if ((ADI_FEE_CFG_ECC_CORRECTION_RESPONSE < 0u) || (ADI_FEE_CFG_ECC_CORRECTION_RESPONSE > 2u))
241 #error "ADI_FEE_CFG_ECC_CORRECTION_RESPONSE should be in the range 0-2."
242 #endif
243 
244 
245 
246 /* PARAM0 CHECKS */
247 #if ((ADI_FEE_CFG_PARAM0_TNVH1 < 0u) || (ADI_FEE_CFG_PARAM0_TNVH1 > 15u))
248 #error "ADI_FEE_CFG_PARAM0_TNVH1 should be in the range 0-15."
249 #endif
250 #if ((ADI_FEE_CFG_PARAM0_TERASE < 0u) || (ADI_FEE_CFG_PARAM0_TERASE > 15u))
251 #error "ADI_FEE_CFG_PARAM0_TERASE should be in the range 0-15."
252 #endif
253 #if ((ADI_FEE_CFG_PARAM0_TRCV < 0u) || (ADI_FEE_CFG_PARAM0_TRCV > 15u))
254 #error "ADI_FEE_CFG_PARAM0_TRCV should be in the range 0-15."
255 #endif
256 #if ((ADI_FEE_CFG_PARAM0_TNVH1 < 0u) || (ADI_FEE_CFG_PARAM0_TNVH1 > 15u))
257 #error "ADI_FEE_CFG_PARAM0_TNVH1 should be in the range 0-15."
258 #endif
259 #if ((ADI_FEE_CFG_PARAM0_TPROG < 0u) || (ADI_FEE_CFG_PARAM0_TPROG > 15u))
260 #error "ADI_FEE_CFG_PARAM0_TPROG should be in the range 0-15."
261 #endif
262 #if ((ADI_FEE_CFG_PARAM0_TPGS < 0u) || (ADI_FEE_CFG_PARAM0_TPGS > 15u))
263 #error "ADI_FEE_CFG_PARAM0_TPGS should be in the range 0-15."
264 #endif
265 #if ((ADI_FEE_CFG_PARAM0_TNVS < 0u) || (ADI_FEE_CFG_PARAM0_TNVS > 15u))
266 #error "ADI_FEE_CFG_PARAM0_TNVS should be in the range 0-15."
267 #endif
268 #if ((ADI_FEE_CFG_PARAM0_CLKDIV < 0u) || (ADI_FEE_CFG_PARAM0_CLKDIV > 1u))
269 #error "ADI_FEE_CFG_PARAM0_CLKDIV should be in the range 0-1."
270 #endif
271 
272 
273 
274 /* PARAM1 CHECKS */
275 #if ((ADI_FEE_CFG_PARAM1_WAITESTATES < 0u) || (ADI_FEE_CFG_PARAM1_WAITESTATES > 4u))
276 #error "ADI_FEE_CFG_PARAM1_WAITESTATES should be in the range 0-4."
277 #endif
278 #if ((ADI_FEE_CFG_PARAM1_TWK < 0u) || (ADI_FEE_CFG_PARAM1_TWK > 15u))
279 #error "ADI_FEE_CFG_PARAM1_TWK should be in the range 0-15."
280 #endif
281 
282 
283 
284 /* ABORT_EN_XX CHECKS */
285 #if ((ADI_FEE_CFG_ABORT_EN_LO < 0u) || (ADI_FEE_CFG_ABORT_EN_LO > 0XFFFFu))
286 #error "ADI_FEE_CFG_ABORT_EN_LO should be in 32-bit range."
287 #endif
288 #if ((ADI_FEE_CFG_ABORT_EN_HI < 0u) || (ADI_FEE_CFG_ABORT_EN_HI > 0XFFFFu))
289 #error "ADI_FEE_CFG_ABORT_EN_HI should be in 32-bit range."
290 #endif
291 
292 
293 
294 /* ECC_CFG CHECKS */
295 #if (((ADI_FEE_CFG_ECC_START_PAGE >> 8u) << 8) != ADI_FEE_CFG_ECC_START_PAGE)
296 #error "ADI_FEE_CFG_ECC_START_PAGE has invalid bits set in lower 8-bits."
297 #endif
298 #if ((ADI_FEE_CFG_ENABLE_ECC_FOR_INFO_SPACE != 0u) && (ADI_FEE_CFG_ENABLE_ECC_FOR_INFO_SPACE != 1u))
299 #error "ADI_FEE_CFG_ENABLE_ECC_FOR_INFO_SPACE should be 1 or 0."
300 #endif
301 #if ((ADI_FEE_CFG_ENABLE_ECC != 0u) && (ADI_FEE_CFG_ENABLE_ECC != 1u))
302 #error "ADI_FEE_CFG_ENABLE_ECC should be 1 or 0."
303 #endif
304 
307 #endif /* ADI_FLASH_CONFIG_H */