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