1 #ifndef NRF51_ERRATAS_H
2 #define NRF51_ERRATAS_H
3
4 /*
5
6 Copyright (c) 2010 - 2020, Nordic Semiconductor ASA All rights reserved.
7
8 Redistribution and use in source and binary forms, with or without
9 modification, are permitted provided that the following conditions are met:
10
11 1. Redistributions of source code must retain the above copyright notice, this
12 list of conditions and the following disclaimer.
13
14 2. Redistributions in binary form must reproduce the above copyright
15 notice, this list of conditions and the following disclaimer in the
16 documentation and/or other materials provided with the distribution.
17
18 3. Neither the name of Nordic Semiconductor ASA nor the names of its
19 contributors may be used to endorse or promote products derived from this
20 software without specific prior written permission.
21
22 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
23 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24 IMPLIED WARRANTIES OF MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE
25 ARE DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE
26 LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
27 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
28 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
29 INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
30 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
31 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
32 POSSIBILITY OF SUCH DAMAGE.
33
34 */
35
36 #include <stdint.h>
37 #include <stdbool.h>
38 #include "compiler_abstraction.h"
39
40 static bool nrf51_errata_1(void) __UNUSED;
41 static bool nrf51_errata_2(void) __UNUSED;
42 static bool nrf51_errata_3(void) __UNUSED;
43 static bool nrf51_errata_4(void) __UNUSED;
44 static bool nrf51_errata_5(void) __UNUSED;
45 static bool nrf51_errata_6(void) __UNUSED;
46 static bool nrf51_errata_7(void) __UNUSED;
47 static bool nrf51_errata_8(void) __UNUSED;
48 static bool nrf51_errata_9(void) __UNUSED;
49 static bool nrf51_errata_10(void) __UNUSED;
50 static bool nrf51_errata_11(void) __UNUSED;
51 static bool nrf51_errata_12(void) __UNUSED;
52 static bool nrf51_errata_13(void) __UNUSED;
53 static bool nrf51_errata_14(void) __UNUSED;
54 static bool nrf51_errata_15(void) __UNUSED;
55 static bool nrf51_errata_16(void) __UNUSED;
56 static bool nrf51_errata_17(void) __UNUSED;
57 static bool nrf51_errata_18(void) __UNUSED;
58 static bool nrf51_errata_19(void) __UNUSED;
59 static bool nrf51_errata_20(void) __UNUSED;
60 static bool nrf51_errata_21(void) __UNUSED;
61 static bool nrf51_errata_22(void) __UNUSED;
62 static bool nrf51_errata_23(void) __UNUSED;
63 static bool nrf51_errata_24(void) __UNUSED;
64 static bool nrf51_errata_25(void) __UNUSED;
65 static bool nrf51_errata_26(void) __UNUSED;
66 static bool nrf51_errata_27(void) __UNUSED;
67 static bool nrf51_errata_28(void) __UNUSED;
68 static bool nrf51_errata_29(void) __UNUSED;
69 static bool nrf51_errata_30(void) __UNUSED;
70 static bool nrf51_errata_31(void) __UNUSED;
71 static bool nrf51_errata_32(void) __UNUSED;
72 static bool nrf51_errata_33(void) __UNUSED;
73 static bool nrf51_errata_34(void) __UNUSED;
74 static bool nrf51_errata_35(void) __UNUSED;
75 static bool nrf51_errata_36(void) __UNUSED;
76 static bool nrf51_errata_37(void) __UNUSED;
77 static bool nrf51_errata_38(void) __UNUSED;
78 static bool nrf51_errata_39(void) __UNUSED;
79 static bool nrf51_errata_40(void) __UNUSED;
80 static bool nrf51_errata_41(void) __UNUSED;
81 static bool nrf51_errata_42(void) __UNUSED;
82 static bool nrf51_errata_43(void) __UNUSED;
83 static bool nrf51_errata_44(void) __UNUSED;
84 static bool nrf51_errata_45(void) __UNUSED;
85 static bool nrf51_errata_46(void) __UNUSED;
86 static bool nrf51_errata_47(void) __UNUSED;
87 static bool nrf51_errata_48(void) __UNUSED;
88 static bool nrf51_errata_49(void) __UNUSED;
89 static bool nrf51_errata_50(void) __UNUSED;
90 static bool nrf51_errata_51(void) __UNUSED;
91 static bool nrf51_errata_52(void) __UNUSED;
92 static bool nrf51_errata_53(void) __UNUSED;
93 static bool nrf51_errata_54(void) __UNUSED;
94 static bool nrf51_errata_55(void) __UNUSED;
95 static bool nrf51_errata_56(void) __UNUSED;
96 static bool nrf51_errata_57(void) __UNUSED;
97 static bool nrf51_errata_58(void) __UNUSED;
98 static bool nrf51_errata_59(void) __UNUSED;
99 static bool nrf51_errata_60(void) __UNUSED;
100 static bool nrf51_errata_61(void) __UNUSED;
101 static bool nrf51_errata_62(void) __UNUSED;
102 static bool nrf51_errata_63(void) __UNUSED;
103 static bool nrf51_errata_64(void) __UNUSED;
104 static bool nrf51_errata_65(void) __UNUSED;
105 static bool nrf51_errata_66(void) __UNUSED;
106 static bool nrf51_errata_67(void) __UNUSED;
107 static bool nrf51_errata_68(void) __UNUSED;
108 static bool nrf51_errata_69(void) __UNUSED;
109 static bool nrf51_errata_70(void) __UNUSED;
110 static bool nrf51_errata_71(void) __UNUSED;
111 static bool nrf51_errata_72(void) __UNUSED;
112 static bool nrf51_errata_73(void) __UNUSED;
113 static bool nrf51_errata_74(void) __UNUSED;
114 static bool nrf51_errata_75(void) __UNUSED;
115 static bool nrf51_errata_76(void) __UNUSED;
116 static bool nrf51_errata_77(void) __UNUSED;
117 static bool nrf51_errata_78(void) __UNUSED;
118
nrf51_errata_1(void)119 static bool nrf51_errata_1(void)
120 {
121 #ifndef NRF51_SERIES
122 return false;
123 #else
124 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
125 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
126 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
127 uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
128 uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
129 #endif
130 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
131 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
132 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
133 if (var1 == 0x01)
134 {
135 switch(var2)
136 {
137 case 0x00ul:
138 return true;
139 case 0x01ul:
140 return true;
141 case 0x02ul:
142 return false;
143 case 0x03ul:
144 return true;
145 case 0x04ul:
146 return false;
147 case 0x07ul:
148 return false;
149 case 0x08ul:
150 return false;
151 case 0x09ul:
152 return false;
153 case 0x0Aul:
154 return false;
155 case 0x0Bul:
156 return false;
157 case 0x0Cul:
158 return false;
159 case 0x0Dul:
160 return false;
161 default:
162 return false;
163 }
164 }
165 #endif
166 return false;
167 #endif
168 }
169
nrf51_errata_2(void)170 static bool nrf51_errata_2(void)
171 {
172 #ifndef NRF51_SERIES
173 return false;
174 #else
175 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
176 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
177 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
178 uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
179 uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
180 #endif
181 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
182 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
183 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
184 if (var1 == 0x01)
185 {
186 switch(var2)
187 {
188 case 0x00ul:
189 return true;
190 case 0x01ul:
191 return true;
192 case 0x02ul:
193 return false;
194 case 0x03ul:
195 return true;
196 case 0x04ul:
197 return false;
198 case 0x07ul:
199 return false;
200 case 0x08ul:
201 return false;
202 case 0x09ul:
203 return false;
204 case 0x0Aul:
205 return false;
206 case 0x0Bul:
207 return false;
208 case 0x0Cul:
209 return false;
210 case 0x0Dul:
211 return false;
212 default:
213 return false;
214 }
215 }
216 #endif
217 return false;
218 #endif
219 }
220
nrf51_errata_3(void)221 static bool nrf51_errata_3(void)
222 {
223 #ifndef NRF51_SERIES
224 return false;
225 #else
226 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
227 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
228 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
229 uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
230 uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
231 #endif
232 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
233 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
234 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
235 if (var1 == 0x01)
236 {
237 switch(var2)
238 {
239 case 0x00ul:
240 return true;
241 case 0x01ul:
242 return true;
243 case 0x02ul:
244 return false;
245 case 0x03ul:
246 return true;
247 case 0x04ul:
248 return false;
249 case 0x07ul:
250 return false;
251 case 0x08ul:
252 return false;
253 case 0x09ul:
254 return false;
255 case 0x0Aul:
256 return false;
257 case 0x0Bul:
258 return false;
259 case 0x0Cul:
260 return false;
261 case 0x0Dul:
262 return false;
263 default:
264 return false;
265 }
266 }
267 #endif
268 return false;
269 #endif
270 }
271
nrf51_errata_4(void)272 static bool nrf51_errata_4(void)
273 {
274 #ifndef NRF51_SERIES
275 return false;
276 #else
277 return false;
278 #endif
279 }
280
nrf51_errata_5(void)281 static bool nrf51_errata_5(void)
282 {
283 #ifndef NRF51_SERIES
284 return false;
285 #else
286 return false;
287 #endif
288 }
289
nrf51_errata_6(void)290 static bool nrf51_errata_6(void)
291 {
292 #ifndef NRF51_SERIES
293 return false;
294 #else
295 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
296 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
297 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
298 uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
299 uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
300 #endif
301 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
302 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
303 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
304 if (var1 == 0x01)
305 {
306 switch(var2)
307 {
308 case 0x00ul:
309 return true;
310 case 0x01ul:
311 return true;
312 case 0x02ul:
313 return false;
314 case 0x03ul:
315 return true;
316 case 0x04ul:
317 return false;
318 case 0x07ul:
319 return false;
320 case 0x08ul:
321 return false;
322 case 0x09ul:
323 return false;
324 case 0x0Aul:
325 return false;
326 case 0x0Bul:
327 return false;
328 case 0x0Cul:
329 return false;
330 case 0x0Dul:
331 return false;
332 default:
333 return false;
334 }
335 }
336 #endif
337 return false;
338 #endif
339 }
340
nrf51_errata_7(void)341 static bool nrf51_errata_7(void)
342 {
343 #ifndef NRF51_SERIES
344 return false;
345 #else
346 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
347 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
348 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
349 uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
350 uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
351 #endif
352 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
353 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
354 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
355 if (var1 == 0x01)
356 {
357 switch(var2)
358 {
359 case 0x00ul:
360 return true;
361 case 0x01ul:
362 return true;
363 case 0x02ul:
364 return false;
365 case 0x03ul:
366 return true;
367 case 0x04ul:
368 return false;
369 case 0x07ul:
370 return false;
371 case 0x08ul:
372 return false;
373 case 0x09ul:
374 return false;
375 case 0x0Aul:
376 return false;
377 case 0x0Bul:
378 return false;
379 case 0x0Cul:
380 return false;
381 case 0x0Dul:
382 return false;
383 default:
384 return false;
385 }
386 }
387 #endif
388 return false;
389 #endif
390 }
391
nrf51_errata_8(void)392 static bool nrf51_errata_8(void)
393 {
394 #ifndef NRF51_SERIES
395 return false;
396 #else
397 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
398 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
399 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
400 uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
401 uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
402 #endif
403 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
404 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
405 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
406 if (var1 == 0x01)
407 {
408 switch(var2)
409 {
410 case 0x00ul:
411 return true;
412 case 0x01ul:
413 return true;
414 case 0x02ul:
415 return false;
416 case 0x03ul:
417 return true;
418 case 0x04ul:
419 return false;
420 case 0x07ul:
421 return false;
422 case 0x08ul:
423 return false;
424 case 0x09ul:
425 return false;
426 case 0x0Aul:
427 return false;
428 case 0x0Bul:
429 return false;
430 case 0x0Cul:
431 return false;
432 case 0x0Dul:
433 return false;
434 default:
435 return false;
436 }
437 }
438 #endif
439 return false;
440 #endif
441 }
442
nrf51_errata_9(void)443 static bool nrf51_errata_9(void)
444 {
445 #ifndef NRF51_SERIES
446 return false;
447 #else
448 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
449 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
450 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
451 uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
452 uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
453 #endif
454 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
455 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
456 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
457 if (var1 == 0x01)
458 {
459 switch(var2)
460 {
461 case 0x00ul:
462 return true;
463 case 0x01ul:
464 return true;
465 case 0x02ul:
466 return false;
467 case 0x03ul:
468 return true;
469 case 0x04ul:
470 return false;
471 case 0x07ul:
472 return false;
473 case 0x08ul:
474 return false;
475 case 0x09ul:
476 return false;
477 case 0x0Aul:
478 return false;
479 case 0x0Bul:
480 return false;
481 case 0x0Cul:
482 return false;
483 case 0x0Dul:
484 return false;
485 default:
486 return false;
487 }
488 }
489 #endif
490 return false;
491 #endif
492 }
493
nrf51_errata_10(void)494 static bool nrf51_errata_10(void)
495 {
496 #ifndef NRF51_SERIES
497 return false;
498 #else
499 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
500 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
501 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
502 uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
503 uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
504 #endif
505 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
506 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
507 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
508 if (var1 == 0x01)
509 {
510 switch(var2)
511 {
512 case 0x00ul:
513 return true;
514 case 0x01ul:
515 return true;
516 case 0x02ul:
517 return false;
518 case 0x03ul:
519 return true;
520 case 0x04ul:
521 return false;
522 case 0x07ul:
523 return false;
524 case 0x08ul:
525 return false;
526 case 0x09ul:
527 return false;
528 case 0x0Aul:
529 return false;
530 case 0x0Bul:
531 return false;
532 case 0x0Cul:
533 return false;
534 case 0x0Dul:
535 return false;
536 default:
537 return false;
538 }
539 }
540 #endif
541 return false;
542 #endif
543 }
544
nrf51_errata_11(void)545 static bool nrf51_errata_11(void)
546 {
547 #ifndef NRF51_SERIES
548 return false;
549 #else
550 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
551 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
552 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
553 uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
554 uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
555 #endif
556 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
557 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
558 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
559 if (var1 == 0x01)
560 {
561 switch(var2)
562 {
563 case 0x00ul:
564 return true;
565 case 0x01ul:
566 return true;
567 case 0x02ul:
568 return false;
569 case 0x03ul:
570 return true;
571 case 0x04ul:
572 return false;
573 case 0x07ul:
574 return false;
575 case 0x08ul:
576 return false;
577 case 0x09ul:
578 return false;
579 case 0x0Aul:
580 return false;
581 case 0x0Bul:
582 return false;
583 case 0x0Cul:
584 return false;
585 case 0x0Dul:
586 return false;
587 default:
588 return false;
589 }
590 }
591 #endif
592 return false;
593 #endif
594 }
595
nrf51_errata_12(void)596 static bool nrf51_errata_12(void)
597 {
598 #ifndef NRF51_SERIES
599 return false;
600 #else
601 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
602 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
603 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
604 uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
605 uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
606 #endif
607 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
608 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
609 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
610 if (var1 == 0x01)
611 {
612 switch(var2)
613 {
614 case 0x00ul:
615 return true;
616 case 0x01ul:
617 return true;
618 case 0x02ul:
619 return false;
620 case 0x03ul:
621 return true;
622 case 0x04ul:
623 return false;
624 case 0x07ul:
625 return false;
626 case 0x08ul:
627 return false;
628 case 0x09ul:
629 return false;
630 case 0x0Aul:
631 return false;
632 case 0x0Bul:
633 return false;
634 case 0x0Cul:
635 return false;
636 case 0x0Dul:
637 return false;
638 default:
639 return false;
640 }
641 }
642 #endif
643 return false;
644 #endif
645 }
646
nrf51_errata_13(void)647 static bool nrf51_errata_13(void)
648 {
649 #ifndef NRF51_SERIES
650 return false;
651 #else
652 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
653 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
654 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
655 uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
656 uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
657 #endif
658 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
659 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
660 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
661 if (var1 == 0x01)
662 {
663 switch(var2)
664 {
665 case 0x00ul:
666 return true;
667 case 0x01ul:
668 return true;
669 case 0x02ul:
670 return false;
671 case 0x03ul:
672 return true;
673 case 0x04ul:
674 return false;
675 case 0x07ul:
676 return false;
677 case 0x08ul:
678 return false;
679 case 0x09ul:
680 return false;
681 case 0x0Aul:
682 return false;
683 case 0x0Bul:
684 return false;
685 case 0x0Cul:
686 return false;
687 case 0x0Dul:
688 return false;
689 default:
690 return false;
691 }
692 }
693 #endif
694 return false;
695 #endif
696 }
697
nrf51_errata_14(void)698 static bool nrf51_errata_14(void)
699 {
700 #ifndef NRF51_SERIES
701 return false;
702 #else
703 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
704 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
705 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
706 uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
707 uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
708 #endif
709 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
710 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
711 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
712 if (var1 == 0x01)
713 {
714 switch(var2)
715 {
716 case 0x00ul:
717 return true;
718 case 0x01ul:
719 return true;
720 case 0x02ul:
721 return false;
722 case 0x03ul:
723 return true;
724 case 0x04ul:
725 return false;
726 case 0x07ul:
727 return false;
728 case 0x08ul:
729 return false;
730 case 0x09ul:
731 return false;
732 case 0x0Aul:
733 return false;
734 case 0x0Bul:
735 return false;
736 case 0x0Cul:
737 return false;
738 case 0x0Dul:
739 return false;
740 default:
741 return false;
742 }
743 }
744 #endif
745 return false;
746 #endif
747 }
748
nrf51_errata_15(void)749 static bool nrf51_errata_15(void)
750 {
751 #ifndef NRF51_SERIES
752 return false;
753 #else
754 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
755 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
756 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
757 uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
758 uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
759 #endif
760 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
761 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
762 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
763 if (var1 == 0x01)
764 {
765 switch(var2)
766 {
767 case 0x00ul:
768 return true;
769 case 0x01ul:
770 return true;
771 case 0x02ul:
772 return false;
773 case 0x03ul:
774 return true;
775 case 0x04ul:
776 return false;
777 case 0x07ul:
778 return false;
779 case 0x08ul:
780 return false;
781 case 0x09ul:
782 return false;
783 case 0x0Aul:
784 return false;
785 case 0x0Bul:
786 return false;
787 case 0x0Cul:
788 return false;
789 case 0x0Dul:
790 return false;
791 default:
792 return false;
793 }
794 }
795 #endif
796 return false;
797 #endif
798 }
799
nrf51_errata_16(void)800 static bool nrf51_errata_16(void)
801 {
802 #ifndef NRF51_SERIES
803 return false;
804 #else
805 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
806 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
807 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
808 uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
809 uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
810 #endif
811 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
812 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
813 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
814 if (var1 == 0x01)
815 {
816 switch(var2)
817 {
818 case 0x00ul:
819 return true;
820 case 0x01ul:
821 return true;
822 case 0x02ul:
823 return false;
824 case 0x03ul:
825 return true;
826 case 0x04ul:
827 return false;
828 case 0x07ul:
829 return false;
830 case 0x08ul:
831 return false;
832 case 0x09ul:
833 return false;
834 case 0x0Aul:
835 return false;
836 case 0x0Bul:
837 return false;
838 case 0x0Cul:
839 return false;
840 case 0x0Dul:
841 return false;
842 default:
843 return false;
844 }
845 }
846 #endif
847 return false;
848 #endif
849 }
850
nrf51_errata_17(void)851 static bool nrf51_errata_17(void)
852 {
853 #ifndef NRF51_SERIES
854 return false;
855 #else
856 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
857 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
858 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
859 uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
860 uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
861 #endif
862 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
863 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
864 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
865 if (var1 == 0x01)
866 {
867 switch(var2)
868 {
869 case 0x00ul:
870 return true;
871 case 0x01ul:
872 return true;
873 case 0x02ul:
874 return false;
875 case 0x03ul:
876 return true;
877 case 0x04ul:
878 return false;
879 case 0x07ul:
880 return false;
881 case 0x08ul:
882 return false;
883 case 0x09ul:
884 return false;
885 case 0x0Aul:
886 return false;
887 case 0x0Bul:
888 return false;
889 case 0x0Cul:
890 return false;
891 case 0x0Dul:
892 return false;
893 default:
894 return false;
895 }
896 }
897 #endif
898 return false;
899 #endif
900 }
901
nrf51_errata_18(void)902 static bool nrf51_errata_18(void)
903 {
904 #ifndef NRF51_SERIES
905 return false;
906 #else
907 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
908 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
909 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
910 uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
911 uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
912 #endif
913 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
914 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
915 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
916 if (var1 == 0x01)
917 {
918 switch(var2)
919 {
920 case 0x00ul:
921 return true;
922 case 0x01ul:
923 return true;
924 case 0x02ul:
925 return false;
926 case 0x03ul:
927 return true;
928 case 0x04ul:
929 return false;
930 case 0x07ul:
931 return false;
932 case 0x08ul:
933 return false;
934 case 0x09ul:
935 return false;
936 case 0x0Aul:
937 return false;
938 case 0x0Bul:
939 return false;
940 case 0x0Cul:
941 return false;
942 case 0x0Dul:
943 return false;
944 default:
945 return false;
946 }
947 }
948 #endif
949 return false;
950 #endif
951 }
952
nrf51_errata_19(void)953 static bool nrf51_errata_19(void)
954 {
955 #ifndef NRF51_SERIES
956 return false;
957 #else
958 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
959 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
960 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
961 uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
962 uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
963 #endif
964 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
965 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
966 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
967 if (var1 == 0x01)
968 {
969 switch(var2)
970 {
971 case 0x00ul:
972 return true;
973 case 0x01ul:
974 return true;
975 case 0x02ul:
976 return false;
977 case 0x03ul:
978 return true;
979 case 0x04ul:
980 return false;
981 case 0x07ul:
982 return false;
983 case 0x08ul:
984 return false;
985 case 0x09ul:
986 return false;
987 case 0x0Aul:
988 return false;
989 case 0x0Bul:
990 return false;
991 case 0x0Cul:
992 return false;
993 case 0x0Dul:
994 return false;
995 default:
996 return false;
997 }
998 }
999 #endif
1000 return false;
1001 #endif
1002 }
1003
nrf51_errata_20(void)1004 static bool nrf51_errata_20(void)
1005 {
1006 #ifndef NRF51_SERIES
1007 return false;
1008 #else
1009 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
1010 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
1011 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
1012 uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
1013 uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
1014 #endif
1015 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
1016 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
1017 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
1018 if (var1 == 0x01)
1019 {
1020 switch(var2)
1021 {
1022 case 0x00ul:
1023 return true;
1024 case 0x01ul:
1025 return true;
1026 case 0x02ul:
1027 return false;
1028 case 0x03ul:
1029 return true;
1030 case 0x04ul:
1031 return false;
1032 case 0x07ul:
1033 return false;
1034 case 0x08ul:
1035 return false;
1036 case 0x09ul:
1037 return false;
1038 case 0x0Aul:
1039 return false;
1040 case 0x0Bul:
1041 return false;
1042 case 0x0Cul:
1043 return false;
1044 case 0x0Dul:
1045 return false;
1046 default:
1047 return false;
1048 }
1049 }
1050 #endif
1051 return false;
1052 #endif
1053 }
1054
nrf51_errata_21(void)1055 static bool nrf51_errata_21(void)
1056 {
1057 #ifndef NRF51_SERIES
1058 return false;
1059 #else
1060 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
1061 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
1062 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
1063 uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
1064 uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
1065 #endif
1066 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
1067 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
1068 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
1069 if (var1 == 0x01)
1070 {
1071 switch(var2)
1072 {
1073 case 0x00ul:
1074 return true;
1075 case 0x01ul:
1076 return true;
1077 case 0x02ul:
1078 return false;
1079 case 0x03ul:
1080 return true;
1081 case 0x04ul:
1082 return false;
1083 case 0x07ul:
1084 return false;
1085 case 0x08ul:
1086 return false;
1087 case 0x09ul:
1088 return false;
1089 case 0x0Aul:
1090 return false;
1091 case 0x0Bul:
1092 return false;
1093 case 0x0Cul:
1094 return false;
1095 case 0x0Dul:
1096 return false;
1097 default:
1098 return false;
1099 }
1100 }
1101 #endif
1102 return false;
1103 #endif
1104 }
1105
nrf51_errata_22(void)1106 static bool nrf51_errata_22(void)
1107 {
1108 #ifndef NRF51_SERIES
1109 return false;
1110 #else
1111 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
1112 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
1113 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
1114 uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
1115 uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
1116 #endif
1117 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
1118 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
1119 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
1120 if (var1 == 0x01)
1121 {
1122 switch(var2)
1123 {
1124 case 0x00ul:
1125 return true;
1126 case 0x01ul:
1127 return true;
1128 case 0x02ul:
1129 return false;
1130 case 0x03ul:
1131 return true;
1132 case 0x04ul:
1133 return false;
1134 case 0x07ul:
1135 return false;
1136 case 0x08ul:
1137 return false;
1138 case 0x09ul:
1139 return false;
1140 case 0x0Aul:
1141 return false;
1142 case 0x0Bul:
1143 return false;
1144 case 0x0Cul:
1145 return false;
1146 case 0x0Dul:
1147 return false;
1148 default:
1149 return false;
1150 }
1151 }
1152 #endif
1153 return false;
1154 #endif
1155 }
1156
nrf51_errata_23(void)1157 static bool nrf51_errata_23(void)
1158 {
1159 #ifndef NRF51_SERIES
1160 return false;
1161 #else
1162 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
1163 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
1164 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
1165 uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
1166 uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
1167 #endif
1168 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
1169 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
1170 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
1171 if (var1 == 0x01)
1172 {
1173 switch(var2)
1174 {
1175 case 0x00ul:
1176 return true;
1177 case 0x01ul:
1178 return true;
1179 case 0x02ul:
1180 return false;
1181 case 0x03ul:
1182 return true;
1183 case 0x04ul:
1184 return false;
1185 case 0x07ul:
1186 return false;
1187 case 0x08ul:
1188 return false;
1189 case 0x09ul:
1190 return false;
1191 case 0x0Aul:
1192 return false;
1193 case 0x0Bul:
1194 return false;
1195 case 0x0Cul:
1196 return false;
1197 case 0x0Dul:
1198 return false;
1199 default:
1200 return false;
1201 }
1202 }
1203 #endif
1204 return false;
1205 #endif
1206 }
1207
nrf51_errata_24(void)1208 static bool nrf51_errata_24(void)
1209 {
1210 #ifndef NRF51_SERIES
1211 return false;
1212 #else
1213 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
1214 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
1215 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
1216 uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
1217 uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
1218 #endif
1219 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
1220 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
1221 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
1222 if (var1 == 0x01)
1223 {
1224 switch(var2)
1225 {
1226 case 0x00ul:
1227 return true;
1228 case 0x01ul:
1229 return true;
1230 case 0x02ul:
1231 return false;
1232 case 0x03ul:
1233 return true;
1234 case 0x04ul:
1235 return false;
1236 case 0x07ul:
1237 return false;
1238 case 0x08ul:
1239 return false;
1240 case 0x09ul:
1241 return false;
1242 case 0x0Aul:
1243 return false;
1244 case 0x0Bul:
1245 return false;
1246 case 0x0Cul:
1247 return false;
1248 case 0x0Dul:
1249 return false;
1250 default:
1251 return false;
1252 }
1253 }
1254 #endif
1255 return false;
1256 #endif
1257 }
1258
nrf51_errata_25(void)1259 static bool nrf51_errata_25(void)
1260 {
1261 #ifndef NRF51_SERIES
1262 return false;
1263 #else
1264 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
1265 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
1266 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
1267 uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
1268 uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
1269 #endif
1270 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
1271 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
1272 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
1273 if (var1 == 0x01)
1274 {
1275 switch(var2)
1276 {
1277 case 0x00ul:
1278 return true;
1279 case 0x01ul:
1280 return true;
1281 case 0x02ul:
1282 return false;
1283 case 0x03ul:
1284 return true;
1285 case 0x04ul:
1286 return false;
1287 case 0x07ul:
1288 return false;
1289 case 0x08ul:
1290 return false;
1291 case 0x09ul:
1292 return false;
1293 case 0x0Aul:
1294 return false;
1295 case 0x0Bul:
1296 return false;
1297 case 0x0Cul:
1298 return false;
1299 case 0x0Dul:
1300 return false;
1301 default:
1302 return false;
1303 }
1304 }
1305 #endif
1306 return false;
1307 #endif
1308 }
1309
nrf51_errata_26(void)1310 static bool nrf51_errata_26(void)
1311 {
1312 #ifndef NRF51_SERIES
1313 return false;
1314 #else
1315 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
1316 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
1317 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
1318 uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
1319 uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
1320 #endif
1321 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
1322 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
1323 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
1324 if (var1 == 0x01)
1325 {
1326 switch(var2)
1327 {
1328 case 0x00ul:
1329 return true;
1330 case 0x01ul:
1331 return true;
1332 case 0x02ul:
1333 return false;
1334 case 0x03ul:
1335 return true;
1336 case 0x04ul:
1337 return false;
1338 case 0x07ul:
1339 return false;
1340 case 0x08ul:
1341 return false;
1342 case 0x09ul:
1343 return false;
1344 case 0x0Aul:
1345 return false;
1346 case 0x0Bul:
1347 return false;
1348 case 0x0Cul:
1349 return false;
1350 case 0x0Dul:
1351 return false;
1352 default:
1353 return false;
1354 }
1355 }
1356 #endif
1357 return false;
1358 #endif
1359 }
1360
nrf51_errata_27(void)1361 static bool nrf51_errata_27(void)
1362 {
1363 #ifndef NRF51_SERIES
1364 return false;
1365 #else
1366 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
1367 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
1368 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
1369 uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
1370 uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
1371 #endif
1372 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
1373 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
1374 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
1375 if (var1 == 0x01)
1376 {
1377 switch(var2)
1378 {
1379 case 0x00ul:
1380 return true;
1381 case 0x01ul:
1382 return true;
1383 case 0x02ul:
1384 return false;
1385 case 0x03ul:
1386 return true;
1387 case 0x04ul:
1388 return false;
1389 case 0x07ul:
1390 return false;
1391 case 0x08ul:
1392 return false;
1393 case 0x09ul:
1394 return false;
1395 case 0x0Aul:
1396 return false;
1397 case 0x0Bul:
1398 return false;
1399 case 0x0Cul:
1400 return false;
1401 case 0x0Dul:
1402 return false;
1403 default:
1404 return false;
1405 }
1406 }
1407 #endif
1408 return false;
1409 #endif
1410 }
1411
nrf51_errata_28(void)1412 static bool nrf51_errata_28(void)
1413 {
1414 #ifndef NRF51_SERIES
1415 return false;
1416 #else
1417 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
1418 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
1419 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
1420 uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
1421 uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
1422 #endif
1423 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
1424 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
1425 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
1426 if (var1 == 0x01)
1427 {
1428 switch(var2)
1429 {
1430 case 0x00ul:
1431 return true;
1432 case 0x01ul:
1433 return true;
1434 case 0x02ul:
1435 return false;
1436 case 0x03ul:
1437 return true;
1438 case 0x04ul:
1439 return false;
1440 case 0x07ul:
1441 return false;
1442 case 0x08ul:
1443 return false;
1444 case 0x09ul:
1445 return false;
1446 case 0x0Aul:
1447 return false;
1448 case 0x0Bul:
1449 return false;
1450 case 0x0Cul:
1451 return false;
1452 case 0x0Dul:
1453 return false;
1454 default:
1455 return false;
1456 }
1457 }
1458 #endif
1459 return false;
1460 #endif
1461 }
1462
nrf51_errata_29(void)1463 static bool nrf51_errata_29(void)
1464 {
1465 #ifndef NRF51_SERIES
1466 return false;
1467 #else
1468 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
1469 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
1470 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
1471 uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
1472 uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
1473 #endif
1474 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
1475 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
1476 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
1477 if (var1 == 0x01)
1478 {
1479 switch(var2)
1480 {
1481 case 0x00ul:
1482 return true;
1483 case 0x01ul:
1484 return true;
1485 case 0x02ul:
1486 return false;
1487 case 0x03ul:
1488 return true;
1489 case 0x04ul:
1490 return false;
1491 case 0x07ul:
1492 return false;
1493 case 0x08ul:
1494 return false;
1495 case 0x09ul:
1496 return false;
1497 case 0x0Aul:
1498 return false;
1499 case 0x0Bul:
1500 return false;
1501 case 0x0Cul:
1502 return false;
1503 case 0x0Dul:
1504 return false;
1505 default:
1506 return false;
1507 }
1508 }
1509 #endif
1510 return false;
1511 #endif
1512 }
1513
nrf51_errata_30(void)1514 static bool nrf51_errata_30(void)
1515 {
1516 #ifndef NRF51_SERIES
1517 return false;
1518 #else
1519 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
1520 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
1521 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
1522 uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
1523 uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
1524 #endif
1525 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
1526 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
1527 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
1528 if (var1 == 0x01)
1529 {
1530 switch(var2)
1531 {
1532 case 0x00ul:
1533 return true;
1534 case 0x01ul:
1535 return true;
1536 case 0x02ul:
1537 return false;
1538 case 0x03ul:
1539 return true;
1540 case 0x04ul:
1541 return false;
1542 case 0x07ul:
1543 return false;
1544 case 0x08ul:
1545 return false;
1546 case 0x09ul:
1547 return false;
1548 case 0x0Aul:
1549 return false;
1550 case 0x0Bul:
1551 return false;
1552 case 0x0Cul:
1553 return false;
1554 case 0x0Dul:
1555 return false;
1556 default:
1557 return false;
1558 }
1559 }
1560 #endif
1561 return false;
1562 #endif
1563 }
1564
nrf51_errata_31(void)1565 static bool nrf51_errata_31(void)
1566 {
1567 #ifndef NRF51_SERIES
1568 return false;
1569 #else
1570 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
1571 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
1572 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
1573 uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
1574 uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
1575 #endif
1576 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
1577 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
1578 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
1579 if (var1 == 0x01)
1580 {
1581 switch(var2)
1582 {
1583 case 0x00ul:
1584 return true;
1585 case 0x01ul:
1586 return true;
1587 case 0x02ul:
1588 return false;
1589 case 0x03ul:
1590 return true;
1591 case 0x04ul:
1592 return false;
1593 case 0x07ul:
1594 return false;
1595 case 0x08ul:
1596 return false;
1597 case 0x09ul:
1598 return false;
1599 case 0x0Aul:
1600 return false;
1601 case 0x0Bul:
1602 return false;
1603 case 0x0Cul:
1604 return false;
1605 case 0x0Dul:
1606 return false;
1607 default:
1608 return false;
1609 }
1610 }
1611 #endif
1612 return false;
1613 #endif
1614 }
1615
nrf51_errata_32(void)1616 static bool nrf51_errata_32(void)
1617 {
1618 #ifndef NRF51_SERIES
1619 return false;
1620 #else
1621 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
1622 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
1623 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
1624 uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
1625 uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
1626 #endif
1627 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
1628 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
1629 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
1630 if (var1 == 0x01)
1631 {
1632 switch(var2)
1633 {
1634 case 0x00ul:
1635 return true;
1636 case 0x01ul:
1637 return true;
1638 case 0x02ul:
1639 return false;
1640 case 0x03ul:
1641 return true;
1642 case 0x04ul:
1643 return false;
1644 case 0x07ul:
1645 return false;
1646 case 0x08ul:
1647 return false;
1648 case 0x09ul:
1649 return false;
1650 case 0x0Aul:
1651 return false;
1652 case 0x0Bul:
1653 return false;
1654 case 0x0Cul:
1655 return false;
1656 case 0x0Dul:
1657 return false;
1658 default:
1659 return false;
1660 }
1661 }
1662 #endif
1663 return false;
1664 #endif
1665 }
1666
nrf51_errata_33(void)1667 static bool nrf51_errata_33(void)
1668 {
1669 #ifndef NRF51_SERIES
1670 return false;
1671 #else
1672 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
1673 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
1674 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
1675 uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
1676 uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
1677 #endif
1678 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
1679 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
1680 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
1681 if (var1 == 0x01)
1682 {
1683 switch(var2)
1684 {
1685 case 0x00ul:
1686 return true;
1687 case 0x01ul:
1688 return true;
1689 case 0x02ul:
1690 return false;
1691 case 0x03ul:
1692 return true;
1693 case 0x04ul:
1694 return false;
1695 case 0x07ul:
1696 return false;
1697 case 0x08ul:
1698 return false;
1699 case 0x09ul:
1700 return false;
1701 case 0x0Aul:
1702 return false;
1703 case 0x0Bul:
1704 return false;
1705 case 0x0Cul:
1706 return false;
1707 case 0x0Dul:
1708 return false;
1709 default:
1710 return false;
1711 }
1712 }
1713 #endif
1714 return false;
1715 #endif
1716 }
1717
nrf51_errata_34(void)1718 static bool nrf51_errata_34(void)
1719 {
1720 #ifndef NRF51_SERIES
1721 return false;
1722 #else
1723 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
1724 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
1725 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
1726 uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
1727 uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
1728 #endif
1729 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
1730 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
1731 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
1732 if (var1 == 0x01)
1733 {
1734 switch(var2)
1735 {
1736 case 0x00ul:
1737 return true;
1738 case 0x01ul:
1739 return true;
1740 case 0x02ul:
1741 return false;
1742 case 0x03ul:
1743 return true;
1744 case 0x04ul:
1745 return false;
1746 case 0x07ul:
1747 return false;
1748 case 0x08ul:
1749 return false;
1750 case 0x09ul:
1751 return false;
1752 case 0x0Aul:
1753 return false;
1754 case 0x0Bul:
1755 return false;
1756 case 0x0Cul:
1757 return false;
1758 case 0x0Dul:
1759 return false;
1760 default:
1761 return false;
1762 }
1763 }
1764 #endif
1765 return false;
1766 #endif
1767 }
1768
nrf51_errata_35(void)1769 static bool nrf51_errata_35(void)
1770 {
1771 #ifndef NRF51_SERIES
1772 return false;
1773 #else
1774 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
1775 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
1776 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
1777 uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
1778 uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
1779 #endif
1780 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
1781 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
1782 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
1783 if (var1 == 0x01)
1784 {
1785 switch(var2)
1786 {
1787 case 0x00ul:
1788 return true;
1789 case 0x01ul:
1790 return true;
1791 case 0x02ul:
1792 return true;
1793 case 0x03ul:
1794 return true;
1795 case 0x04ul:
1796 return true;
1797 case 0x07ul:
1798 return false;
1799 case 0x08ul:
1800 return false;
1801 case 0x09ul:
1802 return false;
1803 case 0x0Aul:
1804 return false;
1805 case 0x0Bul:
1806 return false;
1807 case 0x0Cul:
1808 return false;
1809 case 0x0Dul:
1810 return false;
1811 default:
1812 return false;
1813 }
1814 }
1815 #endif
1816 return false;
1817 #endif
1818 }
1819
nrf51_errata_36(void)1820 static bool nrf51_errata_36(void)
1821 {
1822 #ifndef NRF51_SERIES
1823 return false;
1824 #else
1825 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
1826 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
1827 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
1828 uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
1829 uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
1830 #endif
1831 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
1832 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
1833 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
1834 if (var1 == 0x01)
1835 {
1836 switch(var2)
1837 {
1838 case 0x00ul:
1839 return true;
1840 case 0x01ul:
1841 return true;
1842 case 0x02ul:
1843 return false;
1844 case 0x03ul:
1845 return true;
1846 case 0x04ul:
1847 return false;
1848 case 0x07ul:
1849 return false;
1850 case 0x08ul:
1851 return false;
1852 case 0x09ul:
1853 return false;
1854 case 0x0Aul:
1855 return false;
1856 case 0x0Bul:
1857 return false;
1858 case 0x0Cul:
1859 return false;
1860 case 0x0Dul:
1861 return false;
1862 default:
1863 return false;
1864 }
1865 }
1866 #endif
1867 return false;
1868 #endif
1869 }
1870
nrf51_errata_37(void)1871 static bool nrf51_errata_37(void)
1872 {
1873 #ifndef NRF51_SERIES
1874 return false;
1875 #else
1876 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
1877 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
1878 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
1879 uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
1880 uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
1881 #endif
1882 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
1883 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
1884 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
1885 if (var1 == 0x01)
1886 {
1887 switch(var2)
1888 {
1889 case 0x00ul:
1890 return true;
1891 case 0x01ul:
1892 return true;
1893 case 0x02ul:
1894 return false;
1895 case 0x03ul:
1896 return true;
1897 case 0x04ul:
1898 return false;
1899 case 0x07ul:
1900 return false;
1901 case 0x08ul:
1902 return false;
1903 case 0x09ul:
1904 return false;
1905 case 0x0Aul:
1906 return false;
1907 case 0x0Bul:
1908 return false;
1909 case 0x0Cul:
1910 return false;
1911 case 0x0Dul:
1912 return false;
1913 default:
1914 return false;
1915 }
1916 }
1917 #endif
1918 return false;
1919 #endif
1920 }
1921
nrf51_errata_38(void)1922 static bool nrf51_errata_38(void)
1923 {
1924 #ifndef NRF51_SERIES
1925 return false;
1926 #else
1927 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
1928 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
1929 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
1930 uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
1931 uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
1932 #endif
1933 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
1934 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
1935 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
1936 if (var1 == 0x01)
1937 {
1938 switch(var2)
1939 {
1940 case 0x00ul:
1941 return true;
1942 case 0x01ul:
1943 return true;
1944 case 0x02ul:
1945 return true;
1946 case 0x03ul:
1947 return true;
1948 case 0x04ul:
1949 return true;
1950 case 0x07ul:
1951 return true;
1952 case 0x08ul:
1953 return true;
1954 case 0x09ul:
1955 return true;
1956 case 0x0Aul:
1957 return true;
1958 case 0x0Bul:
1959 return true;
1960 case 0x0Cul:
1961 return true;
1962 case 0x0Dul:
1963 return true;
1964 default:
1965 return true;
1966 }
1967 }
1968 #endif
1969 return false;
1970 #endif
1971 }
1972
nrf51_errata_39(void)1973 static bool nrf51_errata_39(void)
1974 {
1975 #ifndef NRF51_SERIES
1976 return false;
1977 #else
1978 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
1979 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
1980 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
1981 uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
1982 uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
1983 #endif
1984 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
1985 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
1986 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
1987 if (var1 == 0x01)
1988 {
1989 switch(var2)
1990 {
1991 case 0x00ul:
1992 return true;
1993 case 0x01ul:
1994 return true;
1995 case 0x02ul:
1996 return true;
1997 case 0x03ul:
1998 return true;
1999 case 0x04ul:
2000 return true;
2001 case 0x07ul:
2002 return false;
2003 case 0x08ul:
2004 return false;
2005 case 0x09ul:
2006 return false;
2007 case 0x0Aul:
2008 return false;
2009 case 0x0Bul:
2010 return false;
2011 case 0x0Cul:
2012 return false;
2013 case 0x0Dul:
2014 return false;
2015 default:
2016 return false;
2017 }
2018 }
2019 #endif
2020 return false;
2021 #endif
2022 }
2023
nrf51_errata_40(void)2024 static bool nrf51_errata_40(void)
2025 {
2026 #ifndef NRF51_SERIES
2027 return false;
2028 #else
2029 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
2030 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
2031 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
2032 uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
2033 uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
2034 #endif
2035 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
2036 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
2037 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
2038 if (var1 == 0x01)
2039 {
2040 switch(var2)
2041 {
2042 case 0x00ul:
2043 return true;
2044 case 0x01ul:
2045 return true;
2046 case 0x02ul:
2047 return true;
2048 case 0x03ul:
2049 return true;
2050 case 0x04ul:
2051 return true;
2052 case 0x07ul:
2053 return false;
2054 case 0x08ul:
2055 return false;
2056 case 0x09ul:
2057 return false;
2058 case 0x0Aul:
2059 return false;
2060 case 0x0Bul:
2061 return false;
2062 case 0x0Cul:
2063 return false;
2064 case 0x0Dul:
2065 return false;
2066 default:
2067 return false;
2068 }
2069 }
2070 #endif
2071 return false;
2072 #endif
2073 }
2074
nrf51_errata_41(void)2075 static bool nrf51_errata_41(void)
2076 {
2077 #ifndef NRF51_SERIES
2078 return false;
2079 #else
2080 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
2081 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
2082 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
2083 uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
2084 uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
2085 #endif
2086 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
2087 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
2088 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
2089 if (var1 == 0x01)
2090 {
2091 switch(var2)
2092 {
2093 case 0x00ul:
2094 return true;
2095 case 0x01ul:
2096 return true;
2097 case 0x02ul:
2098 return true;
2099 case 0x03ul:
2100 return true;
2101 case 0x04ul:
2102 return true;
2103 case 0x07ul:
2104 return false;
2105 case 0x08ul:
2106 return false;
2107 case 0x09ul:
2108 return false;
2109 case 0x0Aul:
2110 return false;
2111 case 0x0Bul:
2112 return false;
2113 case 0x0Cul:
2114 return false;
2115 case 0x0Dul:
2116 return false;
2117 default:
2118 return false;
2119 }
2120 }
2121 #endif
2122 return false;
2123 #endif
2124 }
2125
nrf51_errata_42(void)2126 static bool nrf51_errata_42(void)
2127 {
2128 #ifndef NRF51_SERIES
2129 return false;
2130 #else
2131 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
2132 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
2133 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
2134 uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
2135 uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
2136 #endif
2137 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
2138 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
2139 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
2140 if (var1 == 0x01)
2141 {
2142 switch(var2)
2143 {
2144 case 0x00ul:
2145 return true;
2146 case 0x01ul:
2147 return true;
2148 case 0x02ul:
2149 return true;
2150 case 0x03ul:
2151 return true;
2152 case 0x04ul:
2153 return true;
2154 case 0x07ul:
2155 return false;
2156 case 0x08ul:
2157 return false;
2158 case 0x09ul:
2159 return false;
2160 case 0x0Aul:
2161 return false;
2162 case 0x0Bul:
2163 return false;
2164 case 0x0Cul:
2165 return false;
2166 case 0x0Dul:
2167 return false;
2168 default:
2169 return false;
2170 }
2171 }
2172 #endif
2173 return false;
2174 #endif
2175 }
2176
nrf51_errata_43(void)2177 static bool nrf51_errata_43(void)
2178 {
2179 #ifndef NRF51_SERIES
2180 return false;
2181 #else
2182 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
2183 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
2184 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
2185 uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
2186 uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
2187 #endif
2188 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
2189 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
2190 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
2191 if (var1 == 0x01)
2192 {
2193 switch(var2)
2194 {
2195 case 0x00ul:
2196 return false;
2197 case 0x01ul:
2198 return false;
2199 case 0x02ul:
2200 return true;
2201 case 0x03ul:
2202 return false;
2203 case 0x04ul:
2204 return true;
2205 case 0x07ul:
2206 return false;
2207 case 0x08ul:
2208 return false;
2209 case 0x09ul:
2210 return false;
2211 case 0x0Aul:
2212 return false;
2213 case 0x0Bul:
2214 return false;
2215 case 0x0Cul:
2216 return false;
2217 case 0x0Dul:
2218 return false;
2219 default:
2220 return false;
2221 }
2222 }
2223 #endif
2224 return false;
2225 #endif
2226 }
2227
nrf51_errata_44(void)2228 static bool nrf51_errata_44(void)
2229 {
2230 #ifndef NRF51_SERIES
2231 return false;
2232 #else
2233 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
2234 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
2235 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
2236 uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
2237 uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
2238 #endif
2239 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
2240 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
2241 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
2242 if (var1 == 0x01)
2243 {
2244 switch(var2)
2245 {
2246 case 0x00ul:
2247 return true;
2248 case 0x01ul:
2249 return true;
2250 case 0x02ul:
2251 return true;
2252 case 0x03ul:
2253 return true;
2254 case 0x04ul:
2255 return true;
2256 case 0x07ul:
2257 return false;
2258 case 0x08ul:
2259 return false;
2260 case 0x09ul:
2261 return false;
2262 case 0x0Aul:
2263 return false;
2264 case 0x0Bul:
2265 return false;
2266 case 0x0Cul:
2267 return false;
2268 case 0x0Dul:
2269 return false;
2270 default:
2271 return false;
2272 }
2273 }
2274 #endif
2275 return false;
2276 #endif
2277 }
2278
nrf51_errata_45(void)2279 static bool nrf51_errata_45(void)
2280 {
2281 #ifndef NRF51_SERIES
2282 return false;
2283 #else
2284 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
2285 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
2286 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
2287 uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
2288 uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
2289 #endif
2290 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
2291 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
2292 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
2293 if (var1 == 0x01)
2294 {
2295 switch(var2)
2296 {
2297 case 0x00ul:
2298 return true;
2299 case 0x01ul:
2300 return true;
2301 case 0x02ul:
2302 return true;
2303 case 0x03ul:
2304 return true;
2305 case 0x04ul:
2306 return true;
2307 case 0x07ul:
2308 return false;
2309 case 0x08ul:
2310 return false;
2311 case 0x09ul:
2312 return false;
2313 case 0x0Aul:
2314 return false;
2315 case 0x0Bul:
2316 return false;
2317 case 0x0Cul:
2318 return false;
2319 case 0x0Dul:
2320 return false;
2321 default:
2322 return false;
2323 }
2324 }
2325 #endif
2326 return false;
2327 #endif
2328 }
2329
nrf51_errata_46(void)2330 static bool nrf51_errata_46(void)
2331 {
2332 #ifndef NRF51_SERIES
2333 return false;
2334 #else
2335 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
2336 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
2337 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
2338 uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
2339 uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
2340 #endif
2341 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
2342 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
2343 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
2344 if (var1 == 0x01)
2345 {
2346 switch(var2)
2347 {
2348 case 0x00ul:
2349 return false;
2350 case 0x01ul:
2351 return false;
2352 case 0x02ul:
2353 return true;
2354 case 0x03ul:
2355 return false;
2356 case 0x04ul:
2357 return true;
2358 case 0x07ul:
2359 return true;
2360 case 0x08ul:
2361 return true;
2362 case 0x09ul:
2363 return true;
2364 case 0x0Aul:
2365 return false;
2366 case 0x0Bul:
2367 return true;
2368 case 0x0Cul:
2369 return true;
2370 case 0x0Dul:
2371 return false;
2372 default:
2373 return false;
2374 }
2375 }
2376 #endif
2377 return false;
2378 #endif
2379 }
2380
nrf51_errata_47(void)2381 static bool nrf51_errata_47(void)
2382 {
2383 #ifndef NRF51_SERIES
2384 return false;
2385 #else
2386 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
2387 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
2388 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
2389 uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
2390 uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
2391 #endif
2392 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
2393 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
2394 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
2395 if (var1 == 0x01)
2396 {
2397 switch(var2)
2398 {
2399 case 0x00ul:
2400 return true;
2401 case 0x01ul:
2402 return true;
2403 case 0x02ul:
2404 return true;
2405 case 0x03ul:
2406 return true;
2407 case 0x04ul:
2408 return true;
2409 case 0x07ul:
2410 return false;
2411 case 0x08ul:
2412 return false;
2413 case 0x09ul:
2414 return false;
2415 case 0x0Aul:
2416 return false;
2417 case 0x0Bul:
2418 return false;
2419 case 0x0Cul:
2420 return false;
2421 case 0x0Dul:
2422 return false;
2423 default:
2424 return false;
2425 }
2426 }
2427 #endif
2428 return false;
2429 #endif
2430 }
2431
nrf51_errata_48(void)2432 static bool nrf51_errata_48(void)
2433 {
2434 #ifndef NRF51_SERIES
2435 return false;
2436 #else
2437 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
2438 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
2439 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
2440 uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
2441 uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
2442 #endif
2443 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
2444 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
2445 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
2446 if (var1 == 0x01)
2447 {
2448 switch(var2)
2449 {
2450 case 0x00ul:
2451 return true;
2452 case 0x01ul:
2453 return true;
2454 case 0x02ul:
2455 return true;
2456 case 0x03ul:
2457 return true;
2458 case 0x04ul:
2459 return true;
2460 case 0x07ul:
2461 return false;
2462 case 0x08ul:
2463 return false;
2464 case 0x09ul:
2465 return false;
2466 case 0x0Aul:
2467 return false;
2468 case 0x0Bul:
2469 return false;
2470 case 0x0Cul:
2471 return false;
2472 case 0x0Dul:
2473 return false;
2474 default:
2475 return false;
2476 }
2477 }
2478 #endif
2479 return false;
2480 #endif
2481 }
2482
nrf51_errata_49(void)2483 static bool nrf51_errata_49(void)
2484 {
2485 #ifndef NRF51_SERIES
2486 return false;
2487 #else
2488 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
2489 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
2490 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
2491 uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
2492 uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
2493 #endif
2494 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
2495 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
2496 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
2497 if (var1 == 0x01)
2498 {
2499 switch(var2)
2500 {
2501 case 0x00ul:
2502 return false;
2503 case 0x01ul:
2504 return false;
2505 case 0x02ul:
2506 return true;
2507 case 0x03ul:
2508 return false;
2509 case 0x04ul:
2510 return true;
2511 case 0x07ul:
2512 return false;
2513 case 0x08ul:
2514 return false;
2515 case 0x09ul:
2516 return false;
2517 case 0x0Aul:
2518 return false;
2519 case 0x0Bul:
2520 return false;
2521 case 0x0Cul:
2522 return false;
2523 case 0x0Dul:
2524 return false;
2525 default:
2526 return false;
2527 }
2528 }
2529 #endif
2530 return false;
2531 #endif
2532 }
2533
nrf51_errata_50(void)2534 static bool nrf51_errata_50(void)
2535 {
2536 #ifndef NRF51_SERIES
2537 return false;
2538 #else
2539 return false;
2540 #endif
2541 }
2542
nrf51_errata_51(void)2543 static bool nrf51_errata_51(void)
2544 {
2545 #ifndef NRF51_SERIES
2546 return false;
2547 #else
2548 return false;
2549 #endif
2550 }
2551
nrf51_errata_52(void)2552 static bool nrf51_errata_52(void)
2553 {
2554 #ifndef NRF51_SERIES
2555 return false;
2556 #else
2557 return false;
2558 #endif
2559 }
2560
nrf51_errata_53(void)2561 static bool nrf51_errata_53(void)
2562 {
2563 #ifndef NRF51_SERIES
2564 return false;
2565 #else
2566 return false;
2567 #endif
2568 }
2569
nrf51_errata_54(void)2570 static bool nrf51_errata_54(void)
2571 {
2572 #ifndef NRF51_SERIES
2573 return false;
2574 #else
2575 return false;
2576 #endif
2577 }
2578
nrf51_errata_55(void)2579 static bool nrf51_errata_55(void)
2580 {
2581 #ifndef NRF51_SERIES
2582 return false;
2583 #else
2584 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
2585 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
2586 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
2587 uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
2588 uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
2589 #endif
2590 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
2591 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
2592 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
2593 if (var1 == 0x01)
2594 {
2595 switch(var2)
2596 {
2597 case 0x00ul:
2598 return true;
2599 case 0x01ul:
2600 return true;
2601 case 0x02ul:
2602 return false;
2603 case 0x03ul:
2604 return true;
2605 case 0x04ul:
2606 return false;
2607 case 0x07ul:
2608 return false;
2609 case 0x08ul:
2610 return false;
2611 case 0x09ul:
2612 return false;
2613 case 0x0Aul:
2614 return false;
2615 case 0x0Bul:
2616 return false;
2617 case 0x0Cul:
2618 return false;
2619 case 0x0Dul:
2620 return false;
2621 default:
2622 return false;
2623 }
2624 }
2625 #endif
2626 return false;
2627 #endif
2628 }
2629
nrf51_errata_56(void)2630 static bool nrf51_errata_56(void)
2631 {
2632 #ifndef NRF51_SERIES
2633 return false;
2634 #else
2635 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
2636 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
2637 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
2638 uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
2639 uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
2640 #endif
2641 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
2642 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
2643 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
2644 if (var1 == 0x01)
2645 {
2646 switch(var2)
2647 {
2648 case 0x00ul:
2649 return true;
2650 case 0x01ul:
2651 return true;
2652 case 0x02ul:
2653 return true;
2654 case 0x03ul:
2655 return true;
2656 case 0x04ul:
2657 return true;
2658 case 0x07ul:
2659 return false;
2660 case 0x08ul:
2661 return false;
2662 case 0x09ul:
2663 return false;
2664 case 0x0Aul:
2665 return false;
2666 case 0x0Bul:
2667 return false;
2668 case 0x0Cul:
2669 return false;
2670 case 0x0Dul:
2671 return false;
2672 default:
2673 return false;
2674 }
2675 }
2676 #endif
2677 return false;
2678 #endif
2679 }
2680
nrf51_errata_57(void)2681 static bool nrf51_errata_57(void)
2682 {
2683 #ifndef NRF51_SERIES
2684 return false;
2685 #else
2686 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
2687 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
2688 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
2689 uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
2690 uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
2691 #endif
2692 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
2693 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
2694 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
2695 if (var1 == 0x01)
2696 {
2697 switch(var2)
2698 {
2699 case 0x00ul:
2700 return true;
2701 case 0x01ul:
2702 return true;
2703 case 0x02ul:
2704 return true;
2705 case 0x03ul:
2706 return true;
2707 case 0x04ul:
2708 return true;
2709 case 0x07ul:
2710 return false;
2711 case 0x08ul:
2712 return false;
2713 case 0x09ul:
2714 return false;
2715 case 0x0Aul:
2716 return false;
2717 case 0x0Bul:
2718 return false;
2719 case 0x0Cul:
2720 return false;
2721 case 0x0Dul:
2722 return false;
2723 default:
2724 return false;
2725 }
2726 }
2727 #endif
2728 return false;
2729 #endif
2730 }
2731
nrf51_errata_58(void)2732 static bool nrf51_errata_58(void)
2733 {
2734 #ifndef NRF51_SERIES
2735 return false;
2736 #else
2737 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
2738 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
2739 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
2740 uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
2741 uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
2742 #endif
2743 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
2744 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
2745 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
2746 if (var1 == 0x01)
2747 {
2748 switch(var2)
2749 {
2750 case 0x00ul:
2751 return false;
2752 case 0x01ul:
2753 return false;
2754 case 0x02ul:
2755 return true;
2756 case 0x03ul:
2757 return false;
2758 case 0x04ul:
2759 return true;
2760 case 0x07ul:
2761 return false;
2762 case 0x08ul:
2763 return false;
2764 case 0x09ul:
2765 return false;
2766 case 0x0Aul:
2767 return false;
2768 case 0x0Bul:
2769 return false;
2770 case 0x0Cul:
2771 return false;
2772 case 0x0Dul:
2773 return false;
2774 default:
2775 return false;
2776 }
2777 }
2778 #endif
2779 return false;
2780 #endif
2781 }
2782
nrf51_errata_59(void)2783 static bool nrf51_errata_59(void)
2784 {
2785 #ifndef NRF51_SERIES
2786 return false;
2787 #else
2788 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
2789 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
2790 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
2791 uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
2792 uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
2793 #endif
2794 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
2795 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
2796 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
2797 if (var1 == 0x01)
2798 {
2799 switch(var2)
2800 {
2801 case 0x00ul:
2802 return false;
2803 case 0x01ul:
2804 return false;
2805 case 0x02ul:
2806 return true;
2807 case 0x03ul:
2808 return false;
2809 case 0x04ul:
2810 return true;
2811 case 0x07ul:
2812 return false;
2813 case 0x08ul:
2814 return false;
2815 case 0x09ul:
2816 return false;
2817 case 0x0Aul:
2818 return false;
2819 case 0x0Bul:
2820 return false;
2821 case 0x0Cul:
2822 return false;
2823 case 0x0Dul:
2824 return false;
2825 default:
2826 return false;
2827 }
2828 }
2829 #endif
2830 return false;
2831 #endif
2832 }
2833
nrf51_errata_60(void)2834 static bool nrf51_errata_60(void)
2835 {
2836 #ifndef NRF51_SERIES
2837 return false;
2838 #else
2839 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
2840 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
2841 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
2842 uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
2843 uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
2844 #endif
2845 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
2846 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
2847 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
2848 if (var1 == 0x01)
2849 {
2850 switch(var2)
2851 {
2852 case 0x00ul:
2853 return false;
2854 case 0x01ul:
2855 return false;
2856 case 0x02ul:
2857 return true;
2858 case 0x03ul:
2859 return false;
2860 case 0x04ul:
2861 return true;
2862 case 0x07ul:
2863 return false;
2864 case 0x08ul:
2865 return false;
2866 case 0x09ul:
2867 return false;
2868 case 0x0Aul:
2869 return false;
2870 case 0x0Bul:
2871 return false;
2872 case 0x0Cul:
2873 return false;
2874 case 0x0Dul:
2875 return false;
2876 default:
2877 return false;
2878 }
2879 }
2880 #endif
2881 return false;
2882 #endif
2883 }
2884
nrf51_errata_61(void)2885 static bool nrf51_errata_61(void)
2886 {
2887 #ifndef NRF51_SERIES
2888 return false;
2889 #else
2890 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
2891 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
2892 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
2893 uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
2894 uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
2895 #endif
2896 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
2897 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
2898 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
2899 if (var1 == 0x01)
2900 {
2901 switch(var2)
2902 {
2903 case 0x00ul:
2904 return false;
2905 case 0x01ul:
2906 return false;
2907 case 0x02ul:
2908 return true;
2909 case 0x03ul:
2910 return false;
2911 case 0x04ul:
2912 return true;
2913 case 0x07ul:
2914 return true;
2915 case 0x08ul:
2916 return true;
2917 case 0x09ul:
2918 return true;
2919 case 0x0Aul:
2920 return true;
2921 case 0x0Bul:
2922 return true;
2923 case 0x0Cul:
2924 return true;
2925 case 0x0Dul:
2926 return true;
2927 default:
2928 return true;
2929 }
2930 }
2931 #endif
2932 return false;
2933 #endif
2934 }
2935
nrf51_errata_62(void)2936 static bool nrf51_errata_62(void)
2937 {
2938 #ifndef NRF51_SERIES
2939 return false;
2940 #else
2941 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
2942 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
2943 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
2944 uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
2945 uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
2946 #endif
2947 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
2948 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
2949 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
2950 if (var1 == 0x01)
2951 {
2952 switch(var2)
2953 {
2954 case 0x00ul:
2955 return false;
2956 case 0x01ul:
2957 return false;
2958 case 0x02ul:
2959 return true;
2960 case 0x03ul:
2961 return false;
2962 case 0x04ul:
2963 return true;
2964 case 0x07ul:
2965 return false;
2966 case 0x08ul:
2967 return false;
2968 case 0x09ul:
2969 return false;
2970 case 0x0Aul:
2971 return false;
2972 case 0x0Bul:
2973 return false;
2974 case 0x0Cul:
2975 return false;
2976 case 0x0Dul:
2977 return false;
2978 default:
2979 return false;
2980 }
2981 }
2982 #endif
2983 return false;
2984 #endif
2985 }
2986
nrf51_errata_63(void)2987 static bool nrf51_errata_63(void)
2988 {
2989 #ifndef NRF51_SERIES
2990 return false;
2991 #else
2992 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
2993 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
2994 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
2995 uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
2996 uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
2997 #endif
2998 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
2999 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
3000 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
3001 if (var1 == 0x01)
3002 {
3003 switch(var2)
3004 {
3005 case 0x00ul:
3006 return true;
3007 case 0x01ul:
3008 return true;
3009 case 0x02ul:
3010 return true;
3011 case 0x03ul:
3012 return true;
3013 case 0x04ul:
3014 return true;
3015 case 0x07ul:
3016 return false;
3017 case 0x08ul:
3018 return false;
3019 case 0x09ul:
3020 return false;
3021 case 0x0Aul:
3022 return false;
3023 case 0x0Bul:
3024 return false;
3025 case 0x0Cul:
3026 return false;
3027 case 0x0Dul:
3028 return false;
3029 default:
3030 return false;
3031 }
3032 }
3033 #endif
3034 return false;
3035 #endif
3036 }
3037
nrf51_errata_64(void)3038 static bool nrf51_errata_64(void)
3039 {
3040 #ifndef NRF51_SERIES
3041 return false;
3042 #else
3043 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
3044 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
3045 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
3046 uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
3047 uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
3048 #endif
3049 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
3050 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
3051 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
3052 if (var1 == 0x01)
3053 {
3054 switch(var2)
3055 {
3056 case 0x00ul:
3057 return true;
3058 case 0x01ul:
3059 return true;
3060 case 0x02ul:
3061 return true;
3062 case 0x03ul:
3063 return true;
3064 case 0x04ul:
3065 return true;
3066 case 0x07ul:
3067 return false;
3068 case 0x08ul:
3069 return false;
3070 case 0x09ul:
3071 return false;
3072 case 0x0Aul:
3073 return false;
3074 case 0x0Bul:
3075 return false;
3076 case 0x0Cul:
3077 return false;
3078 case 0x0Dul:
3079 return false;
3080 default:
3081 return false;
3082 }
3083 }
3084 #endif
3085 return false;
3086 #endif
3087 }
3088
nrf51_errata_65(void)3089 static bool nrf51_errata_65(void)
3090 {
3091 #ifndef NRF51_SERIES
3092 return false;
3093 #else
3094 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
3095 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
3096 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
3097 uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
3098 uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
3099 #endif
3100 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
3101 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
3102 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
3103 if (var1 == 0x01)
3104 {
3105 switch(var2)
3106 {
3107 case 0x00ul:
3108 return true;
3109 case 0x01ul:
3110 return true;
3111 case 0x02ul:
3112 return true;
3113 case 0x03ul:
3114 return true;
3115 case 0x04ul:
3116 return true;
3117 case 0x07ul:
3118 return false;
3119 case 0x08ul:
3120 return false;
3121 case 0x09ul:
3122 return false;
3123 case 0x0Aul:
3124 return false;
3125 case 0x0Bul:
3126 return false;
3127 case 0x0Cul:
3128 return false;
3129 case 0x0Dul:
3130 return false;
3131 default:
3132 return false;
3133 }
3134 }
3135 #endif
3136 return false;
3137 #endif
3138 }
3139
nrf51_errata_66(void)3140 static bool nrf51_errata_66(void)
3141 {
3142 #ifndef NRF51_SERIES
3143 return false;
3144 #else
3145 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
3146 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
3147 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
3148 uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
3149 uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
3150 #endif
3151 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
3152 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
3153 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
3154 if (var1 == 0x01)
3155 {
3156 switch(var2)
3157 {
3158 case 0x00ul:
3159 return false;
3160 case 0x01ul:
3161 return false;
3162 case 0x02ul:
3163 return true;
3164 case 0x03ul:
3165 return false;
3166 case 0x04ul:
3167 return true;
3168 case 0x07ul:
3169 return true;
3170 case 0x08ul:
3171 return true;
3172 case 0x09ul:
3173 return true;
3174 case 0x0Aul:
3175 return false;
3176 case 0x0Bul:
3177 return true;
3178 case 0x0Cul:
3179 return true;
3180 case 0x0Dul:
3181 return false;
3182 default:
3183 return false;
3184 }
3185 }
3186 #endif
3187 return false;
3188 #endif
3189 }
3190
nrf51_errata_67(void)3191 static bool nrf51_errata_67(void)
3192 {
3193 #ifndef NRF51_SERIES
3194 return false;
3195 #else
3196 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
3197 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
3198 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
3199 uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
3200 uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
3201 #endif
3202 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
3203 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
3204 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
3205 if (var1 == 0x01)
3206 {
3207 switch(var2)
3208 {
3209 case 0x00ul:
3210 return false;
3211 case 0x01ul:
3212 return false;
3213 case 0x02ul:
3214 return true;
3215 case 0x03ul:
3216 return false;
3217 case 0x04ul:
3218 return true;
3219 case 0x07ul:
3220 return true;
3221 case 0x08ul:
3222 return true;
3223 case 0x09ul:
3224 return true;
3225 case 0x0Aul:
3226 return true;
3227 case 0x0Bul:
3228 return true;
3229 case 0x0Cul:
3230 return true;
3231 case 0x0Dul:
3232 return true;
3233 default:
3234 return true;
3235 }
3236 }
3237 #endif
3238 return false;
3239 #endif
3240 }
3241
nrf51_errata_68(void)3242 static bool nrf51_errata_68(void)
3243 {
3244 #ifndef NRF51_SERIES
3245 return false;
3246 #else
3247 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
3248 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
3249 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
3250 uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
3251 uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
3252 #endif
3253 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
3254 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
3255 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
3256 if (var1 == 0x01)
3257 {
3258 switch(var2)
3259 {
3260 case 0x00ul:
3261 return false;
3262 case 0x01ul:
3263 return false;
3264 case 0x02ul:
3265 return true;
3266 case 0x03ul:
3267 return false;
3268 case 0x04ul:
3269 return true;
3270 case 0x07ul:
3271 return false;
3272 case 0x08ul:
3273 return false;
3274 case 0x09ul:
3275 return false;
3276 case 0x0Aul:
3277 return false;
3278 case 0x0Bul:
3279 return false;
3280 case 0x0Cul:
3281 return false;
3282 case 0x0Dul:
3283 return false;
3284 default:
3285 return false;
3286 }
3287 }
3288 #endif
3289 return false;
3290 #endif
3291 }
3292
nrf51_errata_69(void)3293 static bool nrf51_errata_69(void)
3294 {
3295 #ifndef NRF51_SERIES
3296 return false;
3297 #else
3298 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
3299 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
3300 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
3301 uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
3302 uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
3303 #endif
3304 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
3305 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
3306 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
3307 if (var1 == 0x01)
3308 {
3309 switch(var2)
3310 {
3311 case 0x00ul:
3312 return false;
3313 case 0x01ul:
3314 return false;
3315 case 0x02ul:
3316 return false;
3317 case 0x03ul:
3318 return false;
3319 case 0x04ul:
3320 return false;
3321 case 0x07ul:
3322 return true;
3323 case 0x08ul:
3324 return true;
3325 case 0x09ul:
3326 return false;
3327 case 0x0Aul:
3328 return false;
3329 case 0x0Bul:
3330 return true;
3331 case 0x0Cul:
3332 return true;
3333 case 0x0Dul:
3334 return false;
3335 default:
3336 return false;
3337 }
3338 }
3339 #endif
3340 return false;
3341 #endif
3342 }
3343
nrf51_errata_70(void)3344 static bool nrf51_errata_70(void)
3345 {
3346 #ifndef NRF51_SERIES
3347 return false;
3348 #else
3349 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
3350 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
3351 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
3352 uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
3353 uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
3354 #endif
3355 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
3356 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
3357 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
3358 if (var1 == 0x01)
3359 {
3360 switch(var2)
3361 {
3362 case 0x00ul:
3363 return false;
3364 case 0x01ul:
3365 return false;
3366 case 0x02ul:
3367 return true;
3368 case 0x03ul:
3369 return false;
3370 case 0x04ul:
3371 return true;
3372 case 0x07ul:
3373 return true;
3374 case 0x08ul:
3375 return true;
3376 case 0x09ul:
3377 return true;
3378 case 0x0Aul:
3379 return true;
3380 case 0x0Bul:
3381 return true;
3382 case 0x0Cul:
3383 return true;
3384 case 0x0Dul:
3385 return true;
3386 default:
3387 return true;
3388 }
3389 }
3390 #endif
3391 return false;
3392 #endif
3393 }
3394
nrf51_errata_71(void)3395 static bool nrf51_errata_71(void)
3396 {
3397 #ifndef NRF51_SERIES
3398 return false;
3399 #else
3400 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
3401 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
3402 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
3403 uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
3404 uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
3405 #endif
3406 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
3407 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
3408 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
3409 if (var1 == 0x01)
3410 {
3411 switch(var2)
3412 {
3413 case 0x00ul:
3414 return false;
3415 case 0x01ul:
3416 return false;
3417 case 0x02ul:
3418 return false;
3419 case 0x03ul:
3420 return false;
3421 case 0x04ul:
3422 return false;
3423 case 0x07ul:
3424 return true;
3425 case 0x08ul:
3426 return true;
3427 case 0x09ul:
3428 return false;
3429 case 0x0Aul:
3430 return false;
3431 case 0x0Bul:
3432 return true;
3433 case 0x0Cul:
3434 return true;
3435 case 0x0Dul:
3436 return false;
3437 default:
3438 return false;
3439 }
3440 }
3441 #endif
3442 return false;
3443 #endif
3444 }
3445
nrf51_errata_72(void)3446 static bool nrf51_errata_72(void)
3447 {
3448 #ifndef NRF51_SERIES
3449 return false;
3450 #else
3451 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
3452 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
3453 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
3454 uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
3455 uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
3456 #endif
3457 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
3458 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
3459 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
3460 if (var1 == 0x01)
3461 {
3462 switch(var2)
3463 {
3464 case 0x00ul:
3465 return true;
3466 case 0x01ul:
3467 return true;
3468 case 0x02ul:
3469 return true;
3470 case 0x03ul:
3471 return true;
3472 case 0x04ul:
3473 return true;
3474 case 0x07ul:
3475 return true;
3476 case 0x08ul:
3477 return true;
3478 case 0x09ul:
3479 return true;
3480 case 0x0Aul:
3481 return true;
3482 case 0x0Bul:
3483 return true;
3484 case 0x0Cul:
3485 return true;
3486 case 0x0Dul:
3487 return true;
3488 default:
3489 return true;
3490 }
3491 }
3492 #endif
3493 return false;
3494 #endif
3495 }
3496
nrf51_errata_73(void)3497 static bool nrf51_errata_73(void)
3498 {
3499 #ifndef NRF51_SERIES
3500 return false;
3501 #else
3502 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
3503 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
3504 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
3505 uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
3506 uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
3507 #endif
3508 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
3509 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
3510 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
3511 if (var1 == 0x01)
3512 {
3513 switch(var2)
3514 {
3515 case 0x00ul:
3516 return false;
3517 case 0x01ul:
3518 return false;
3519 case 0x02ul:
3520 return false;
3521 case 0x03ul:
3522 return false;
3523 case 0x04ul:
3524 return false;
3525 case 0x07ul:
3526 return true;
3527 case 0x08ul:
3528 return true;
3529 case 0x09ul:
3530 return true;
3531 case 0x0Aul:
3532 return false;
3533 case 0x0Bul:
3534 return true;
3535 case 0x0Cul:
3536 return true;
3537 case 0x0Dul:
3538 return false;
3539 default:
3540 return false;
3541 }
3542 }
3543 #endif
3544 return false;
3545 #endif
3546 }
3547
nrf51_errata_74(void)3548 static bool nrf51_errata_74(void)
3549 {
3550 #ifndef NRF51_SERIES
3551 return false;
3552 #else
3553 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
3554 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
3555 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
3556 uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
3557 uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
3558 #endif
3559 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
3560 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
3561 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
3562 if (var1 == 0x01)
3563 {
3564 switch(var2)
3565 {
3566 case 0x00ul:
3567 return false;
3568 case 0x01ul:
3569 return false;
3570 case 0x02ul:
3571 return true;
3572 case 0x03ul:
3573 return false;
3574 case 0x04ul:
3575 return true;
3576 case 0x07ul:
3577 return true;
3578 case 0x08ul:
3579 return true;
3580 case 0x09ul:
3581 return true;
3582 case 0x0Aul:
3583 return false;
3584 case 0x0Bul:
3585 return true;
3586 case 0x0Cul:
3587 return true;
3588 case 0x0Dul:
3589 return false;
3590 default:
3591 return false;
3592 }
3593 }
3594 #endif
3595 return false;
3596 #endif
3597 }
3598
nrf51_errata_75(void)3599 static bool nrf51_errata_75(void)
3600 {
3601 #ifndef NRF51_SERIES
3602 return false;
3603 #else
3604 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
3605 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
3606 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
3607 uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
3608 uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
3609 #endif
3610 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
3611 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
3612 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
3613 if (var1 == 0x01)
3614 {
3615 switch(var2)
3616 {
3617 case 0x00ul:
3618 return false;
3619 case 0x01ul:
3620 return false;
3621 case 0x02ul:
3622 return true;
3623 case 0x03ul:
3624 return false;
3625 case 0x04ul:
3626 return true;
3627 case 0x07ul:
3628 return true;
3629 case 0x08ul:
3630 return true;
3631 case 0x09ul:
3632 return true;
3633 case 0x0Aul:
3634 return true;
3635 case 0x0Bul:
3636 return true;
3637 case 0x0Cul:
3638 return true;
3639 case 0x0Dul:
3640 return true;
3641 default:
3642 return true;
3643 }
3644 }
3645 #endif
3646 return false;
3647 #endif
3648 }
3649
nrf51_errata_76(void)3650 static bool nrf51_errata_76(void)
3651 {
3652 #ifndef NRF51_SERIES
3653 return false;
3654 #else
3655 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
3656 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
3657 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
3658 uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
3659 uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
3660 #endif
3661 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
3662 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
3663 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
3664 if (var1 == 0x01)
3665 {
3666 switch(var2)
3667 {
3668 case 0x00ul:
3669 return false;
3670 case 0x01ul:
3671 return false;
3672 case 0x02ul:
3673 return false;
3674 case 0x03ul:
3675 return false;
3676 case 0x04ul:
3677 return false;
3678 case 0x07ul:
3679 return false;
3680 case 0x08ul:
3681 return false;
3682 case 0x09ul:
3683 return false;
3684 case 0x0Aul:
3685 return true;
3686 case 0x0Bul:
3687 return false;
3688 case 0x0Cul:
3689 return false;
3690 case 0x0Dul:
3691 return true;
3692 default:
3693 return true;
3694 }
3695 }
3696 #endif
3697 return false;
3698 #endif
3699 }
3700
nrf51_errata_77(void)3701 static bool nrf51_errata_77(void)
3702 {
3703 #ifndef NRF51_SERIES
3704 return false;
3705 #else
3706 return false;
3707 #endif
3708 }
3709
nrf51_errata_78(void)3710 static bool nrf51_errata_78(void)
3711 {
3712 #ifndef NRF51_SERIES
3713 return false;
3714 #else
3715 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
3716 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
3717 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
3718 uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
3719 uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
3720 #endif
3721 #if defined (NRF51422_XXAA) || defined (DEVELOP_IN_NRF51422)\
3722 || defined (NRF51422_XXAB) || defined (DEVELOP_IN_NRF51422)\
3723 || defined (NRF51422_XXAC) || defined (DEVELOP_IN_NRF51422)
3724 if (var1 == 0x01)
3725 {
3726 switch(var2)
3727 {
3728 case 0x00ul:
3729 return false;
3730 case 0x01ul:
3731 return false;
3732 case 0x02ul:
3733 return true;
3734 case 0x03ul:
3735 return false;
3736 case 0x04ul:
3737 return true;
3738 case 0x07ul:
3739 return true;
3740 case 0x08ul:
3741 return true;
3742 case 0x09ul:
3743 return true;
3744 case 0x0Aul:
3745 return false;
3746 case 0x0Bul:
3747 return true;
3748 case 0x0Cul:
3749 return true;
3750 case 0x0Dul:
3751 return false;
3752 default:
3753 return false;
3754 }
3755 }
3756 #endif
3757 return false;
3758 #endif
3759 }
3760
3761 #endif /* NRF51_ERRATAS_H */
3762