nrf52_erratas.h 283 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265
  1. #ifndef NRF52_ERRATAS_H
  2. #define NRF52_ERRATAS_H
  3. /*
  4. Copyright (c) 2010 - 2020, Nordic Semiconductor ASA
  5. All rights reserved.
  6. Redistribution and use in source and binary forms, with or without modification,
  7. are permitted provided that the following conditions are met:
  8. 1. Redistributions of source code must retain the above copyright notice, this
  9. list of conditions and the following disclaimer.
  10. 2. Redistributions in binary form, except as embedded into a Nordic
  11. Semiconductor ASA integrated circuit in a product or a software update for
  12. such product, must reproduce the above copyright notice, this list of
  13. conditions and the following disclaimer in the documentation and/or other
  14. materials provided with the distribution.
  15. 3. Neither the name of Nordic Semiconductor ASA nor the names of its
  16. contributors may be used to endorse or promote products derived from this
  17. software without specific prior written permission.
  18. 4. This software, with or without modification, must only be used with a
  19. Nordic Semiconductor ASA integrated circuit.
  20. 5. Any software provided in binary form under this license must not be reverse
  21. engineered, decompiled, modified and/or disassembled.
  22. THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS
  23. OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
  24. OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE
  25. 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 SUBSTITUTE
  28. GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  29. HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  30. LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
  31. OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  32. */
  33. #include <stdint.h>
  34. #include <stdbool.h>
  35. #include "compiler_abstraction.h"
  36. static bool nrf52_errata_1(void) __UNUSED;
  37. static bool nrf52_errata_2(void) __UNUSED;
  38. static bool nrf52_errata_3(void) __UNUSED;
  39. static bool nrf52_errata_4(void) __UNUSED;
  40. static bool nrf52_errata_7(void) __UNUSED;
  41. static bool nrf52_errata_8(void) __UNUSED;
  42. static bool nrf52_errata_9(void) __UNUSED;
  43. static bool nrf52_errata_10(void) __UNUSED;
  44. static bool nrf52_errata_11(void) __UNUSED;
  45. static bool nrf52_errata_12(void) __UNUSED;
  46. static bool nrf52_errata_15(void) __UNUSED;
  47. static bool nrf52_errata_16(void) __UNUSED;
  48. static bool nrf52_errata_17(void) __UNUSED;
  49. static bool nrf52_errata_20(void) __UNUSED;
  50. static bool nrf52_errata_23(void) __UNUSED;
  51. static bool nrf52_errata_24(void) __UNUSED;
  52. static bool nrf52_errata_25(void) __UNUSED;
  53. static bool nrf52_errata_26(void) __UNUSED;
  54. static bool nrf52_errata_27(void) __UNUSED;
  55. static bool nrf52_errata_28(void) __UNUSED;
  56. static bool nrf52_errata_29(void) __UNUSED;
  57. static bool nrf52_errata_30(void) __UNUSED;
  58. static bool nrf52_errata_31(void) __UNUSED;
  59. static bool nrf52_errata_32(void) __UNUSED;
  60. static bool nrf52_errata_33(void) __UNUSED;
  61. static bool nrf52_errata_34(void) __UNUSED;
  62. static bool nrf52_errata_35(void) __UNUSED;
  63. static bool nrf52_errata_36(void) __UNUSED;
  64. static bool nrf52_errata_37(void) __UNUSED;
  65. static bool nrf52_errata_38(void) __UNUSED;
  66. static bool nrf52_errata_39(void) __UNUSED;
  67. static bool nrf52_errata_40(void) __UNUSED;
  68. static bool nrf52_errata_41(void) __UNUSED;
  69. static bool nrf52_errata_42(void) __UNUSED;
  70. static bool nrf52_errata_43(void) __UNUSED;
  71. static bool nrf52_errata_44(void) __UNUSED;
  72. static bool nrf52_errata_46(void) __UNUSED;
  73. static bool nrf52_errata_47(void) __UNUSED;
  74. static bool nrf52_errata_48(void) __UNUSED;
  75. static bool nrf52_errata_49(void) __UNUSED;
  76. static bool nrf52_errata_51(void) __UNUSED;
  77. static bool nrf52_errata_54(void) __UNUSED;
  78. static bool nrf52_errata_55(void) __UNUSED;
  79. static bool nrf52_errata_57(void) __UNUSED;
  80. static bool nrf52_errata_58(void) __UNUSED;
  81. static bool nrf52_errata_62(void) __UNUSED;
  82. static bool nrf52_errata_63(void) __UNUSED;
  83. static bool nrf52_errata_64(void) __UNUSED;
  84. static bool nrf52_errata_65(void) __UNUSED;
  85. static bool nrf52_errata_66(void) __UNUSED;
  86. static bool nrf52_errata_67(void) __UNUSED;
  87. static bool nrf52_errata_68(void) __UNUSED;
  88. static bool nrf52_errata_70(void) __UNUSED;
  89. static bool nrf52_errata_71(void) __UNUSED;
  90. static bool nrf52_errata_72(void) __UNUSED;
  91. static bool nrf52_errata_73(void) __UNUSED;
  92. static bool nrf52_errata_74(void) __UNUSED;
  93. static bool nrf52_errata_75(void) __UNUSED;
  94. static bool nrf52_errata_76(void) __UNUSED;
  95. static bool nrf52_errata_77(void) __UNUSED;
  96. static bool nrf52_errata_78(void) __UNUSED;
  97. static bool nrf52_errata_79(void) __UNUSED;
  98. static bool nrf52_errata_81(void) __UNUSED;
  99. static bool nrf52_errata_83(void) __UNUSED;
  100. static bool nrf52_errata_84(void) __UNUSED;
  101. static bool nrf52_errata_86(void) __UNUSED;
  102. static bool nrf52_errata_87(void) __UNUSED;
  103. static bool nrf52_errata_88(void) __UNUSED;
  104. static bool nrf52_errata_89(void) __UNUSED;
  105. static bool nrf52_errata_91(void) __UNUSED;
  106. static bool nrf52_errata_94(void) __UNUSED;
  107. static bool nrf52_errata_96(void) __UNUSED;
  108. static bool nrf52_errata_97(void) __UNUSED;
  109. static bool nrf52_errata_98(void) __UNUSED;
  110. static bool nrf52_errata_101(void) __UNUSED;
  111. static bool nrf52_errata_102(void) __UNUSED;
  112. static bool nrf52_errata_103(void) __UNUSED;
  113. static bool nrf52_errata_104(void) __UNUSED;
  114. static bool nrf52_errata_106(void) __UNUSED;
  115. static bool nrf52_errata_107(void) __UNUSED;
  116. static bool nrf52_errata_108(void) __UNUSED;
  117. static bool nrf52_errata_109(void) __UNUSED;
  118. static bool nrf52_errata_110(void) __UNUSED;
  119. static bool nrf52_errata_111(void) __UNUSED;
  120. static bool nrf52_errata_112(void) __UNUSED;
  121. static bool nrf52_errata_113(void) __UNUSED;
  122. static bool nrf52_errata_115(void) __UNUSED;
  123. static bool nrf52_errata_116(void) __UNUSED;
  124. static bool nrf52_errata_117(void) __UNUSED;
  125. static bool nrf52_errata_118(void) __UNUSED;
  126. static bool nrf52_errata_119(void) __UNUSED;
  127. static bool nrf52_errata_120(void) __UNUSED;
  128. static bool nrf52_errata_121(void) __UNUSED;
  129. static bool nrf52_errata_122(void) __UNUSED;
  130. static bool nrf52_errata_127(void) __UNUSED;
  131. static bool nrf52_errata_128(void) __UNUSED;
  132. static bool nrf52_errata_131(void) __UNUSED;
  133. static bool nrf52_errata_132(void) __UNUSED;
  134. static bool nrf52_errata_133(void) __UNUSED;
  135. static bool nrf52_errata_134(void) __UNUSED;
  136. static bool nrf52_errata_135(void) __UNUSED;
  137. static bool nrf52_errata_136(void) __UNUSED;
  138. static bool nrf52_errata_138(void) __UNUSED;
  139. static bool nrf52_errata_140(void) __UNUSED;
  140. static bool nrf52_errata_141(void) __UNUSED;
  141. static bool nrf52_errata_142(void) __UNUSED;
  142. static bool nrf52_errata_143(void) __UNUSED;
  143. static bool nrf52_errata_144(void) __UNUSED;
  144. static bool nrf52_errata_145(void) __UNUSED;
  145. static bool nrf52_errata_146(void) __UNUSED;
  146. static bool nrf52_errata_147(void) __UNUSED;
  147. static bool nrf52_errata_149(void) __UNUSED;
  148. static bool nrf52_errata_150(void) __UNUSED;
  149. static bool nrf52_errata_151(void) __UNUSED;
  150. static bool nrf52_errata_153(void) __UNUSED;
  151. static bool nrf52_errata_154(void) __UNUSED;
  152. static bool nrf52_errata_155(void) __UNUSED;
  153. static bool nrf52_errata_156(void) __UNUSED;
  154. static bool nrf52_errata_158(void) __UNUSED;
  155. static bool nrf52_errata_160(void) __UNUSED;
  156. static bool nrf52_errata_162(void) __UNUSED;
  157. static bool nrf52_errata_163(void) __UNUSED;
  158. static bool nrf52_errata_164(void) __UNUSED;
  159. static bool nrf52_errata_166(void) __UNUSED;
  160. static bool nrf52_errata_170(void) __UNUSED;
  161. static bool nrf52_errata_171(void) __UNUSED;
  162. static bool nrf52_errata_172(void) __UNUSED;
  163. static bool nrf52_errata_173(void) __UNUSED;
  164. static bool nrf52_errata_174(void) __UNUSED;
  165. static bool nrf52_errata_176(void) __UNUSED;
  166. static bool nrf52_errata_178(void) __UNUSED;
  167. static bool nrf52_errata_179(void) __UNUSED;
  168. static bool nrf52_errata_180(void) __UNUSED;
  169. static bool nrf52_errata_181(void) __UNUSED;
  170. static bool nrf52_errata_182(void) __UNUSED;
  171. static bool nrf52_errata_183(void) __UNUSED;
  172. static bool nrf52_errata_184(void) __UNUSED;
  173. static bool nrf52_errata_186(void) __UNUSED;
  174. static bool nrf52_errata_187(void) __UNUSED;
  175. static bool nrf52_errata_189(void) __UNUSED;
  176. static bool nrf52_errata_190(void) __UNUSED;
  177. static bool nrf52_errata_191(void) __UNUSED;
  178. static bool nrf52_errata_192(void) __UNUSED;
  179. static bool nrf52_errata_193(void) __UNUSED;
  180. static bool nrf52_errata_194(void) __UNUSED;
  181. static bool nrf52_errata_195(void) __UNUSED;
  182. static bool nrf52_errata_196(void) __UNUSED;
  183. static bool nrf52_errata_197(void) __UNUSED;
  184. static bool nrf52_errata_198(void) __UNUSED;
  185. static bool nrf52_errata_199(void) __UNUSED;
  186. static bool nrf52_errata_200(void) __UNUSED;
  187. static bool nrf52_errata_201(void) __UNUSED;
  188. static bool nrf52_errata_202(void) __UNUSED;
  189. static bool nrf52_errata_204(void) __UNUSED;
  190. static bool nrf52_errata_208(void) __UNUSED;
  191. static bool nrf52_errata_209(void) __UNUSED;
  192. static bool nrf52_errata_210(void) __UNUSED;
  193. static bool nrf52_errata_211(void) __UNUSED;
  194. static bool nrf52_errata_212(void) __UNUSED;
  195. static bool nrf52_errata_213(void) __UNUSED;
  196. static bool nrf52_errata_214(void) __UNUSED;
  197. static bool nrf52_errata_215(void) __UNUSED;
  198. static bool nrf52_errata_216(void) __UNUSED;
  199. static bool nrf52_errata_217(void) __UNUSED;
  200. static bool nrf52_errata_218(void) __UNUSED;
  201. static bool nrf52_errata_219(void) __UNUSED;
  202. static bool nrf52_errata_220(void) __UNUSED;
  203. static bool nrf52_errata_223(void) __UNUSED;
  204. static bool nrf52_errata_225(void) __UNUSED;
  205. static bool nrf52_errata_228(void) __UNUSED;
  206. static bool nrf52_errata_230(void) __UNUSED;
  207. static bool nrf52_errata_231(void) __UNUSED;
  208. static bool nrf52_errata_232(void) __UNUSED;
  209. static bool nrf52_errata_233(void) __UNUSED;
  210. static bool nrf52_errata_236(void) __UNUSED;
  211. static bool nrf52_errata_237(void) __UNUSED;
  212. static bool nrf52_errata_248(void) __UNUSED;
  213. static bool nrf52_errata_1(void)
  214. {
  215. #ifndef NRF52_SERIES
  216. return false;
  217. #else
  218. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  219. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  220. uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  221. uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  222. #endif
  223. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  224. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  225. if (var1 == 0x06)
  226. {
  227. switch(var2)
  228. {
  229. case 0x03ul:
  230. return true;
  231. case 0x04ul:
  232. return false;
  233. case 0x05ul:
  234. return false;
  235. case 0x06ul:
  236. return false;
  237. default:
  238. return false;
  239. }
  240. }
  241. #endif
  242. return false;
  243. #endif
  244. }
  245. static bool nrf52_errata_2(void)
  246. {
  247. #ifndef NRF52_SERIES
  248. return false;
  249. #else
  250. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  251. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  252. uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  253. uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  254. #endif
  255. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  256. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  257. if (var1 == 0x06)
  258. {
  259. switch(var2)
  260. {
  261. case 0x03ul:
  262. return true;
  263. case 0x04ul:
  264. return false;
  265. case 0x05ul:
  266. return false;
  267. case 0x06ul:
  268. return false;
  269. default:
  270. return false;
  271. }
  272. }
  273. #endif
  274. return false;
  275. #endif
  276. }
  277. static bool nrf52_errata_3(void)
  278. {
  279. #ifndef NRF52_SERIES
  280. return false;
  281. #else
  282. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  283. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  284. uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  285. uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  286. #endif
  287. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  288. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  289. if (var1 == 0x06)
  290. {
  291. switch(var2)
  292. {
  293. case 0x03ul:
  294. return true;
  295. case 0x04ul:
  296. return false;
  297. case 0x05ul:
  298. return false;
  299. case 0x06ul:
  300. return false;
  301. default:
  302. return false;
  303. }
  304. }
  305. #endif
  306. return false;
  307. #endif
  308. }
  309. static bool nrf52_errata_4(void)
  310. {
  311. #ifndef NRF52_SERIES
  312. return false;
  313. #else
  314. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  315. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  316. uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  317. uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  318. #endif
  319. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  320. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  321. if (var1 == 0x06)
  322. {
  323. switch(var2)
  324. {
  325. case 0x03ul:
  326. return true;
  327. case 0x04ul:
  328. return false;
  329. case 0x05ul:
  330. return false;
  331. case 0x06ul:
  332. return false;
  333. default:
  334. return false;
  335. }
  336. }
  337. #endif
  338. return false;
  339. #endif
  340. }
  341. static bool nrf52_errata_7(void)
  342. {
  343. #ifndef NRF52_SERIES
  344. return false;
  345. #else
  346. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  347. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  348. uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  349. uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  350. #endif
  351. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  352. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  353. if (var1 == 0x06)
  354. {
  355. switch(var2)
  356. {
  357. case 0x03ul:
  358. return true;
  359. case 0x04ul:
  360. return false;
  361. case 0x05ul:
  362. return false;
  363. case 0x06ul:
  364. return false;
  365. default:
  366. return false;
  367. }
  368. }
  369. #endif
  370. return false;
  371. #endif
  372. }
  373. static bool nrf52_errata_8(void)
  374. {
  375. #ifndef NRF52_SERIES
  376. return false;
  377. #else
  378. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  379. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  380. uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  381. uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  382. #endif
  383. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  384. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  385. if (var1 == 0x06)
  386. {
  387. switch(var2)
  388. {
  389. case 0x03ul:
  390. return true;
  391. case 0x04ul:
  392. return false;
  393. case 0x05ul:
  394. return false;
  395. case 0x06ul:
  396. return false;
  397. default:
  398. return false;
  399. }
  400. }
  401. #endif
  402. return false;
  403. #endif
  404. }
  405. static bool nrf52_errata_9(void)
  406. {
  407. #ifndef NRF52_SERIES
  408. return false;
  409. #else
  410. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  411. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  412. uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  413. uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  414. #endif
  415. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  416. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  417. if (var1 == 0x06)
  418. {
  419. switch(var2)
  420. {
  421. case 0x03ul:
  422. return true;
  423. case 0x04ul:
  424. return false;
  425. case 0x05ul:
  426. return false;
  427. case 0x06ul:
  428. return false;
  429. default:
  430. return false;
  431. }
  432. }
  433. #endif
  434. return false;
  435. #endif
  436. }
  437. static bool nrf52_errata_10(void)
  438. {
  439. #ifndef NRF52_SERIES
  440. return false;
  441. #else
  442. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  443. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  444. uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  445. uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  446. #endif
  447. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  448. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  449. if (var1 == 0x06)
  450. {
  451. switch(var2)
  452. {
  453. case 0x03ul:
  454. return true;
  455. case 0x04ul:
  456. return false;
  457. case 0x05ul:
  458. return false;
  459. case 0x06ul:
  460. return false;
  461. default:
  462. return false;
  463. }
  464. }
  465. #endif
  466. return false;
  467. #endif
  468. }
  469. static bool nrf52_errata_11(void)
  470. {
  471. #ifndef NRF52_SERIES
  472. return false;
  473. #else
  474. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  475. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  476. uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  477. uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  478. #endif
  479. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  480. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  481. if (var1 == 0x06)
  482. {
  483. switch(var2)
  484. {
  485. case 0x03ul:
  486. return true;
  487. case 0x04ul:
  488. return false;
  489. case 0x05ul:
  490. return false;
  491. case 0x06ul:
  492. return false;
  493. default:
  494. return false;
  495. }
  496. }
  497. #endif
  498. return false;
  499. #endif
  500. }
  501. static bool nrf52_errata_12(void)
  502. {
  503. #ifndef NRF52_SERIES
  504. return false;
  505. #else
  506. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  507. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  508. uint32_t var1;
  509. uint32_t var2;
  510. if (*(uint32_t *)0x10000130ul == 0xFFFFFFFF)
  511. {
  512. var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  513. var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  514. }
  515. else
  516. {
  517. var1 = *(uint32_t *)0x10000130ul;
  518. var2 = *(uint32_t *)0x10000134ul;
  519. }
  520. #endif
  521. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  522. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  523. if (var1 == 0x06)
  524. {
  525. switch(var2)
  526. {
  527. case 0x03ul:
  528. return true;
  529. case 0x04ul:
  530. return true;
  531. case 0x05ul:
  532. return true;
  533. case 0x06ul:
  534. return true;
  535. default:
  536. return true;
  537. }
  538. }
  539. #endif
  540. return false;
  541. #endif
  542. }
  543. static bool nrf52_errata_15(void)
  544. {
  545. #ifndef NRF52_SERIES
  546. return false;
  547. #else
  548. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  549. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  550. uint32_t var1;
  551. uint32_t var2;
  552. if (*(uint32_t *)0x10000130ul == 0xFFFFFFFF)
  553. {
  554. var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  555. var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  556. }
  557. else
  558. {
  559. var1 = *(uint32_t *)0x10000130ul;
  560. var2 = *(uint32_t *)0x10000134ul;
  561. }
  562. #elif defined (NRF52805_XXAA) || defined (DEVELOP_IN_NRF52805)\
  563. || defined (NRF52810_XXAA) || defined (DEVELOP_IN_NRF52810)\
  564. || defined (NRF52811_XXAA) || defined (DEVELOP_IN_NRF52811)\
  565. || defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  566. uint32_t var1 = *(uint32_t *)0x10000130ul;
  567. uint32_t var2 = *(uint32_t *)0x10000134ul;
  568. #endif
  569. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  570. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  571. if (var1 == 0x06)
  572. {
  573. switch(var2)
  574. {
  575. case 0x03ul:
  576. return true;
  577. case 0x04ul:
  578. return true;
  579. case 0x05ul:
  580. return true;
  581. case 0x06ul:
  582. return true;
  583. default:
  584. return true;
  585. }
  586. }
  587. #endif
  588. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  589. if (var1 == 0x08)
  590. {
  591. switch(var2)
  592. {
  593. case 0x00ul:
  594. return true;
  595. case 0x01ul:
  596. return false;
  597. case 0x02ul:
  598. return false;
  599. case 0x03ul:
  600. return false;
  601. default:
  602. return false;
  603. }
  604. }
  605. #endif
  606. #if defined (NRF52810_XXAA) || defined (DEVELOP_IN_NRF52810)
  607. if (var1 == 0x0A)
  608. {
  609. switch(var2)
  610. {
  611. case 0x00ul:
  612. return true;
  613. case 0x01ul:
  614. return true;
  615. default:
  616. return true;
  617. }
  618. }
  619. #endif
  620. #if defined (NRF52811_XXAA) || defined (DEVELOP_IN_NRF52811)
  621. if (var1 == 0x0E)
  622. {
  623. switch(var2)
  624. {
  625. case 0x00ul:
  626. return true;
  627. default:
  628. return true;
  629. }
  630. }
  631. #endif
  632. #if defined (NRF52805_XXAA) || defined (DEVELOP_IN_NRF52805)
  633. if (var1 == 0x0F)
  634. {
  635. switch(var2)
  636. {
  637. case 0x00ul:
  638. return true;
  639. default:
  640. return true;
  641. }
  642. }
  643. #endif
  644. return false;
  645. #endif
  646. }
  647. static bool nrf52_errata_16(void)
  648. {
  649. #ifndef NRF52_SERIES
  650. return false;
  651. #else
  652. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  653. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  654. uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  655. uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  656. #endif
  657. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  658. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  659. if (var1 == 0x06)
  660. {
  661. switch(var2)
  662. {
  663. case 0x03ul:
  664. return true;
  665. case 0x04ul:
  666. return false;
  667. case 0x05ul:
  668. return false;
  669. case 0x06ul:
  670. return false;
  671. default:
  672. return false;
  673. }
  674. }
  675. #endif
  676. return false;
  677. #endif
  678. }
  679. static bool nrf52_errata_17(void)
  680. {
  681. #ifndef NRF52_SERIES
  682. return false;
  683. #else
  684. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  685. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  686. uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  687. uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  688. #endif
  689. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  690. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  691. if (var1 == 0x06)
  692. {
  693. switch(var2)
  694. {
  695. case 0x03ul:
  696. return true;
  697. case 0x04ul:
  698. return false;
  699. case 0x05ul:
  700. return false;
  701. case 0x06ul:
  702. return false;
  703. default:
  704. return false;
  705. }
  706. }
  707. #endif
  708. return false;
  709. #endif
  710. }
  711. static bool nrf52_errata_20(void)
  712. {
  713. #ifndef NRF52_SERIES
  714. return false;
  715. #else
  716. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  717. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  718. uint32_t var1;
  719. uint32_t var2;
  720. if (*(uint32_t *)0x10000130ul == 0xFFFFFFFF)
  721. {
  722. var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  723. var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  724. }
  725. else
  726. {
  727. var1 = *(uint32_t *)0x10000130ul;
  728. var2 = *(uint32_t *)0x10000134ul;
  729. }
  730. #elif defined (NRF52805_XXAA) || defined (DEVELOP_IN_NRF52805)\
  731. || defined (NRF52810_XXAA) || defined (DEVELOP_IN_NRF52810)\
  732. || defined (NRF52811_XXAA) || defined (DEVELOP_IN_NRF52811)\
  733. || defined (NRF52820_XXAA) || defined (DEVELOP_IN_NRF52820)\
  734. || defined (NRF52833_XXAA) || defined (DEVELOP_IN_NRF52833)\
  735. || defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  736. uint32_t var1 = *(uint32_t *)0x10000130ul;
  737. uint32_t var2 = *(uint32_t *)0x10000134ul;
  738. #endif
  739. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  740. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  741. if (var1 == 0x06)
  742. {
  743. switch(var2)
  744. {
  745. case 0x03ul:
  746. return true;
  747. case 0x04ul:
  748. return true;
  749. case 0x05ul:
  750. return true;
  751. case 0x06ul:
  752. return true;
  753. default:
  754. return true;
  755. }
  756. }
  757. #endif
  758. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  759. if (var1 == 0x08)
  760. {
  761. switch(var2)
  762. {
  763. case 0x00ul:
  764. return true;
  765. case 0x01ul:
  766. return true;
  767. case 0x02ul:
  768. return true;
  769. case 0x03ul:
  770. return true;
  771. default:
  772. return true;
  773. }
  774. }
  775. #endif
  776. #if defined (NRF52810_XXAA) || defined (DEVELOP_IN_NRF52810)
  777. if (var1 == 0x0A)
  778. {
  779. switch(var2)
  780. {
  781. case 0x00ul:
  782. return true;
  783. case 0x01ul:
  784. return true;
  785. default:
  786. return true;
  787. }
  788. }
  789. #endif
  790. #if defined (NRF52833_XXAA) || defined (DEVELOP_IN_NRF52833)
  791. if (var1 == 0x0D)
  792. {
  793. switch(var2)
  794. {
  795. case 0x00ul:
  796. return true;
  797. case 0x01ul:
  798. return true;
  799. default:
  800. return true;
  801. }
  802. }
  803. #endif
  804. #if defined (NRF52811_XXAA) || defined (DEVELOP_IN_NRF52811)
  805. if (var1 == 0x0E)
  806. {
  807. switch(var2)
  808. {
  809. case 0x00ul:
  810. return true;
  811. default:
  812. return true;
  813. }
  814. }
  815. #endif
  816. #if defined (NRF52805_XXAA) || defined (DEVELOP_IN_NRF52805)
  817. if (var1 == 0x0F)
  818. {
  819. switch(var2)
  820. {
  821. case 0x00ul:
  822. return true;
  823. default:
  824. return true;
  825. }
  826. }
  827. #endif
  828. #if defined (NRF52820_XXAA) || defined (DEVELOP_IN_NRF52820)
  829. if (var1 == 0x10)
  830. {
  831. switch(var2)
  832. {
  833. case 0x00ul:
  834. return true;
  835. case 0x01ul:
  836. return true;
  837. case 0x02ul:
  838. return true;
  839. default:
  840. return true;
  841. }
  842. }
  843. #endif
  844. return false;
  845. #endif
  846. }
  847. static bool nrf52_errata_23(void)
  848. {
  849. #ifndef NRF52_SERIES
  850. return false;
  851. #else
  852. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  853. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  854. uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  855. uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  856. #endif
  857. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  858. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  859. if (var1 == 0x06)
  860. {
  861. switch(var2)
  862. {
  863. case 0x03ul:
  864. return true;
  865. case 0x04ul:
  866. return false;
  867. case 0x05ul:
  868. return false;
  869. case 0x06ul:
  870. return false;
  871. default:
  872. return false;
  873. }
  874. }
  875. #endif
  876. return false;
  877. #endif
  878. }
  879. static bool nrf52_errata_24(void)
  880. {
  881. #ifndef NRF52_SERIES
  882. return false;
  883. #else
  884. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  885. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  886. uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  887. uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  888. #endif
  889. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  890. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  891. if (var1 == 0x06)
  892. {
  893. switch(var2)
  894. {
  895. case 0x03ul:
  896. return true;
  897. case 0x04ul:
  898. return false;
  899. case 0x05ul:
  900. return false;
  901. case 0x06ul:
  902. return false;
  903. default:
  904. return false;
  905. }
  906. }
  907. #endif
  908. return false;
  909. #endif
  910. }
  911. static bool nrf52_errata_25(void)
  912. {
  913. #ifndef NRF52_SERIES
  914. return false;
  915. #else
  916. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  917. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  918. uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  919. uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  920. #endif
  921. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  922. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  923. if (var1 == 0x06)
  924. {
  925. switch(var2)
  926. {
  927. case 0x03ul:
  928. return true;
  929. case 0x04ul:
  930. return false;
  931. case 0x05ul:
  932. return false;
  933. case 0x06ul:
  934. return false;
  935. default:
  936. return false;
  937. }
  938. }
  939. #endif
  940. return false;
  941. #endif
  942. }
  943. static bool nrf52_errata_26(void)
  944. {
  945. #ifndef NRF52_SERIES
  946. return false;
  947. #else
  948. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  949. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  950. uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  951. uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  952. #endif
  953. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  954. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  955. if (var1 == 0x06)
  956. {
  957. switch(var2)
  958. {
  959. case 0x03ul:
  960. return true;
  961. case 0x04ul:
  962. return false;
  963. case 0x05ul:
  964. return false;
  965. case 0x06ul:
  966. return false;
  967. default:
  968. return false;
  969. }
  970. }
  971. #endif
  972. return false;
  973. #endif
  974. }
  975. static bool nrf52_errata_27(void)
  976. {
  977. #ifndef NRF52_SERIES
  978. return false;
  979. #else
  980. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  981. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  982. uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  983. uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  984. #endif
  985. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  986. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  987. if (var1 == 0x06)
  988. {
  989. switch(var2)
  990. {
  991. case 0x03ul:
  992. return true;
  993. case 0x04ul:
  994. return false;
  995. case 0x05ul:
  996. return false;
  997. case 0x06ul:
  998. return false;
  999. default:
  1000. return false;
  1001. }
  1002. }
  1003. #endif
  1004. return false;
  1005. #endif
  1006. }
  1007. static bool nrf52_errata_28(void)
  1008. {
  1009. #ifndef NRF52_SERIES
  1010. return false;
  1011. #else
  1012. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  1013. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  1014. uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  1015. uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  1016. #endif
  1017. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  1018. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  1019. if (var1 == 0x06)
  1020. {
  1021. switch(var2)
  1022. {
  1023. case 0x03ul:
  1024. return true;
  1025. case 0x04ul:
  1026. return false;
  1027. case 0x05ul:
  1028. return false;
  1029. case 0x06ul:
  1030. return false;
  1031. default:
  1032. return false;
  1033. }
  1034. }
  1035. #endif
  1036. return false;
  1037. #endif
  1038. }
  1039. static bool nrf52_errata_29(void)
  1040. {
  1041. #ifndef NRF52_SERIES
  1042. return false;
  1043. #else
  1044. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  1045. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  1046. uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  1047. uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  1048. #endif
  1049. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  1050. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  1051. if (var1 == 0x06)
  1052. {
  1053. switch(var2)
  1054. {
  1055. case 0x03ul:
  1056. return true;
  1057. case 0x04ul:
  1058. return false;
  1059. case 0x05ul:
  1060. return false;
  1061. case 0x06ul:
  1062. return false;
  1063. default:
  1064. return false;
  1065. }
  1066. }
  1067. #endif
  1068. return false;
  1069. #endif
  1070. }
  1071. static bool nrf52_errata_30(void)
  1072. {
  1073. #ifndef NRF52_SERIES
  1074. return false;
  1075. #else
  1076. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  1077. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  1078. uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  1079. uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  1080. #endif
  1081. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  1082. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  1083. if (var1 == 0x06)
  1084. {
  1085. switch(var2)
  1086. {
  1087. case 0x03ul:
  1088. return true;
  1089. case 0x04ul:
  1090. return false;
  1091. case 0x05ul:
  1092. return false;
  1093. case 0x06ul:
  1094. return false;
  1095. default:
  1096. return false;
  1097. }
  1098. }
  1099. #endif
  1100. return false;
  1101. #endif
  1102. }
  1103. static bool nrf52_errata_31(void)
  1104. {
  1105. #ifndef NRF52_SERIES
  1106. return false;
  1107. #else
  1108. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  1109. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  1110. uint32_t var1;
  1111. uint32_t var2;
  1112. if (*(uint32_t *)0x10000130ul == 0xFFFFFFFF)
  1113. {
  1114. var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  1115. var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  1116. }
  1117. else
  1118. {
  1119. var1 = *(uint32_t *)0x10000130ul;
  1120. var2 = *(uint32_t *)0x10000134ul;
  1121. }
  1122. #elif defined (NRF52805_XXAA) || defined (DEVELOP_IN_NRF52805)\
  1123. || defined (NRF52810_XXAA) || defined (DEVELOP_IN_NRF52810)\
  1124. || defined (NRF52811_XXAA) || defined (DEVELOP_IN_NRF52811)
  1125. uint32_t var1 = *(uint32_t *)0x10000130ul;
  1126. uint32_t var2 = *(uint32_t *)0x10000134ul;
  1127. #endif
  1128. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  1129. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  1130. if (var1 == 0x06)
  1131. {
  1132. switch(var2)
  1133. {
  1134. case 0x03ul:
  1135. return true;
  1136. case 0x04ul:
  1137. return true;
  1138. case 0x05ul:
  1139. return true;
  1140. case 0x06ul:
  1141. return true;
  1142. default:
  1143. return true;
  1144. }
  1145. }
  1146. #endif
  1147. #if defined (NRF52810_XXAA) || defined (DEVELOP_IN_NRF52810)
  1148. if (var1 == 0x0A)
  1149. {
  1150. switch(var2)
  1151. {
  1152. case 0x00ul:
  1153. return true;
  1154. case 0x01ul:
  1155. return true;
  1156. default:
  1157. return true;
  1158. }
  1159. }
  1160. #endif
  1161. #if defined (NRF52811_XXAA) || defined (DEVELOP_IN_NRF52811)
  1162. if (var1 == 0x0E)
  1163. {
  1164. switch(var2)
  1165. {
  1166. case 0x00ul:
  1167. return true;
  1168. default:
  1169. return true;
  1170. }
  1171. }
  1172. #endif
  1173. #if defined (NRF52805_XXAA) || defined (DEVELOP_IN_NRF52805)
  1174. if (var1 == 0x0F)
  1175. {
  1176. switch(var2)
  1177. {
  1178. case 0x00ul:
  1179. return true;
  1180. default:
  1181. return true;
  1182. }
  1183. }
  1184. #endif
  1185. return false;
  1186. #endif
  1187. }
  1188. static bool nrf52_errata_32(void)
  1189. {
  1190. #ifndef NRF52_SERIES
  1191. return false;
  1192. #else
  1193. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  1194. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  1195. uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  1196. uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  1197. #endif
  1198. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  1199. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  1200. if (var1 == 0x06)
  1201. {
  1202. switch(var2)
  1203. {
  1204. case 0x03ul:
  1205. return true;
  1206. case 0x04ul:
  1207. return false;
  1208. case 0x05ul:
  1209. return false;
  1210. case 0x06ul:
  1211. return false;
  1212. default:
  1213. return false;
  1214. }
  1215. }
  1216. #endif
  1217. return false;
  1218. #endif
  1219. }
  1220. static bool nrf52_errata_33(void)
  1221. {
  1222. #ifndef NRF52_SERIES
  1223. return false;
  1224. #else
  1225. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  1226. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  1227. uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  1228. uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  1229. #endif
  1230. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  1231. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  1232. if (var1 == 0x06)
  1233. {
  1234. switch(var2)
  1235. {
  1236. case 0x03ul:
  1237. return true;
  1238. case 0x04ul:
  1239. return false;
  1240. case 0x05ul:
  1241. return false;
  1242. case 0x06ul:
  1243. return false;
  1244. default:
  1245. return false;
  1246. }
  1247. }
  1248. #endif
  1249. return false;
  1250. #endif
  1251. }
  1252. static bool nrf52_errata_34(void)
  1253. {
  1254. #ifndef NRF52_SERIES
  1255. return false;
  1256. #else
  1257. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  1258. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  1259. uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  1260. uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  1261. #endif
  1262. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  1263. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  1264. if (var1 == 0x06)
  1265. {
  1266. switch(var2)
  1267. {
  1268. case 0x03ul:
  1269. return true;
  1270. case 0x04ul:
  1271. return false;
  1272. case 0x05ul:
  1273. return false;
  1274. case 0x06ul:
  1275. return false;
  1276. default:
  1277. return false;
  1278. }
  1279. }
  1280. #endif
  1281. return false;
  1282. #endif
  1283. }
  1284. static bool nrf52_errata_35(void)
  1285. {
  1286. #ifndef NRF52_SERIES
  1287. return false;
  1288. #else
  1289. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  1290. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  1291. uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  1292. uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  1293. #endif
  1294. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  1295. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  1296. if (var1 == 0x06)
  1297. {
  1298. switch(var2)
  1299. {
  1300. case 0x03ul:
  1301. return true;
  1302. case 0x04ul:
  1303. return false;
  1304. case 0x05ul:
  1305. return false;
  1306. case 0x06ul:
  1307. return false;
  1308. default:
  1309. return false;
  1310. }
  1311. }
  1312. #endif
  1313. return false;
  1314. #endif
  1315. }
  1316. static bool nrf52_errata_36(void)
  1317. {
  1318. #ifndef NRF52_SERIES
  1319. return false;
  1320. #else
  1321. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  1322. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  1323. uint32_t var1;
  1324. uint32_t var2;
  1325. if (*(uint32_t *)0x10000130ul == 0xFFFFFFFF)
  1326. {
  1327. var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  1328. var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  1329. }
  1330. else
  1331. {
  1332. var1 = *(uint32_t *)0x10000130ul;
  1333. var2 = *(uint32_t *)0x10000134ul;
  1334. }
  1335. #elif defined (NRF52805_XXAA) || defined (DEVELOP_IN_NRF52805)\
  1336. || defined (NRF52810_XXAA) || defined (DEVELOP_IN_NRF52810)\
  1337. || defined (NRF52811_XXAA) || defined (DEVELOP_IN_NRF52811)\
  1338. || defined (NRF52820_XXAA) || defined (DEVELOP_IN_NRF52820)\
  1339. || defined (NRF52833_XXAA) || defined (DEVELOP_IN_NRF52833)\
  1340. || defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  1341. uint32_t var1 = *(uint32_t *)0x10000130ul;
  1342. uint32_t var2 = *(uint32_t *)0x10000134ul;
  1343. #endif
  1344. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  1345. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  1346. if (var1 == 0x06)
  1347. {
  1348. switch(var2)
  1349. {
  1350. case 0x03ul:
  1351. return true;
  1352. case 0x04ul:
  1353. return true;
  1354. case 0x05ul:
  1355. return true;
  1356. case 0x06ul:
  1357. return true;
  1358. default:
  1359. return true;
  1360. }
  1361. }
  1362. #endif
  1363. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  1364. if (var1 == 0x08)
  1365. {
  1366. switch(var2)
  1367. {
  1368. case 0x00ul:
  1369. return true;
  1370. case 0x01ul:
  1371. return true;
  1372. case 0x02ul:
  1373. return true;
  1374. case 0x03ul:
  1375. return true;
  1376. default:
  1377. return true;
  1378. }
  1379. }
  1380. #endif
  1381. #if defined (NRF52810_XXAA) || defined (DEVELOP_IN_NRF52810)
  1382. if (var1 == 0x0A)
  1383. {
  1384. switch(var2)
  1385. {
  1386. case 0x00ul:
  1387. return true;
  1388. case 0x01ul:
  1389. return true;
  1390. default:
  1391. return true;
  1392. }
  1393. }
  1394. #endif
  1395. #if defined (NRF52833_XXAA) || defined (DEVELOP_IN_NRF52833)
  1396. if (var1 == 0x0D)
  1397. {
  1398. switch(var2)
  1399. {
  1400. case 0x00ul:
  1401. return true;
  1402. case 0x01ul:
  1403. return true;
  1404. default:
  1405. return true;
  1406. }
  1407. }
  1408. #endif
  1409. #if defined (NRF52811_XXAA) || defined (DEVELOP_IN_NRF52811)
  1410. if (var1 == 0x0E)
  1411. {
  1412. switch(var2)
  1413. {
  1414. case 0x00ul:
  1415. return true;
  1416. default:
  1417. return true;
  1418. }
  1419. }
  1420. #endif
  1421. #if defined (NRF52805_XXAA) || defined (DEVELOP_IN_NRF52805)
  1422. if (var1 == 0x0F)
  1423. {
  1424. switch(var2)
  1425. {
  1426. case 0x00ul:
  1427. return true;
  1428. default:
  1429. return true;
  1430. }
  1431. }
  1432. #endif
  1433. #if defined (NRF52820_XXAA) || defined (DEVELOP_IN_NRF52820)
  1434. if (var1 == 0x10)
  1435. {
  1436. switch(var2)
  1437. {
  1438. case 0x00ul:
  1439. return true;
  1440. case 0x01ul:
  1441. return true;
  1442. case 0x02ul:
  1443. return true;
  1444. default:
  1445. return true;
  1446. }
  1447. }
  1448. #endif
  1449. return false;
  1450. #endif
  1451. }
  1452. static bool nrf52_errata_37(void)
  1453. {
  1454. #ifndef NRF52_SERIES
  1455. return false;
  1456. #else
  1457. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  1458. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  1459. uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  1460. uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  1461. #endif
  1462. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  1463. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  1464. if (var1 == 0x06)
  1465. {
  1466. switch(var2)
  1467. {
  1468. case 0x03ul:
  1469. return true;
  1470. case 0x04ul:
  1471. return false;
  1472. case 0x05ul:
  1473. return false;
  1474. case 0x06ul:
  1475. return false;
  1476. default:
  1477. return false;
  1478. }
  1479. }
  1480. #endif
  1481. return false;
  1482. #endif
  1483. }
  1484. static bool nrf52_errata_38(void)
  1485. {
  1486. #ifndef NRF52_SERIES
  1487. return false;
  1488. #else
  1489. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  1490. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  1491. uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  1492. uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  1493. #endif
  1494. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  1495. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  1496. if (var1 == 0x06)
  1497. {
  1498. switch(var2)
  1499. {
  1500. case 0x03ul:
  1501. return true;
  1502. case 0x04ul:
  1503. return false;
  1504. case 0x05ul:
  1505. return false;
  1506. case 0x06ul:
  1507. return false;
  1508. default:
  1509. return false;
  1510. }
  1511. }
  1512. #endif
  1513. return false;
  1514. #endif
  1515. }
  1516. static bool nrf52_errata_39(void)
  1517. {
  1518. #ifndef NRF52_SERIES
  1519. return false;
  1520. #else
  1521. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  1522. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  1523. uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  1524. uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  1525. #endif
  1526. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  1527. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  1528. if (var1 == 0x06)
  1529. {
  1530. switch(var2)
  1531. {
  1532. case 0x03ul:
  1533. return true;
  1534. case 0x04ul:
  1535. return false;
  1536. case 0x05ul:
  1537. return false;
  1538. case 0x06ul:
  1539. return false;
  1540. default:
  1541. return false;
  1542. }
  1543. }
  1544. #endif
  1545. return false;
  1546. #endif
  1547. }
  1548. static bool nrf52_errata_40(void)
  1549. {
  1550. #ifndef NRF52_SERIES
  1551. return false;
  1552. #else
  1553. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  1554. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  1555. uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  1556. uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  1557. #endif
  1558. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  1559. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  1560. if (var1 == 0x06)
  1561. {
  1562. switch(var2)
  1563. {
  1564. case 0x03ul:
  1565. return true;
  1566. case 0x04ul:
  1567. return false;
  1568. case 0x05ul:
  1569. return false;
  1570. case 0x06ul:
  1571. return false;
  1572. default:
  1573. return false;
  1574. }
  1575. }
  1576. #endif
  1577. return false;
  1578. #endif
  1579. }
  1580. static bool nrf52_errata_41(void)
  1581. {
  1582. #ifndef NRF52_SERIES
  1583. return false;
  1584. #else
  1585. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  1586. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  1587. uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  1588. uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  1589. #endif
  1590. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  1591. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  1592. if (var1 == 0x06)
  1593. {
  1594. switch(var2)
  1595. {
  1596. case 0x03ul:
  1597. return true;
  1598. case 0x04ul:
  1599. return false;
  1600. case 0x05ul:
  1601. return false;
  1602. case 0x06ul:
  1603. return false;
  1604. default:
  1605. return false;
  1606. }
  1607. }
  1608. #endif
  1609. return false;
  1610. #endif
  1611. }
  1612. static bool nrf52_errata_42(void)
  1613. {
  1614. #ifndef NRF52_SERIES
  1615. return false;
  1616. #else
  1617. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  1618. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  1619. uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  1620. uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  1621. #endif
  1622. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  1623. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  1624. if (var1 == 0x06)
  1625. {
  1626. switch(var2)
  1627. {
  1628. case 0x03ul:
  1629. return true;
  1630. case 0x04ul:
  1631. return false;
  1632. case 0x05ul:
  1633. return false;
  1634. case 0x06ul:
  1635. return false;
  1636. default:
  1637. return false;
  1638. }
  1639. }
  1640. #endif
  1641. return false;
  1642. #endif
  1643. }
  1644. static bool nrf52_errata_43(void)
  1645. {
  1646. #ifndef NRF52_SERIES
  1647. return false;
  1648. #else
  1649. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  1650. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  1651. uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  1652. uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  1653. #endif
  1654. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  1655. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  1656. if (var1 == 0x06)
  1657. {
  1658. switch(var2)
  1659. {
  1660. case 0x03ul:
  1661. return true;
  1662. case 0x04ul:
  1663. return false;
  1664. case 0x05ul:
  1665. return false;
  1666. case 0x06ul:
  1667. return false;
  1668. default:
  1669. return false;
  1670. }
  1671. }
  1672. #endif
  1673. return false;
  1674. #endif
  1675. }
  1676. static bool nrf52_errata_44(void)
  1677. {
  1678. #ifndef NRF52_SERIES
  1679. return false;
  1680. #else
  1681. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  1682. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  1683. uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  1684. uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  1685. #endif
  1686. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  1687. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  1688. if (var1 == 0x06)
  1689. {
  1690. switch(var2)
  1691. {
  1692. case 0x03ul:
  1693. return true;
  1694. case 0x04ul:
  1695. return false;
  1696. case 0x05ul:
  1697. return false;
  1698. case 0x06ul:
  1699. return false;
  1700. default:
  1701. return false;
  1702. }
  1703. }
  1704. #endif
  1705. return false;
  1706. #endif
  1707. }
  1708. static bool nrf52_errata_46(void)
  1709. {
  1710. #ifndef NRF52_SERIES
  1711. return false;
  1712. #else
  1713. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  1714. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  1715. uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  1716. uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  1717. #endif
  1718. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  1719. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  1720. if (var1 == 0x06)
  1721. {
  1722. switch(var2)
  1723. {
  1724. case 0x03ul:
  1725. return true;
  1726. case 0x04ul:
  1727. return false;
  1728. case 0x05ul:
  1729. return false;
  1730. case 0x06ul:
  1731. return false;
  1732. default:
  1733. return false;
  1734. }
  1735. }
  1736. #endif
  1737. return false;
  1738. #endif
  1739. }
  1740. static bool nrf52_errata_47(void)
  1741. {
  1742. #ifndef NRF52_SERIES
  1743. return false;
  1744. #else
  1745. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  1746. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  1747. uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  1748. uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  1749. #endif
  1750. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  1751. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  1752. if (var1 == 0x06)
  1753. {
  1754. switch(var2)
  1755. {
  1756. case 0x03ul:
  1757. return true;
  1758. case 0x04ul:
  1759. return false;
  1760. case 0x05ul:
  1761. return false;
  1762. case 0x06ul:
  1763. return false;
  1764. default:
  1765. return false;
  1766. }
  1767. }
  1768. #endif
  1769. return false;
  1770. #endif
  1771. }
  1772. static bool nrf52_errata_48(void)
  1773. {
  1774. #ifndef NRF52_SERIES
  1775. return false;
  1776. #else
  1777. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  1778. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  1779. uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  1780. uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  1781. #endif
  1782. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  1783. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  1784. if (var1 == 0x06)
  1785. {
  1786. switch(var2)
  1787. {
  1788. case 0x03ul:
  1789. return true;
  1790. case 0x04ul:
  1791. return false;
  1792. case 0x05ul:
  1793. return false;
  1794. case 0x06ul:
  1795. return false;
  1796. default:
  1797. return false;
  1798. }
  1799. }
  1800. #endif
  1801. return false;
  1802. #endif
  1803. }
  1804. static bool nrf52_errata_49(void)
  1805. {
  1806. #ifndef NRF52_SERIES
  1807. return false;
  1808. #else
  1809. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  1810. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  1811. uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  1812. uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  1813. #endif
  1814. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  1815. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  1816. if (var1 == 0x06)
  1817. {
  1818. switch(var2)
  1819. {
  1820. case 0x03ul:
  1821. return true;
  1822. case 0x04ul:
  1823. return false;
  1824. case 0x05ul:
  1825. return false;
  1826. case 0x06ul:
  1827. return false;
  1828. default:
  1829. return false;
  1830. }
  1831. }
  1832. #endif
  1833. return false;
  1834. #endif
  1835. }
  1836. static bool nrf52_errata_51(void)
  1837. {
  1838. #ifndef NRF52_SERIES
  1839. return false;
  1840. #else
  1841. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  1842. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  1843. uint32_t var1;
  1844. uint32_t var2;
  1845. if (*(uint32_t *)0x10000130ul == 0xFFFFFFFF)
  1846. {
  1847. var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  1848. var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  1849. }
  1850. else
  1851. {
  1852. var1 = *(uint32_t *)0x10000130ul;
  1853. var2 = *(uint32_t *)0x10000134ul;
  1854. }
  1855. #endif
  1856. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  1857. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  1858. if (var1 == 0x06)
  1859. {
  1860. switch(var2)
  1861. {
  1862. case 0x03ul:
  1863. return false;
  1864. case 0x04ul:
  1865. return true;
  1866. case 0x05ul:
  1867. return true;
  1868. case 0x06ul:
  1869. return true;
  1870. default:
  1871. return true;
  1872. }
  1873. }
  1874. #endif
  1875. return false;
  1876. #endif
  1877. }
  1878. static bool nrf52_errata_54(void)
  1879. {
  1880. #ifndef NRF52_SERIES
  1881. return false;
  1882. #else
  1883. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  1884. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  1885. uint32_t var1;
  1886. uint32_t var2;
  1887. if (*(uint32_t *)0x10000130ul == 0xFFFFFFFF)
  1888. {
  1889. var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  1890. var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  1891. }
  1892. else
  1893. {
  1894. var1 = *(uint32_t *)0x10000130ul;
  1895. var2 = *(uint32_t *)0x10000134ul;
  1896. }
  1897. #elif defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  1898. uint32_t var1 = *(uint32_t *)0x10000130ul;
  1899. uint32_t var2 = *(uint32_t *)0x10000134ul;
  1900. #endif
  1901. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  1902. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  1903. if (var1 == 0x06)
  1904. {
  1905. switch(var2)
  1906. {
  1907. case 0x03ul:
  1908. return false;
  1909. case 0x04ul:
  1910. return true;
  1911. case 0x05ul:
  1912. return true;
  1913. case 0x06ul:
  1914. return true;
  1915. default:
  1916. return true;
  1917. }
  1918. }
  1919. #endif
  1920. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  1921. if (var1 == 0x08)
  1922. {
  1923. switch(var2)
  1924. {
  1925. case 0x00ul:
  1926. return true;
  1927. case 0x01ul:
  1928. return false;
  1929. case 0x02ul:
  1930. return false;
  1931. case 0x03ul:
  1932. return false;
  1933. default:
  1934. return false;
  1935. }
  1936. }
  1937. #endif
  1938. return false;
  1939. #endif
  1940. }
  1941. static bool nrf52_errata_55(void)
  1942. {
  1943. #ifndef NRF52_SERIES
  1944. return false;
  1945. #else
  1946. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  1947. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  1948. uint32_t var1;
  1949. uint32_t var2;
  1950. if (*(uint32_t *)0x10000130ul == 0xFFFFFFFF)
  1951. {
  1952. var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  1953. var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  1954. }
  1955. else
  1956. {
  1957. var1 = *(uint32_t *)0x10000130ul;
  1958. var2 = *(uint32_t *)0x10000134ul;
  1959. }
  1960. #elif defined (NRF52820_XXAA) || defined (DEVELOP_IN_NRF52820)\
  1961. || defined (NRF52833_XXAA) || defined (DEVELOP_IN_NRF52833)\
  1962. || defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  1963. uint32_t var1 = *(uint32_t *)0x10000130ul;
  1964. uint32_t var2 = *(uint32_t *)0x10000134ul;
  1965. #endif
  1966. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  1967. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  1968. if (var1 == 0x06)
  1969. {
  1970. switch(var2)
  1971. {
  1972. case 0x03ul:
  1973. return false;
  1974. case 0x04ul:
  1975. return true;
  1976. case 0x05ul:
  1977. return true;
  1978. case 0x06ul:
  1979. return true;
  1980. default:
  1981. return true;
  1982. }
  1983. }
  1984. #endif
  1985. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  1986. if (var1 == 0x08)
  1987. {
  1988. switch(var2)
  1989. {
  1990. case 0x00ul:
  1991. return true;
  1992. case 0x01ul:
  1993. return true;
  1994. case 0x02ul:
  1995. return true;
  1996. case 0x03ul:
  1997. return true;
  1998. default:
  1999. return true;
  2000. }
  2001. }
  2002. #endif
  2003. #if defined (NRF52833_XXAA) || defined (DEVELOP_IN_NRF52833)
  2004. if (var1 == 0x0D)
  2005. {
  2006. switch(var2)
  2007. {
  2008. case 0x00ul:
  2009. return true;
  2010. case 0x01ul:
  2011. return true;
  2012. default:
  2013. return true;
  2014. }
  2015. }
  2016. #endif
  2017. #if defined (NRF52820_XXAA) || defined (DEVELOP_IN_NRF52820)
  2018. if (var1 == 0x10)
  2019. {
  2020. switch(var2)
  2021. {
  2022. case 0x00ul:
  2023. return true;
  2024. case 0x01ul:
  2025. return true;
  2026. case 0x02ul:
  2027. return false;
  2028. default:
  2029. return false;
  2030. }
  2031. }
  2032. #endif
  2033. return false;
  2034. #endif
  2035. }
  2036. static bool nrf52_errata_57(void)
  2037. {
  2038. #ifndef NRF52_SERIES
  2039. return false;
  2040. #else
  2041. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  2042. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  2043. uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  2044. uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  2045. #endif
  2046. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  2047. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  2048. if (var1 == 0x06)
  2049. {
  2050. switch(var2)
  2051. {
  2052. case 0x03ul:
  2053. return true;
  2054. case 0x04ul:
  2055. return false;
  2056. case 0x05ul:
  2057. return false;
  2058. case 0x06ul:
  2059. return false;
  2060. default:
  2061. return false;
  2062. }
  2063. }
  2064. #endif
  2065. return false;
  2066. #endif
  2067. }
  2068. static bool nrf52_errata_58(void)
  2069. {
  2070. #ifndef NRF52_SERIES
  2071. return false;
  2072. #else
  2073. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  2074. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  2075. uint32_t var1;
  2076. uint32_t var2;
  2077. if (*(uint32_t *)0x10000130ul == 0xFFFFFFFF)
  2078. {
  2079. var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  2080. var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  2081. }
  2082. else
  2083. {
  2084. var1 = *(uint32_t *)0x10000130ul;
  2085. var2 = *(uint32_t *)0x10000134ul;
  2086. }
  2087. #elif defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  2088. uint32_t var1 = *(uint32_t *)0x10000130ul;
  2089. uint32_t var2 = *(uint32_t *)0x10000134ul;
  2090. #endif
  2091. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  2092. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  2093. if (var1 == 0x06)
  2094. {
  2095. switch(var2)
  2096. {
  2097. case 0x03ul:
  2098. return true;
  2099. case 0x04ul:
  2100. return true;
  2101. case 0x05ul:
  2102. return true;
  2103. case 0x06ul:
  2104. return true;
  2105. default:
  2106. return true;
  2107. }
  2108. }
  2109. #endif
  2110. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  2111. if (var1 == 0x08)
  2112. {
  2113. switch(var2)
  2114. {
  2115. case 0x00ul:
  2116. return true;
  2117. case 0x01ul:
  2118. return false;
  2119. case 0x02ul:
  2120. return false;
  2121. case 0x03ul:
  2122. return false;
  2123. default:
  2124. return false;
  2125. }
  2126. }
  2127. #endif
  2128. return false;
  2129. #endif
  2130. }
  2131. static bool nrf52_errata_62(void)
  2132. {
  2133. #ifndef NRF52_SERIES
  2134. return false;
  2135. #else
  2136. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  2137. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  2138. uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  2139. uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  2140. #endif
  2141. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  2142. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  2143. if (var1 == 0x06)
  2144. {
  2145. switch(var2)
  2146. {
  2147. case 0x03ul:
  2148. return true;
  2149. case 0x04ul:
  2150. return false;
  2151. case 0x05ul:
  2152. return false;
  2153. case 0x06ul:
  2154. return false;
  2155. default:
  2156. return false;
  2157. }
  2158. }
  2159. #endif
  2160. return false;
  2161. #endif
  2162. }
  2163. static bool nrf52_errata_63(void)
  2164. {
  2165. #ifndef NRF52_SERIES
  2166. return false;
  2167. #else
  2168. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  2169. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  2170. uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  2171. uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  2172. #endif
  2173. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  2174. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  2175. if (var1 == 0x06)
  2176. {
  2177. switch(var2)
  2178. {
  2179. case 0x03ul:
  2180. return true;
  2181. case 0x04ul:
  2182. return true;
  2183. case 0x05ul:
  2184. return false;
  2185. case 0x06ul:
  2186. return false;
  2187. default:
  2188. return false;
  2189. }
  2190. }
  2191. #endif
  2192. return false;
  2193. #endif
  2194. }
  2195. static bool nrf52_errata_64(void)
  2196. {
  2197. #ifndef NRF52_SERIES
  2198. return false;
  2199. #else
  2200. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  2201. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  2202. uint32_t var1;
  2203. uint32_t var2;
  2204. if (*(uint32_t *)0x10000130ul == 0xFFFFFFFF)
  2205. {
  2206. var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  2207. var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  2208. }
  2209. else
  2210. {
  2211. var1 = *(uint32_t *)0x10000130ul;
  2212. var2 = *(uint32_t *)0x10000134ul;
  2213. }
  2214. #endif
  2215. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  2216. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  2217. if (var1 == 0x06)
  2218. {
  2219. switch(var2)
  2220. {
  2221. case 0x03ul:
  2222. return true;
  2223. case 0x04ul:
  2224. return true;
  2225. case 0x05ul:
  2226. return true;
  2227. case 0x06ul:
  2228. return true;
  2229. default:
  2230. return true;
  2231. }
  2232. }
  2233. #endif
  2234. return false;
  2235. #endif
  2236. }
  2237. static bool nrf52_errata_65(void)
  2238. {
  2239. #ifndef NRF52_SERIES
  2240. return false;
  2241. #else
  2242. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  2243. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  2244. uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  2245. uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  2246. #endif
  2247. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  2248. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  2249. if (var1 == 0x06)
  2250. {
  2251. switch(var2)
  2252. {
  2253. case 0x03ul:
  2254. return true;
  2255. case 0x04ul:
  2256. return false;
  2257. case 0x05ul:
  2258. return false;
  2259. case 0x06ul:
  2260. return false;
  2261. default:
  2262. return false;
  2263. }
  2264. }
  2265. #endif
  2266. return false;
  2267. #endif
  2268. }
  2269. static bool nrf52_errata_66(void)
  2270. {
  2271. #ifndef NRF52_SERIES
  2272. return false;
  2273. #else
  2274. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  2275. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  2276. uint32_t var1;
  2277. uint32_t var2;
  2278. if (*(uint32_t *)0x10000130ul == 0xFFFFFFFF)
  2279. {
  2280. var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  2281. var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  2282. }
  2283. else
  2284. {
  2285. var1 = *(uint32_t *)0x10000130ul;
  2286. var2 = *(uint32_t *)0x10000134ul;
  2287. }
  2288. #elif defined (NRF52805_XXAA) || defined (DEVELOP_IN_NRF52805)\
  2289. || defined (NRF52810_XXAA) || defined (DEVELOP_IN_NRF52810)\
  2290. || defined (NRF52811_XXAA) || defined (DEVELOP_IN_NRF52811)\
  2291. || defined (NRF52820_XXAA) || defined (DEVELOP_IN_NRF52820)\
  2292. || defined (NRF52833_XXAA) || defined (DEVELOP_IN_NRF52833)\
  2293. || defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  2294. uint32_t var1 = *(uint32_t *)0x10000130ul;
  2295. uint32_t var2 = *(uint32_t *)0x10000134ul;
  2296. #endif
  2297. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  2298. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  2299. if (var1 == 0x06)
  2300. {
  2301. switch(var2)
  2302. {
  2303. case 0x03ul:
  2304. return false;
  2305. case 0x04ul:
  2306. return false;
  2307. case 0x05ul:
  2308. return true;
  2309. case 0x06ul:
  2310. return true;
  2311. default:
  2312. return true;
  2313. }
  2314. }
  2315. #endif
  2316. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  2317. if (var1 == 0x08)
  2318. {
  2319. switch(var2)
  2320. {
  2321. case 0x00ul:
  2322. return true;
  2323. case 0x01ul:
  2324. return true;
  2325. case 0x02ul:
  2326. return true;
  2327. case 0x03ul:
  2328. return true;
  2329. default:
  2330. return true;
  2331. }
  2332. }
  2333. #endif
  2334. #if defined (NRF52810_XXAA) || defined (DEVELOP_IN_NRF52810)
  2335. if (var1 == 0x0A)
  2336. {
  2337. switch(var2)
  2338. {
  2339. case 0x00ul:
  2340. return true;
  2341. case 0x01ul:
  2342. return true;
  2343. default:
  2344. return true;
  2345. }
  2346. }
  2347. #endif
  2348. #if defined (NRF52833_XXAA) || defined (DEVELOP_IN_NRF52833)
  2349. if (var1 == 0x0D)
  2350. {
  2351. switch(var2)
  2352. {
  2353. case 0x00ul:
  2354. return true;
  2355. case 0x01ul:
  2356. return true;
  2357. default:
  2358. return true;
  2359. }
  2360. }
  2361. #endif
  2362. #if defined (NRF52811_XXAA) || defined (DEVELOP_IN_NRF52811)
  2363. if (var1 == 0x0E)
  2364. {
  2365. switch(var2)
  2366. {
  2367. case 0x00ul:
  2368. return true;
  2369. default:
  2370. return true;
  2371. }
  2372. }
  2373. #endif
  2374. #if defined (NRF52805_XXAA) || defined (DEVELOP_IN_NRF52805)
  2375. if (var1 == 0x0F)
  2376. {
  2377. switch(var2)
  2378. {
  2379. case 0x00ul:
  2380. return true;
  2381. default:
  2382. return true;
  2383. }
  2384. }
  2385. #endif
  2386. #if defined (NRF52820_XXAA) || defined (DEVELOP_IN_NRF52820)
  2387. if (var1 == 0x10)
  2388. {
  2389. switch(var2)
  2390. {
  2391. case 0x00ul:
  2392. return true;
  2393. case 0x01ul:
  2394. return true;
  2395. case 0x02ul:
  2396. return true;
  2397. default:
  2398. return true;
  2399. }
  2400. }
  2401. #endif
  2402. return false;
  2403. #endif
  2404. }
  2405. static bool nrf52_errata_67(void)
  2406. {
  2407. #ifndef NRF52_SERIES
  2408. return false;
  2409. #else
  2410. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  2411. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  2412. uint32_t var1;
  2413. uint32_t var2;
  2414. if (*(uint32_t *)0x10000130ul == 0xFFFFFFFF)
  2415. {
  2416. var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  2417. var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  2418. }
  2419. else
  2420. {
  2421. var1 = *(uint32_t *)0x10000130ul;
  2422. var2 = *(uint32_t *)0x10000134ul;
  2423. }
  2424. #endif
  2425. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  2426. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  2427. if (var1 == 0x06)
  2428. {
  2429. switch(var2)
  2430. {
  2431. case 0x03ul:
  2432. return true;
  2433. case 0x04ul:
  2434. return true;
  2435. case 0x05ul:
  2436. return true;
  2437. case 0x06ul:
  2438. return true;
  2439. default:
  2440. return true;
  2441. }
  2442. }
  2443. #endif
  2444. return false;
  2445. #endif
  2446. }
  2447. static bool nrf52_errata_68(void)
  2448. {
  2449. #ifndef NRF52_SERIES
  2450. return false;
  2451. #else
  2452. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  2453. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  2454. uint32_t var1;
  2455. uint32_t var2;
  2456. if (*(uint32_t *)0x10000130ul == 0xFFFFFFFF)
  2457. {
  2458. var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  2459. var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  2460. }
  2461. else
  2462. {
  2463. var1 = *(uint32_t *)0x10000130ul;
  2464. var2 = *(uint32_t *)0x10000134ul;
  2465. }
  2466. #elif defined (NRF52805_XXAA) || defined (DEVELOP_IN_NRF52805)\
  2467. || defined (NRF52810_XXAA) || defined (DEVELOP_IN_NRF52810)\
  2468. || defined (NRF52811_XXAA) || defined (DEVELOP_IN_NRF52811)\
  2469. || defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  2470. uint32_t var1 = *(uint32_t *)0x10000130ul;
  2471. uint32_t var2 = *(uint32_t *)0x10000134ul;
  2472. #endif
  2473. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  2474. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  2475. if (var1 == 0x06)
  2476. {
  2477. switch(var2)
  2478. {
  2479. case 0x03ul:
  2480. return true;
  2481. case 0x04ul:
  2482. return true;
  2483. case 0x05ul:
  2484. return true;
  2485. case 0x06ul:
  2486. return true;
  2487. default:
  2488. return true;
  2489. }
  2490. }
  2491. #endif
  2492. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  2493. if (var1 == 0x08)
  2494. {
  2495. switch(var2)
  2496. {
  2497. case 0x00ul:
  2498. return true;
  2499. case 0x01ul:
  2500. return false;
  2501. case 0x02ul:
  2502. return false;
  2503. case 0x03ul:
  2504. return false;
  2505. default:
  2506. return false;
  2507. }
  2508. }
  2509. #endif
  2510. #if defined (NRF52810_XXAA) || defined (DEVELOP_IN_NRF52810)
  2511. if (var1 == 0x0A)
  2512. {
  2513. switch(var2)
  2514. {
  2515. case 0x00ul:
  2516. return true;
  2517. case 0x01ul:
  2518. return true;
  2519. default:
  2520. return true;
  2521. }
  2522. }
  2523. #endif
  2524. #if defined (NRF52811_XXAA) || defined (DEVELOP_IN_NRF52811)
  2525. if (var1 == 0x0E)
  2526. {
  2527. switch(var2)
  2528. {
  2529. case 0x00ul:
  2530. return true;
  2531. default:
  2532. return true;
  2533. }
  2534. }
  2535. #endif
  2536. #if defined (NRF52805_XXAA) || defined (DEVELOP_IN_NRF52805)
  2537. if (var1 == 0x0F)
  2538. {
  2539. switch(var2)
  2540. {
  2541. case 0x00ul:
  2542. return true;
  2543. default:
  2544. return true;
  2545. }
  2546. }
  2547. #endif
  2548. return false;
  2549. #endif
  2550. }
  2551. static bool nrf52_errata_70(void)
  2552. {
  2553. #ifndef NRF52_SERIES
  2554. return false;
  2555. #else
  2556. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  2557. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  2558. uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  2559. uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  2560. #endif
  2561. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  2562. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  2563. if (var1 == 0x06)
  2564. {
  2565. switch(var2)
  2566. {
  2567. case 0x03ul:
  2568. return true;
  2569. case 0x04ul:
  2570. return true;
  2571. case 0x05ul:
  2572. return false;
  2573. case 0x06ul:
  2574. return false;
  2575. default:
  2576. return false;
  2577. }
  2578. }
  2579. #endif
  2580. return false;
  2581. #endif
  2582. }
  2583. static bool nrf52_errata_71(void)
  2584. {
  2585. #ifndef NRF52_SERIES
  2586. return false;
  2587. #else
  2588. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  2589. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  2590. uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  2591. uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  2592. #endif
  2593. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  2594. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  2595. if (var1 == 0x06)
  2596. {
  2597. switch(var2)
  2598. {
  2599. case 0x03ul:
  2600. return true;
  2601. case 0x04ul:
  2602. return true;
  2603. case 0x05ul:
  2604. return false;
  2605. case 0x06ul:
  2606. return false;
  2607. default:
  2608. return false;
  2609. }
  2610. }
  2611. #endif
  2612. return false;
  2613. #endif
  2614. }
  2615. static bool nrf52_errata_72(void)
  2616. {
  2617. #ifndef NRF52_SERIES
  2618. return false;
  2619. #else
  2620. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  2621. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  2622. uint32_t var1;
  2623. uint32_t var2;
  2624. if (*(uint32_t *)0x10000130ul == 0xFFFFFFFF)
  2625. {
  2626. var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  2627. var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  2628. }
  2629. else
  2630. {
  2631. var1 = *(uint32_t *)0x10000130ul;
  2632. var2 = *(uint32_t *)0x10000134ul;
  2633. }
  2634. #endif
  2635. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  2636. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  2637. if (var1 == 0x06)
  2638. {
  2639. switch(var2)
  2640. {
  2641. case 0x03ul:
  2642. return true;
  2643. case 0x04ul:
  2644. return true;
  2645. case 0x05ul:
  2646. return true;
  2647. case 0x06ul:
  2648. return true;
  2649. default:
  2650. return true;
  2651. }
  2652. }
  2653. #endif
  2654. return false;
  2655. #endif
  2656. }
  2657. static bool nrf52_errata_73(void)
  2658. {
  2659. #ifndef NRF52_SERIES
  2660. return false;
  2661. #else
  2662. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  2663. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  2664. uint32_t var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  2665. uint32_t var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  2666. #endif
  2667. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  2668. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  2669. if (var1 == 0x06)
  2670. {
  2671. switch(var2)
  2672. {
  2673. case 0x03ul:
  2674. return true;
  2675. case 0x04ul:
  2676. return true;
  2677. case 0x05ul:
  2678. return false;
  2679. case 0x06ul:
  2680. return false;
  2681. default:
  2682. return false;
  2683. }
  2684. }
  2685. #endif
  2686. return false;
  2687. #endif
  2688. }
  2689. static bool nrf52_errata_74(void)
  2690. {
  2691. #ifndef NRF52_SERIES
  2692. return false;
  2693. #else
  2694. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  2695. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  2696. uint32_t var1;
  2697. uint32_t var2;
  2698. if (*(uint32_t *)0x10000130ul == 0xFFFFFFFF)
  2699. {
  2700. var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  2701. var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  2702. }
  2703. else
  2704. {
  2705. var1 = *(uint32_t *)0x10000130ul;
  2706. var2 = *(uint32_t *)0x10000134ul;
  2707. }
  2708. #endif
  2709. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  2710. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  2711. if (var1 == 0x06)
  2712. {
  2713. switch(var2)
  2714. {
  2715. case 0x03ul:
  2716. return true;
  2717. case 0x04ul:
  2718. return true;
  2719. case 0x05ul:
  2720. return true;
  2721. case 0x06ul:
  2722. return true;
  2723. default:
  2724. return true;
  2725. }
  2726. }
  2727. #endif
  2728. return false;
  2729. #endif
  2730. }
  2731. static bool nrf52_errata_75(void)
  2732. {
  2733. #ifndef NRF52_SERIES
  2734. return false;
  2735. #else
  2736. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  2737. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  2738. uint32_t var1;
  2739. uint32_t var2;
  2740. if (*(uint32_t *)0x10000130ul == 0xFFFFFFFF)
  2741. {
  2742. var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  2743. var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  2744. }
  2745. else
  2746. {
  2747. var1 = *(uint32_t *)0x10000130ul;
  2748. var2 = *(uint32_t *)0x10000134ul;
  2749. }
  2750. #endif
  2751. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  2752. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  2753. if (var1 == 0x06)
  2754. {
  2755. switch(var2)
  2756. {
  2757. case 0x03ul:
  2758. return false;
  2759. case 0x04ul:
  2760. return true;
  2761. case 0x05ul:
  2762. return true;
  2763. case 0x06ul:
  2764. return true;
  2765. default:
  2766. return true;
  2767. }
  2768. }
  2769. #endif
  2770. return false;
  2771. #endif
  2772. }
  2773. static bool nrf52_errata_76(void)
  2774. {
  2775. #ifndef NRF52_SERIES
  2776. return false;
  2777. #else
  2778. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  2779. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  2780. uint32_t var1;
  2781. uint32_t var2;
  2782. if (*(uint32_t *)0x10000130ul == 0xFFFFFFFF)
  2783. {
  2784. var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  2785. var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  2786. }
  2787. else
  2788. {
  2789. var1 = *(uint32_t *)0x10000130ul;
  2790. var2 = *(uint32_t *)0x10000134ul;
  2791. }
  2792. #endif
  2793. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  2794. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  2795. if (var1 == 0x06)
  2796. {
  2797. switch(var2)
  2798. {
  2799. case 0x03ul:
  2800. return false;
  2801. case 0x04ul:
  2802. return true;
  2803. case 0x05ul:
  2804. return true;
  2805. case 0x06ul:
  2806. return true;
  2807. default:
  2808. return true;
  2809. }
  2810. }
  2811. #endif
  2812. return false;
  2813. #endif
  2814. }
  2815. static bool nrf52_errata_77(void)
  2816. {
  2817. #ifndef NRF52_SERIES
  2818. return false;
  2819. #else
  2820. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  2821. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  2822. uint32_t var1;
  2823. uint32_t var2;
  2824. if (*(uint32_t *)0x10000130ul == 0xFFFFFFFF)
  2825. {
  2826. var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  2827. var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  2828. }
  2829. else
  2830. {
  2831. var1 = *(uint32_t *)0x10000130ul;
  2832. var2 = *(uint32_t *)0x10000134ul;
  2833. }
  2834. #elif defined (NRF52805_XXAA) || defined (DEVELOP_IN_NRF52805)\
  2835. || defined (NRF52810_XXAA) || defined (DEVELOP_IN_NRF52810)\
  2836. || defined (NRF52811_XXAA) || defined (DEVELOP_IN_NRF52811)
  2837. uint32_t var1 = *(uint32_t *)0x10000130ul;
  2838. uint32_t var2 = *(uint32_t *)0x10000134ul;
  2839. #endif
  2840. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  2841. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  2842. if (var1 == 0x06)
  2843. {
  2844. switch(var2)
  2845. {
  2846. case 0x03ul:
  2847. return true;
  2848. case 0x04ul:
  2849. return true;
  2850. case 0x05ul:
  2851. return true;
  2852. case 0x06ul:
  2853. return true;
  2854. default:
  2855. return true;
  2856. }
  2857. }
  2858. #endif
  2859. #if defined (NRF52810_XXAA) || defined (DEVELOP_IN_NRF52810)
  2860. if (var1 == 0x0A)
  2861. {
  2862. switch(var2)
  2863. {
  2864. case 0x00ul:
  2865. return true;
  2866. case 0x01ul:
  2867. return true;
  2868. default:
  2869. return true;
  2870. }
  2871. }
  2872. #endif
  2873. #if defined (NRF52811_XXAA) || defined (DEVELOP_IN_NRF52811)
  2874. if (var1 == 0x0E)
  2875. {
  2876. switch(var2)
  2877. {
  2878. case 0x00ul:
  2879. return true;
  2880. default:
  2881. return true;
  2882. }
  2883. }
  2884. #endif
  2885. #if defined (NRF52805_XXAA) || defined (DEVELOP_IN_NRF52805)
  2886. if (var1 == 0x0F)
  2887. {
  2888. switch(var2)
  2889. {
  2890. case 0x00ul:
  2891. return true;
  2892. default:
  2893. return true;
  2894. }
  2895. }
  2896. #endif
  2897. return false;
  2898. #endif
  2899. }
  2900. static bool nrf52_errata_78(void)
  2901. {
  2902. #ifndef NRF52_SERIES
  2903. return false;
  2904. #else
  2905. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  2906. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  2907. uint32_t var1;
  2908. uint32_t var2;
  2909. if (*(uint32_t *)0x10000130ul == 0xFFFFFFFF)
  2910. {
  2911. var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  2912. var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  2913. }
  2914. else
  2915. {
  2916. var1 = *(uint32_t *)0x10000130ul;
  2917. var2 = *(uint32_t *)0x10000134ul;
  2918. }
  2919. #elif defined (NRF52805_XXAA) || defined (DEVELOP_IN_NRF52805)\
  2920. || defined (NRF52810_XXAA) || defined (DEVELOP_IN_NRF52810)\
  2921. || defined (NRF52811_XXAA) || defined (DEVELOP_IN_NRF52811)\
  2922. || defined (NRF52820_XXAA) || defined (DEVELOP_IN_NRF52820)\
  2923. || defined (NRF52833_XXAA) || defined (DEVELOP_IN_NRF52833)\
  2924. || defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  2925. uint32_t var1 = *(uint32_t *)0x10000130ul;
  2926. uint32_t var2 = *(uint32_t *)0x10000134ul;
  2927. #endif
  2928. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  2929. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  2930. if (var1 == 0x06)
  2931. {
  2932. switch(var2)
  2933. {
  2934. case 0x03ul:
  2935. return true;
  2936. case 0x04ul:
  2937. return true;
  2938. case 0x05ul:
  2939. return true;
  2940. case 0x06ul:
  2941. return true;
  2942. default:
  2943. return true;
  2944. }
  2945. }
  2946. #endif
  2947. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  2948. if (var1 == 0x08)
  2949. {
  2950. switch(var2)
  2951. {
  2952. case 0x00ul:
  2953. return true;
  2954. case 0x01ul:
  2955. return true;
  2956. case 0x02ul:
  2957. return true;
  2958. case 0x03ul:
  2959. return true;
  2960. default:
  2961. return true;
  2962. }
  2963. }
  2964. #endif
  2965. #if defined (NRF52810_XXAA) || defined (DEVELOP_IN_NRF52810)
  2966. if (var1 == 0x0A)
  2967. {
  2968. switch(var2)
  2969. {
  2970. case 0x00ul:
  2971. return true;
  2972. case 0x01ul:
  2973. return true;
  2974. default:
  2975. return true;
  2976. }
  2977. }
  2978. #endif
  2979. #if defined (NRF52833_XXAA) || defined (DEVELOP_IN_NRF52833)
  2980. if (var1 == 0x0D)
  2981. {
  2982. switch(var2)
  2983. {
  2984. case 0x00ul:
  2985. return true;
  2986. case 0x01ul:
  2987. return true;
  2988. default:
  2989. return true;
  2990. }
  2991. }
  2992. #endif
  2993. #if defined (NRF52811_XXAA) || defined (DEVELOP_IN_NRF52811)
  2994. if (var1 == 0x0E)
  2995. {
  2996. switch(var2)
  2997. {
  2998. case 0x00ul:
  2999. return true;
  3000. default:
  3001. return true;
  3002. }
  3003. }
  3004. #endif
  3005. #if defined (NRF52805_XXAA) || defined (DEVELOP_IN_NRF52805)
  3006. if (var1 == 0x0F)
  3007. {
  3008. switch(var2)
  3009. {
  3010. case 0x00ul:
  3011. return true;
  3012. default:
  3013. return true;
  3014. }
  3015. }
  3016. #endif
  3017. #if defined (NRF52820_XXAA) || defined (DEVELOP_IN_NRF52820)
  3018. if (var1 == 0x10)
  3019. {
  3020. switch(var2)
  3021. {
  3022. case 0x00ul:
  3023. return true;
  3024. case 0x01ul:
  3025. return true;
  3026. case 0x02ul:
  3027. return true;
  3028. default:
  3029. return true;
  3030. }
  3031. }
  3032. #endif
  3033. return false;
  3034. #endif
  3035. }
  3036. static bool nrf52_errata_79(void)
  3037. {
  3038. #ifndef NRF52_SERIES
  3039. return false;
  3040. #else
  3041. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  3042. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  3043. uint32_t var1;
  3044. uint32_t var2;
  3045. if (*(uint32_t *)0x10000130ul == 0xFFFFFFFF)
  3046. {
  3047. var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  3048. var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  3049. }
  3050. else
  3051. {
  3052. var1 = *(uint32_t *)0x10000130ul;
  3053. var2 = *(uint32_t *)0x10000134ul;
  3054. }
  3055. #endif
  3056. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  3057. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  3058. if (var1 == 0x06)
  3059. {
  3060. switch(var2)
  3061. {
  3062. case 0x03ul:
  3063. return false;
  3064. case 0x04ul:
  3065. return true;
  3066. case 0x05ul:
  3067. return true;
  3068. case 0x06ul:
  3069. return true;
  3070. default:
  3071. return true;
  3072. }
  3073. }
  3074. #endif
  3075. return false;
  3076. #endif
  3077. }
  3078. static bool nrf52_errata_81(void)
  3079. {
  3080. #ifndef NRF52_SERIES
  3081. return false;
  3082. #else
  3083. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  3084. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  3085. uint32_t var1;
  3086. uint32_t var2;
  3087. if (*(uint32_t *)0x10000130ul == 0xFFFFFFFF)
  3088. {
  3089. var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  3090. var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  3091. }
  3092. else
  3093. {
  3094. var1 = *(uint32_t *)0x10000130ul;
  3095. var2 = *(uint32_t *)0x10000134ul;
  3096. }
  3097. #elif defined (NRF52805_XXAA) || defined (DEVELOP_IN_NRF52805)\
  3098. || defined (NRF52810_XXAA) || defined (DEVELOP_IN_NRF52810)\
  3099. || defined (NRF52811_XXAA) || defined (DEVELOP_IN_NRF52811)\
  3100. || defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  3101. uint32_t var1 = *(uint32_t *)0x10000130ul;
  3102. uint32_t var2 = *(uint32_t *)0x10000134ul;
  3103. #endif
  3104. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  3105. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  3106. if (var1 == 0x06)
  3107. {
  3108. switch(var2)
  3109. {
  3110. case 0x03ul:
  3111. return false;
  3112. case 0x04ul:
  3113. return true;
  3114. case 0x05ul:
  3115. return true;
  3116. case 0x06ul:
  3117. return true;
  3118. default:
  3119. return true;
  3120. }
  3121. }
  3122. #endif
  3123. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  3124. if (var1 == 0x08)
  3125. {
  3126. switch(var2)
  3127. {
  3128. case 0x00ul:
  3129. return true;
  3130. case 0x01ul:
  3131. return true;
  3132. case 0x02ul:
  3133. return true;
  3134. case 0x03ul:
  3135. return true;
  3136. default:
  3137. return true;
  3138. }
  3139. }
  3140. #endif
  3141. #if defined (NRF52810_XXAA) || defined (DEVELOP_IN_NRF52810)
  3142. if (var1 == 0x0A)
  3143. {
  3144. switch(var2)
  3145. {
  3146. case 0x00ul:
  3147. return true;
  3148. case 0x01ul:
  3149. return true;
  3150. default:
  3151. return true;
  3152. }
  3153. }
  3154. #endif
  3155. #if defined (NRF52811_XXAA) || defined (DEVELOP_IN_NRF52811)
  3156. if (var1 == 0x0E)
  3157. {
  3158. switch(var2)
  3159. {
  3160. case 0x00ul:
  3161. return true;
  3162. default:
  3163. return true;
  3164. }
  3165. }
  3166. #endif
  3167. #if defined (NRF52805_XXAA) || defined (DEVELOP_IN_NRF52805)
  3168. if (var1 == 0x0F)
  3169. {
  3170. switch(var2)
  3171. {
  3172. case 0x00ul:
  3173. return true;
  3174. default:
  3175. return true;
  3176. }
  3177. }
  3178. #endif
  3179. return false;
  3180. #endif
  3181. }
  3182. static bool nrf52_errata_83(void)
  3183. {
  3184. #ifndef NRF52_SERIES
  3185. return false;
  3186. #else
  3187. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  3188. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  3189. uint32_t var1;
  3190. uint32_t var2;
  3191. if (*(uint32_t *)0x10000130ul == 0xFFFFFFFF)
  3192. {
  3193. var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  3194. var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  3195. }
  3196. else
  3197. {
  3198. var1 = *(uint32_t *)0x10000130ul;
  3199. var2 = *(uint32_t *)0x10000134ul;
  3200. }
  3201. #elif defined (NRF52805_XXAA) || defined (DEVELOP_IN_NRF52805)\
  3202. || defined (NRF52810_XXAA) || defined (DEVELOP_IN_NRF52810)\
  3203. || defined (NRF52811_XXAA) || defined (DEVELOP_IN_NRF52811)\
  3204. || defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  3205. uint32_t var1 = *(uint32_t *)0x10000130ul;
  3206. uint32_t var2 = *(uint32_t *)0x10000134ul;
  3207. #endif
  3208. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  3209. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  3210. if (var1 == 0x06)
  3211. {
  3212. switch(var2)
  3213. {
  3214. case 0x03ul:
  3215. return false;
  3216. case 0x04ul:
  3217. return true;
  3218. case 0x05ul:
  3219. return true;
  3220. case 0x06ul:
  3221. return true;
  3222. default:
  3223. return true;
  3224. }
  3225. }
  3226. #endif
  3227. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  3228. if (var1 == 0x08)
  3229. {
  3230. switch(var2)
  3231. {
  3232. case 0x00ul:
  3233. return true;
  3234. case 0x01ul:
  3235. return false;
  3236. case 0x02ul:
  3237. return false;
  3238. case 0x03ul:
  3239. return false;
  3240. default:
  3241. return false;
  3242. }
  3243. }
  3244. #endif
  3245. #if defined (NRF52810_XXAA) || defined (DEVELOP_IN_NRF52810)
  3246. if (var1 == 0x0A)
  3247. {
  3248. switch(var2)
  3249. {
  3250. case 0x00ul:
  3251. return true;
  3252. case 0x01ul:
  3253. return true;
  3254. default:
  3255. return true;
  3256. }
  3257. }
  3258. #endif
  3259. #if defined (NRF52811_XXAA) || defined (DEVELOP_IN_NRF52811)
  3260. if (var1 == 0x0E)
  3261. {
  3262. switch(var2)
  3263. {
  3264. case 0x00ul:
  3265. return true;
  3266. default:
  3267. return true;
  3268. }
  3269. }
  3270. #endif
  3271. #if defined (NRF52805_XXAA) || defined (DEVELOP_IN_NRF52805)
  3272. if (var1 == 0x0F)
  3273. {
  3274. switch(var2)
  3275. {
  3276. case 0x00ul:
  3277. return true;
  3278. default:
  3279. return true;
  3280. }
  3281. }
  3282. #endif
  3283. return false;
  3284. #endif
  3285. }
  3286. static bool nrf52_errata_84(void)
  3287. {
  3288. #ifndef NRF52_SERIES
  3289. return false;
  3290. #else
  3291. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  3292. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  3293. uint32_t var1;
  3294. uint32_t var2;
  3295. if (*(uint32_t *)0x10000130ul == 0xFFFFFFFF)
  3296. {
  3297. var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  3298. var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  3299. }
  3300. else
  3301. {
  3302. var1 = *(uint32_t *)0x10000130ul;
  3303. var2 = *(uint32_t *)0x10000134ul;
  3304. }
  3305. #endif
  3306. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  3307. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  3308. if (var1 == 0x06)
  3309. {
  3310. switch(var2)
  3311. {
  3312. case 0x03ul:
  3313. return true;
  3314. case 0x04ul:
  3315. return true;
  3316. case 0x05ul:
  3317. return true;
  3318. case 0x06ul:
  3319. return true;
  3320. default:
  3321. return true;
  3322. }
  3323. }
  3324. #endif
  3325. return false;
  3326. #endif
  3327. }
  3328. static bool nrf52_errata_86(void)
  3329. {
  3330. #ifndef NRF52_SERIES
  3331. return false;
  3332. #else
  3333. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  3334. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  3335. uint32_t var1;
  3336. uint32_t var2;
  3337. if (*(uint32_t *)0x10000130ul == 0xFFFFFFFF)
  3338. {
  3339. var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  3340. var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  3341. }
  3342. else
  3343. {
  3344. var1 = *(uint32_t *)0x10000130ul;
  3345. var2 = *(uint32_t *)0x10000134ul;
  3346. }
  3347. #endif
  3348. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  3349. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  3350. if (var1 == 0x06)
  3351. {
  3352. switch(var2)
  3353. {
  3354. case 0x03ul:
  3355. return true;
  3356. case 0x04ul:
  3357. return true;
  3358. case 0x05ul:
  3359. return true;
  3360. case 0x06ul:
  3361. return true;
  3362. default:
  3363. return true;
  3364. }
  3365. }
  3366. #endif
  3367. return false;
  3368. #endif
  3369. }
  3370. static bool nrf52_errata_87(void)
  3371. {
  3372. #ifndef NRF52_SERIES
  3373. return false;
  3374. #else
  3375. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  3376. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  3377. uint32_t var1;
  3378. uint32_t var2;
  3379. if (*(uint32_t *)0x10000130ul == 0xFFFFFFFF)
  3380. {
  3381. var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  3382. var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  3383. }
  3384. else
  3385. {
  3386. var1 = *(uint32_t *)0x10000130ul;
  3387. var2 = *(uint32_t *)0x10000134ul;
  3388. }
  3389. #elif defined (NRF52820_XXAA) || defined (DEVELOP_IN_NRF52820)\
  3390. || defined (NRF52833_XXAA) || defined (DEVELOP_IN_NRF52833)\
  3391. || defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  3392. uint32_t var1 = *(uint32_t *)0x10000130ul;
  3393. uint32_t var2 = *(uint32_t *)0x10000134ul;
  3394. #endif
  3395. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  3396. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  3397. if (var1 == 0x06)
  3398. {
  3399. switch(var2)
  3400. {
  3401. case 0x03ul:
  3402. return true;
  3403. case 0x04ul:
  3404. return true;
  3405. case 0x05ul:
  3406. return true;
  3407. case 0x06ul:
  3408. return true;
  3409. default:
  3410. return true;
  3411. }
  3412. }
  3413. #endif
  3414. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  3415. if (var1 == 0x08)
  3416. {
  3417. switch(var2)
  3418. {
  3419. case 0x00ul:
  3420. return true;
  3421. case 0x01ul:
  3422. return true;
  3423. case 0x02ul:
  3424. return true;
  3425. case 0x03ul:
  3426. return true;
  3427. default:
  3428. return true;
  3429. }
  3430. }
  3431. #endif
  3432. #if defined (NRF52833_XXAA) || defined (DEVELOP_IN_NRF52833)
  3433. if (var1 == 0x0D)
  3434. {
  3435. switch(var2)
  3436. {
  3437. case 0x00ul:
  3438. return true;
  3439. case 0x01ul:
  3440. return true;
  3441. default:
  3442. return true;
  3443. }
  3444. }
  3445. #endif
  3446. #if defined (NRF52820_XXAA) || defined (DEVELOP_IN_NRF52820)
  3447. if (var1 == 0x10)
  3448. {
  3449. switch(var2)
  3450. {
  3451. case 0x00ul:
  3452. return true;
  3453. case 0x01ul:
  3454. return true;
  3455. case 0x02ul:
  3456. return true;
  3457. default:
  3458. return true;
  3459. }
  3460. }
  3461. #endif
  3462. return false;
  3463. #endif
  3464. }
  3465. static bool nrf52_errata_88(void)
  3466. {
  3467. #ifndef NRF52_SERIES
  3468. return false;
  3469. #else
  3470. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  3471. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  3472. uint32_t var1;
  3473. uint32_t var2;
  3474. if (*(uint32_t *)0x10000130ul == 0xFFFFFFFF)
  3475. {
  3476. var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  3477. var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  3478. }
  3479. else
  3480. {
  3481. var1 = *(uint32_t *)0x10000130ul;
  3482. var2 = *(uint32_t *)0x10000134ul;
  3483. }
  3484. #elif defined (NRF52805_XXAA) || defined (DEVELOP_IN_NRF52805)\
  3485. || defined (NRF52810_XXAA) || defined (DEVELOP_IN_NRF52810)\
  3486. || defined (NRF52811_XXAA) || defined (DEVELOP_IN_NRF52811)
  3487. uint32_t var1 = *(uint32_t *)0x10000130ul;
  3488. uint32_t var2 = *(uint32_t *)0x10000134ul;
  3489. #endif
  3490. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  3491. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  3492. if (var1 == 0x06)
  3493. {
  3494. switch(var2)
  3495. {
  3496. case 0x03ul:
  3497. return true;
  3498. case 0x04ul:
  3499. return true;
  3500. case 0x05ul:
  3501. return true;
  3502. case 0x06ul:
  3503. return true;
  3504. default:
  3505. return true;
  3506. }
  3507. }
  3508. #endif
  3509. #if defined (NRF52810_XXAA) || defined (DEVELOP_IN_NRF52810)
  3510. if (var1 == 0x0A)
  3511. {
  3512. switch(var2)
  3513. {
  3514. case 0x00ul:
  3515. return true;
  3516. case 0x01ul:
  3517. return true;
  3518. default:
  3519. return true;
  3520. }
  3521. }
  3522. #endif
  3523. #if defined (NRF52811_XXAA) || defined (DEVELOP_IN_NRF52811)
  3524. if (var1 == 0x0E)
  3525. {
  3526. switch(var2)
  3527. {
  3528. case 0x00ul:
  3529. return true;
  3530. default:
  3531. return true;
  3532. }
  3533. }
  3534. #endif
  3535. #if defined (NRF52805_XXAA) || defined (DEVELOP_IN_NRF52805)
  3536. if (var1 == 0x0F)
  3537. {
  3538. switch(var2)
  3539. {
  3540. case 0x00ul:
  3541. return true;
  3542. default:
  3543. return true;
  3544. }
  3545. }
  3546. #endif
  3547. return false;
  3548. #endif
  3549. }
  3550. static bool nrf52_errata_89(void)
  3551. {
  3552. #ifndef NRF52_SERIES
  3553. return false;
  3554. #else
  3555. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  3556. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  3557. uint32_t var1;
  3558. uint32_t var2;
  3559. if (*(uint32_t *)0x10000130ul == 0xFFFFFFFF)
  3560. {
  3561. var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  3562. var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  3563. }
  3564. else
  3565. {
  3566. var1 = *(uint32_t *)0x10000130ul;
  3567. var2 = *(uint32_t *)0x10000134ul;
  3568. }
  3569. #elif defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  3570. uint32_t var1 = *(uint32_t *)0x10000130ul;
  3571. uint32_t var2 = *(uint32_t *)0x10000134ul;
  3572. #endif
  3573. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  3574. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  3575. if (var1 == 0x06)
  3576. {
  3577. switch(var2)
  3578. {
  3579. case 0x03ul:
  3580. return false;
  3581. case 0x04ul:
  3582. return true;
  3583. case 0x05ul:
  3584. return true;
  3585. case 0x06ul:
  3586. return true;
  3587. default:
  3588. return true;
  3589. }
  3590. }
  3591. #endif
  3592. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  3593. if (var1 == 0x08)
  3594. {
  3595. switch(var2)
  3596. {
  3597. case 0x00ul:
  3598. return true;
  3599. case 0x01ul:
  3600. return false;
  3601. case 0x02ul:
  3602. return false;
  3603. case 0x03ul:
  3604. return false;
  3605. default:
  3606. return false;
  3607. }
  3608. }
  3609. #endif
  3610. return false;
  3611. #endif
  3612. }
  3613. static bool nrf52_errata_91(void)
  3614. {
  3615. #ifndef NRF52_SERIES
  3616. return false;
  3617. #else
  3618. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  3619. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  3620. uint32_t var1;
  3621. uint32_t var2;
  3622. if (*(uint32_t *)0x10000130ul == 0xFFFFFFFF)
  3623. {
  3624. var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  3625. var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  3626. }
  3627. else
  3628. {
  3629. var1 = *(uint32_t *)0x10000130ul;
  3630. var2 = *(uint32_t *)0x10000134ul;
  3631. }
  3632. #endif
  3633. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  3634. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  3635. if (var1 == 0x06)
  3636. {
  3637. switch(var2)
  3638. {
  3639. case 0x03ul:
  3640. return false;
  3641. case 0x04ul:
  3642. return false;
  3643. case 0x05ul:
  3644. return true;
  3645. case 0x06ul:
  3646. return true;
  3647. default:
  3648. return true;
  3649. }
  3650. }
  3651. #endif
  3652. return false;
  3653. #endif
  3654. }
  3655. static bool nrf52_errata_94(void)
  3656. {
  3657. #ifndef NRF52_SERIES
  3658. return false;
  3659. #else
  3660. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  3661. uint32_t var1 = *(uint32_t *)0x10000130ul;
  3662. uint32_t var2 = *(uint32_t *)0x10000134ul;
  3663. #endif
  3664. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  3665. if (var1 == 0x08)
  3666. {
  3667. switch(var2)
  3668. {
  3669. case 0x00ul:
  3670. return true;
  3671. case 0x01ul:
  3672. return true;
  3673. case 0x02ul:
  3674. return false;
  3675. case 0x03ul:
  3676. return false;
  3677. default:
  3678. return false;
  3679. }
  3680. }
  3681. #endif
  3682. return false;
  3683. #endif
  3684. }
  3685. static bool nrf52_errata_96(void)
  3686. {
  3687. #ifndef NRF52_SERIES
  3688. return false;
  3689. #else
  3690. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  3691. uint32_t var1 = *(uint32_t *)0x10000130ul;
  3692. uint32_t var2 = *(uint32_t *)0x10000134ul;
  3693. #endif
  3694. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  3695. if (var1 == 0x08)
  3696. {
  3697. switch(var2)
  3698. {
  3699. case 0x00ul:
  3700. return true;
  3701. case 0x01ul:
  3702. return false;
  3703. case 0x02ul:
  3704. return false;
  3705. case 0x03ul:
  3706. return false;
  3707. default:
  3708. return false;
  3709. }
  3710. }
  3711. #endif
  3712. return false;
  3713. #endif
  3714. }
  3715. static bool nrf52_errata_97(void)
  3716. {
  3717. #ifndef NRF52_SERIES
  3718. return false;
  3719. #else
  3720. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  3721. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  3722. uint32_t var1;
  3723. uint32_t var2;
  3724. if (*(uint32_t *)0x10000130ul == 0xFFFFFFFF)
  3725. {
  3726. var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  3727. var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  3728. }
  3729. else
  3730. {
  3731. var1 = *(uint32_t *)0x10000130ul;
  3732. var2 = *(uint32_t *)0x10000134ul;
  3733. }
  3734. #elif defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  3735. uint32_t var1 = *(uint32_t *)0x10000130ul;
  3736. uint32_t var2 = *(uint32_t *)0x10000134ul;
  3737. #endif
  3738. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  3739. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  3740. if (var1 == 0x06)
  3741. {
  3742. switch(var2)
  3743. {
  3744. case 0x03ul:
  3745. return true;
  3746. case 0x04ul:
  3747. return true;
  3748. case 0x05ul:
  3749. return true;
  3750. case 0x06ul:
  3751. return true;
  3752. default:
  3753. return true;
  3754. }
  3755. }
  3756. #endif
  3757. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  3758. if (var1 == 0x08)
  3759. {
  3760. switch(var2)
  3761. {
  3762. case 0x00ul:
  3763. return true;
  3764. case 0x01ul:
  3765. return false;
  3766. case 0x02ul:
  3767. return false;
  3768. case 0x03ul:
  3769. return false;
  3770. default:
  3771. return false;
  3772. }
  3773. }
  3774. #endif
  3775. return false;
  3776. #endif
  3777. }
  3778. static bool nrf52_errata_98(void)
  3779. {
  3780. #ifndef NRF52_SERIES
  3781. return false;
  3782. #else
  3783. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  3784. uint32_t var1 = *(uint32_t *)0x10000130ul;
  3785. uint32_t var2 = *(uint32_t *)0x10000134ul;
  3786. #endif
  3787. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  3788. if (var1 == 0x08)
  3789. {
  3790. switch(var2)
  3791. {
  3792. case 0x00ul:
  3793. return true;
  3794. case 0x01ul:
  3795. return false;
  3796. case 0x02ul:
  3797. return false;
  3798. case 0x03ul:
  3799. return false;
  3800. default:
  3801. return false;
  3802. }
  3803. }
  3804. #endif
  3805. return false;
  3806. #endif
  3807. }
  3808. static bool nrf52_errata_101(void)
  3809. {
  3810. #ifndef NRF52_SERIES
  3811. return false;
  3812. #else
  3813. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  3814. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  3815. uint32_t var1;
  3816. uint32_t var2;
  3817. if (*(uint32_t *)0x10000130ul == 0xFFFFFFFF)
  3818. {
  3819. var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  3820. var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  3821. }
  3822. else
  3823. {
  3824. var1 = *(uint32_t *)0x10000130ul;
  3825. var2 = *(uint32_t *)0x10000134ul;
  3826. }
  3827. #endif
  3828. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  3829. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  3830. if (var1 == 0x06)
  3831. {
  3832. switch(var2)
  3833. {
  3834. case 0x03ul:
  3835. return false;
  3836. case 0x04ul:
  3837. return true;
  3838. case 0x05ul:
  3839. return true;
  3840. case 0x06ul:
  3841. return true;
  3842. default:
  3843. return true;
  3844. }
  3845. }
  3846. #endif
  3847. return false;
  3848. #endif
  3849. }
  3850. static bool nrf52_errata_102(void)
  3851. {
  3852. #ifndef NRF52_SERIES
  3853. return false;
  3854. #else
  3855. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  3856. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  3857. uint32_t var1;
  3858. uint32_t var2;
  3859. if (*(uint32_t *)0x10000130ul == 0xFFFFFFFF)
  3860. {
  3861. var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  3862. var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  3863. }
  3864. else
  3865. {
  3866. var1 = *(uint32_t *)0x10000130ul;
  3867. var2 = *(uint32_t *)0x10000134ul;
  3868. }
  3869. #endif
  3870. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  3871. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  3872. if (var1 == 0x06)
  3873. {
  3874. switch(var2)
  3875. {
  3876. case 0x03ul:
  3877. return false;
  3878. case 0x04ul:
  3879. return true;
  3880. case 0x05ul:
  3881. return true;
  3882. case 0x06ul:
  3883. return false;
  3884. default:
  3885. return false;
  3886. }
  3887. }
  3888. #endif
  3889. return false;
  3890. #endif
  3891. }
  3892. static bool nrf52_errata_103(void)
  3893. {
  3894. #ifndef NRF52_SERIES
  3895. return false;
  3896. #else
  3897. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  3898. uint32_t var1 = *(uint32_t *)0x10000130ul;
  3899. uint32_t var2 = *(uint32_t *)0x10000134ul;
  3900. #endif
  3901. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  3902. if (var1 == 0x08)
  3903. {
  3904. switch(var2)
  3905. {
  3906. case 0x00ul:
  3907. return true;
  3908. case 0x01ul:
  3909. return false;
  3910. case 0x02ul:
  3911. return false;
  3912. case 0x03ul:
  3913. return false;
  3914. default:
  3915. return false;
  3916. }
  3917. }
  3918. #endif
  3919. return false;
  3920. #endif
  3921. }
  3922. static bool nrf52_errata_104(void)
  3923. {
  3924. #ifndef NRF52_SERIES
  3925. return false;
  3926. #else
  3927. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  3928. uint32_t var1 = *(uint32_t *)0x10000130ul;
  3929. uint32_t var2 = *(uint32_t *)0x10000134ul;
  3930. #endif
  3931. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  3932. if (var1 == 0x08)
  3933. {
  3934. switch(var2)
  3935. {
  3936. case 0x00ul:
  3937. return true;
  3938. case 0x01ul:
  3939. return false;
  3940. case 0x02ul:
  3941. return false;
  3942. case 0x03ul:
  3943. return false;
  3944. default:
  3945. return false;
  3946. }
  3947. }
  3948. #endif
  3949. return false;
  3950. #endif
  3951. }
  3952. static bool nrf52_errata_106(void)
  3953. {
  3954. #ifndef NRF52_SERIES
  3955. return false;
  3956. #else
  3957. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  3958. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  3959. uint32_t var1;
  3960. uint32_t var2;
  3961. if (*(uint32_t *)0x10000130ul == 0xFFFFFFFF)
  3962. {
  3963. var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  3964. var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  3965. }
  3966. else
  3967. {
  3968. var1 = *(uint32_t *)0x10000130ul;
  3969. var2 = *(uint32_t *)0x10000134ul;
  3970. }
  3971. #endif
  3972. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  3973. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  3974. if (var1 == 0x06)
  3975. {
  3976. switch(var2)
  3977. {
  3978. case 0x03ul:
  3979. return false;
  3980. case 0x04ul:
  3981. return false;
  3982. case 0x05ul:
  3983. return true;
  3984. case 0x06ul:
  3985. return false;
  3986. default:
  3987. return false;
  3988. }
  3989. }
  3990. #endif
  3991. return false;
  3992. #endif
  3993. }
  3994. static bool nrf52_errata_107(void)
  3995. {
  3996. #ifndef NRF52_SERIES
  3997. return false;
  3998. #else
  3999. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  4000. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  4001. uint32_t var1;
  4002. uint32_t var2;
  4003. if (*(uint32_t *)0x10000130ul == 0xFFFFFFFF)
  4004. {
  4005. var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  4006. var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  4007. }
  4008. else
  4009. {
  4010. var1 = *(uint32_t *)0x10000130ul;
  4011. var2 = *(uint32_t *)0x10000134ul;
  4012. }
  4013. #endif
  4014. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  4015. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  4016. if (var1 == 0x06)
  4017. {
  4018. switch(var2)
  4019. {
  4020. case 0x03ul:
  4021. return false;
  4022. case 0x04ul:
  4023. return false;
  4024. case 0x05ul:
  4025. return true;
  4026. case 0x06ul:
  4027. return false;
  4028. default:
  4029. return false;
  4030. }
  4031. }
  4032. #endif
  4033. return false;
  4034. #endif
  4035. }
  4036. static bool nrf52_errata_108(void)
  4037. {
  4038. #ifndef NRF52_SERIES
  4039. return false;
  4040. #else
  4041. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  4042. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  4043. uint32_t var1;
  4044. uint32_t var2;
  4045. if (*(uint32_t *)0x10000130ul == 0xFFFFFFFF)
  4046. {
  4047. var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  4048. var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  4049. }
  4050. else
  4051. {
  4052. var1 = *(uint32_t *)0x10000130ul;
  4053. var2 = *(uint32_t *)0x10000134ul;
  4054. }
  4055. #endif
  4056. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  4057. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  4058. if (var1 == 0x06)
  4059. {
  4060. switch(var2)
  4061. {
  4062. case 0x03ul:
  4063. return true;
  4064. case 0x04ul:
  4065. return true;
  4066. case 0x05ul:
  4067. return true;
  4068. case 0x06ul:
  4069. return true;
  4070. default:
  4071. return true;
  4072. }
  4073. }
  4074. #endif
  4075. return false;
  4076. #endif
  4077. }
  4078. static bool nrf52_errata_109(void)
  4079. {
  4080. #ifndef NRF52_SERIES
  4081. return false;
  4082. #else
  4083. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  4084. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  4085. uint32_t var1;
  4086. uint32_t var2;
  4087. if (*(uint32_t *)0x10000130ul == 0xFFFFFFFF)
  4088. {
  4089. var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  4090. var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  4091. }
  4092. else
  4093. {
  4094. var1 = *(uint32_t *)0x10000130ul;
  4095. var2 = *(uint32_t *)0x10000134ul;
  4096. }
  4097. #endif
  4098. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  4099. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  4100. if (var1 == 0x06)
  4101. {
  4102. switch(var2)
  4103. {
  4104. case 0x03ul:
  4105. return false;
  4106. case 0x04ul:
  4107. return false;
  4108. case 0x05ul:
  4109. return true;
  4110. case 0x06ul:
  4111. return true;
  4112. default:
  4113. return true;
  4114. }
  4115. }
  4116. #endif
  4117. return false;
  4118. #endif
  4119. }
  4120. static bool nrf52_errata_110(void)
  4121. {
  4122. #ifndef NRF52_SERIES
  4123. return false;
  4124. #else
  4125. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  4126. uint32_t var1 = *(uint32_t *)0x10000130ul;
  4127. uint32_t var2 = *(uint32_t *)0x10000134ul;
  4128. #endif
  4129. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  4130. if (var1 == 0x08)
  4131. {
  4132. switch(var2)
  4133. {
  4134. case 0x00ul:
  4135. return true;
  4136. case 0x01ul:
  4137. return false;
  4138. case 0x02ul:
  4139. return false;
  4140. case 0x03ul:
  4141. return false;
  4142. default:
  4143. return false;
  4144. }
  4145. }
  4146. #endif
  4147. return false;
  4148. #endif
  4149. }
  4150. static bool nrf52_errata_111(void)
  4151. {
  4152. #ifndef NRF52_SERIES
  4153. return false;
  4154. #else
  4155. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  4156. uint32_t var1 = *(uint32_t *)0x10000130ul;
  4157. uint32_t var2 = *(uint32_t *)0x10000134ul;
  4158. #endif
  4159. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  4160. if (var1 == 0x08)
  4161. {
  4162. switch(var2)
  4163. {
  4164. case 0x00ul:
  4165. return true;
  4166. case 0x01ul:
  4167. return false;
  4168. case 0x02ul:
  4169. return false;
  4170. case 0x03ul:
  4171. return false;
  4172. default:
  4173. return false;
  4174. }
  4175. }
  4176. #endif
  4177. return false;
  4178. #endif
  4179. }
  4180. static bool nrf52_errata_112(void)
  4181. {
  4182. #ifndef NRF52_SERIES
  4183. return false;
  4184. #else
  4185. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  4186. uint32_t var1 = *(uint32_t *)0x10000130ul;
  4187. uint32_t var2 = *(uint32_t *)0x10000134ul;
  4188. #endif
  4189. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  4190. if (var1 == 0x08)
  4191. {
  4192. switch(var2)
  4193. {
  4194. case 0x00ul:
  4195. return true;
  4196. case 0x01ul:
  4197. return false;
  4198. case 0x02ul:
  4199. return false;
  4200. case 0x03ul:
  4201. return false;
  4202. default:
  4203. return false;
  4204. }
  4205. }
  4206. #endif
  4207. return false;
  4208. #endif
  4209. }
  4210. static bool nrf52_errata_113(void)
  4211. {
  4212. #ifndef NRF52_SERIES
  4213. return false;
  4214. #else
  4215. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  4216. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  4217. uint32_t var1;
  4218. uint32_t var2;
  4219. if (*(uint32_t *)0x10000130ul == 0xFFFFFFFF)
  4220. {
  4221. var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  4222. var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  4223. }
  4224. else
  4225. {
  4226. var1 = *(uint32_t *)0x10000130ul;
  4227. var2 = *(uint32_t *)0x10000134ul;
  4228. }
  4229. #elif defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  4230. uint32_t var1 = *(uint32_t *)0x10000130ul;
  4231. uint32_t var2 = *(uint32_t *)0x10000134ul;
  4232. #endif
  4233. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  4234. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  4235. if (var1 == 0x06)
  4236. {
  4237. switch(var2)
  4238. {
  4239. case 0x03ul:
  4240. return false;
  4241. case 0x04ul:
  4242. return false;
  4243. case 0x05ul:
  4244. return true;
  4245. case 0x06ul:
  4246. return true;
  4247. default:
  4248. return true;
  4249. }
  4250. }
  4251. #endif
  4252. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  4253. if (var1 == 0x08)
  4254. {
  4255. switch(var2)
  4256. {
  4257. case 0x00ul:
  4258. return true;
  4259. case 0x01ul:
  4260. return false;
  4261. case 0x02ul:
  4262. return false;
  4263. case 0x03ul:
  4264. return false;
  4265. default:
  4266. return false;
  4267. }
  4268. }
  4269. #endif
  4270. return false;
  4271. #endif
  4272. }
  4273. static bool nrf52_errata_115(void)
  4274. {
  4275. #ifndef NRF52_SERIES
  4276. return false;
  4277. #else
  4278. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  4279. uint32_t var1 = *(uint32_t *)0x10000130ul;
  4280. uint32_t var2 = *(uint32_t *)0x10000134ul;
  4281. #endif
  4282. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  4283. if (var1 == 0x08)
  4284. {
  4285. switch(var2)
  4286. {
  4287. case 0x00ul:
  4288. return true;
  4289. case 0x01ul:
  4290. return false;
  4291. case 0x02ul:
  4292. return false;
  4293. case 0x03ul:
  4294. return false;
  4295. default:
  4296. return false;
  4297. }
  4298. }
  4299. #endif
  4300. return false;
  4301. #endif
  4302. }
  4303. static bool nrf52_errata_116(void)
  4304. {
  4305. #ifndef NRF52_SERIES
  4306. return false;
  4307. #else
  4308. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  4309. uint32_t var1 = *(uint32_t *)0x10000130ul;
  4310. uint32_t var2 = *(uint32_t *)0x10000134ul;
  4311. #endif
  4312. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  4313. if (var1 == 0x08)
  4314. {
  4315. switch(var2)
  4316. {
  4317. case 0x00ul:
  4318. return true;
  4319. case 0x01ul:
  4320. return false;
  4321. case 0x02ul:
  4322. return false;
  4323. case 0x03ul:
  4324. return false;
  4325. default:
  4326. return false;
  4327. }
  4328. }
  4329. #endif
  4330. return false;
  4331. #endif
  4332. }
  4333. static bool nrf52_errata_117(void)
  4334. {
  4335. #ifndef NRF52_SERIES
  4336. return false;
  4337. #else
  4338. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  4339. uint32_t var1 = *(uint32_t *)0x10000130ul;
  4340. uint32_t var2 = *(uint32_t *)0x10000134ul;
  4341. #endif
  4342. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  4343. if (var1 == 0x08)
  4344. {
  4345. switch(var2)
  4346. {
  4347. case 0x00ul:
  4348. return true;
  4349. case 0x01ul:
  4350. return false;
  4351. case 0x02ul:
  4352. return false;
  4353. case 0x03ul:
  4354. return false;
  4355. default:
  4356. return false;
  4357. }
  4358. }
  4359. #endif
  4360. return false;
  4361. #endif
  4362. }
  4363. static bool nrf52_errata_118(void)
  4364. {
  4365. #ifndef NRF52_SERIES
  4366. return false;
  4367. #else
  4368. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  4369. uint32_t var1 = *(uint32_t *)0x10000130ul;
  4370. uint32_t var2 = *(uint32_t *)0x10000134ul;
  4371. #endif
  4372. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  4373. if (var1 == 0x08)
  4374. {
  4375. switch(var2)
  4376. {
  4377. case 0x00ul:
  4378. return true;
  4379. case 0x01ul:
  4380. return false;
  4381. case 0x02ul:
  4382. return false;
  4383. case 0x03ul:
  4384. return false;
  4385. default:
  4386. return false;
  4387. }
  4388. }
  4389. #endif
  4390. return false;
  4391. #endif
  4392. }
  4393. static bool nrf52_errata_119(void)
  4394. {
  4395. #ifndef NRF52_SERIES
  4396. return false;
  4397. #else
  4398. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  4399. uint32_t var1 = *(uint32_t *)0x10000130ul;
  4400. uint32_t var2 = *(uint32_t *)0x10000134ul;
  4401. #endif
  4402. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  4403. if (var1 == 0x08)
  4404. {
  4405. switch(var2)
  4406. {
  4407. case 0x00ul:
  4408. return true;
  4409. case 0x01ul:
  4410. return false;
  4411. case 0x02ul:
  4412. return false;
  4413. case 0x03ul:
  4414. return false;
  4415. default:
  4416. return false;
  4417. }
  4418. }
  4419. #endif
  4420. return false;
  4421. #endif
  4422. }
  4423. static bool nrf52_errata_120(void)
  4424. {
  4425. #ifndef NRF52_SERIES
  4426. return false;
  4427. #else
  4428. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  4429. uint32_t var1 = *(uint32_t *)0x10000130ul;
  4430. uint32_t var2 = *(uint32_t *)0x10000134ul;
  4431. #endif
  4432. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  4433. if (var1 == 0x08)
  4434. {
  4435. switch(var2)
  4436. {
  4437. case 0x00ul:
  4438. return true;
  4439. case 0x01ul:
  4440. return false;
  4441. case 0x02ul:
  4442. return false;
  4443. case 0x03ul:
  4444. return false;
  4445. default:
  4446. return false;
  4447. }
  4448. }
  4449. #endif
  4450. return false;
  4451. #endif
  4452. }
  4453. static bool nrf52_errata_121(void)
  4454. {
  4455. #ifndef NRF52_SERIES
  4456. return false;
  4457. #else
  4458. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  4459. uint32_t var1 = *(uint32_t *)0x10000130ul;
  4460. uint32_t var2 = *(uint32_t *)0x10000134ul;
  4461. #endif
  4462. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  4463. if (var1 == 0x08)
  4464. {
  4465. switch(var2)
  4466. {
  4467. case 0x00ul:
  4468. return true;
  4469. case 0x01ul:
  4470. return false;
  4471. case 0x02ul:
  4472. return false;
  4473. case 0x03ul:
  4474. return false;
  4475. default:
  4476. return false;
  4477. }
  4478. }
  4479. #endif
  4480. return false;
  4481. #endif
  4482. }
  4483. static bool nrf52_errata_122(void)
  4484. {
  4485. #ifndef NRF52_SERIES
  4486. return false;
  4487. #else
  4488. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  4489. uint32_t var1 = *(uint32_t *)0x10000130ul;
  4490. uint32_t var2 = *(uint32_t *)0x10000134ul;
  4491. #endif
  4492. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  4493. if (var1 == 0x08)
  4494. {
  4495. switch(var2)
  4496. {
  4497. case 0x00ul:
  4498. return true;
  4499. case 0x01ul:
  4500. return true;
  4501. case 0x02ul:
  4502. return true;
  4503. case 0x03ul:
  4504. return true;
  4505. default:
  4506. return true;
  4507. }
  4508. }
  4509. #endif
  4510. return false;
  4511. #endif
  4512. }
  4513. static bool nrf52_errata_127(void)
  4514. {
  4515. #ifndef NRF52_SERIES
  4516. return false;
  4517. #else
  4518. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  4519. uint32_t var1 = *(uint32_t *)0x10000130ul;
  4520. uint32_t var2 = *(uint32_t *)0x10000134ul;
  4521. #endif
  4522. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  4523. if (var1 == 0x08)
  4524. {
  4525. switch(var2)
  4526. {
  4527. case 0x00ul:
  4528. return true;
  4529. case 0x01ul:
  4530. return false;
  4531. case 0x02ul:
  4532. return false;
  4533. case 0x03ul:
  4534. return false;
  4535. default:
  4536. return false;
  4537. }
  4538. }
  4539. #endif
  4540. return false;
  4541. #endif
  4542. }
  4543. static bool nrf52_errata_128(void)
  4544. {
  4545. #ifndef NRF52_SERIES
  4546. return false;
  4547. #else
  4548. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  4549. uint32_t var1 = *(uint32_t *)0x10000130ul;
  4550. uint32_t var2 = *(uint32_t *)0x10000134ul;
  4551. #endif
  4552. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  4553. if (var1 == 0x08)
  4554. {
  4555. switch(var2)
  4556. {
  4557. case 0x00ul:
  4558. return true;
  4559. case 0x01ul:
  4560. return false;
  4561. case 0x02ul:
  4562. return false;
  4563. case 0x03ul:
  4564. return false;
  4565. default:
  4566. return false;
  4567. }
  4568. }
  4569. #endif
  4570. return false;
  4571. #endif
  4572. }
  4573. static bool nrf52_errata_131(void)
  4574. {
  4575. #ifndef NRF52_SERIES
  4576. return false;
  4577. #else
  4578. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  4579. uint32_t var1 = *(uint32_t *)0x10000130ul;
  4580. uint32_t var2 = *(uint32_t *)0x10000134ul;
  4581. #endif
  4582. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  4583. if (var1 == 0x08)
  4584. {
  4585. switch(var2)
  4586. {
  4587. case 0x00ul:
  4588. return true;
  4589. case 0x01ul:
  4590. return false;
  4591. case 0x02ul:
  4592. return false;
  4593. case 0x03ul:
  4594. return false;
  4595. default:
  4596. return false;
  4597. }
  4598. }
  4599. #endif
  4600. return false;
  4601. #endif
  4602. }
  4603. static bool nrf52_errata_132(void)
  4604. {
  4605. #ifndef NRF52_SERIES
  4606. return false;
  4607. #else
  4608. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  4609. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  4610. uint32_t var1;
  4611. uint32_t var2;
  4612. if (*(uint32_t *)0x10000130ul == 0xFFFFFFFF)
  4613. {
  4614. var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  4615. var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  4616. }
  4617. else
  4618. {
  4619. var1 = *(uint32_t *)0x10000130ul;
  4620. var2 = *(uint32_t *)0x10000134ul;
  4621. }
  4622. #endif
  4623. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  4624. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  4625. if (var1 == 0x06)
  4626. {
  4627. switch(var2)
  4628. {
  4629. case 0x03ul:
  4630. return false;
  4631. case 0x04ul:
  4632. return false;
  4633. case 0x05ul:
  4634. return true;
  4635. case 0x06ul:
  4636. return true;
  4637. default:
  4638. return true;
  4639. }
  4640. }
  4641. #endif
  4642. return false;
  4643. #endif
  4644. }
  4645. static bool nrf52_errata_133(void)
  4646. {
  4647. #ifndef NRF52_SERIES
  4648. return false;
  4649. #else
  4650. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  4651. uint32_t var1 = *(uint32_t *)0x10000130ul;
  4652. uint32_t var2 = *(uint32_t *)0x10000134ul;
  4653. #endif
  4654. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  4655. if (var1 == 0x08)
  4656. {
  4657. switch(var2)
  4658. {
  4659. case 0x00ul:
  4660. return true;
  4661. case 0x01ul:
  4662. return false;
  4663. case 0x02ul:
  4664. return false;
  4665. case 0x03ul:
  4666. return false;
  4667. default:
  4668. return false;
  4669. }
  4670. }
  4671. #endif
  4672. return false;
  4673. #endif
  4674. }
  4675. static bool nrf52_errata_134(void)
  4676. {
  4677. #ifndef NRF52_SERIES
  4678. return false;
  4679. #else
  4680. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  4681. uint32_t var1 = *(uint32_t *)0x10000130ul;
  4682. uint32_t var2 = *(uint32_t *)0x10000134ul;
  4683. #endif
  4684. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  4685. if (var1 == 0x08)
  4686. {
  4687. switch(var2)
  4688. {
  4689. case 0x00ul:
  4690. return true;
  4691. case 0x01ul:
  4692. return false;
  4693. case 0x02ul:
  4694. return false;
  4695. case 0x03ul:
  4696. return false;
  4697. default:
  4698. return false;
  4699. }
  4700. }
  4701. #endif
  4702. return false;
  4703. #endif
  4704. }
  4705. static bool nrf52_errata_135(void)
  4706. {
  4707. #ifndef NRF52_SERIES
  4708. return false;
  4709. #else
  4710. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  4711. uint32_t var1 = *(uint32_t *)0x10000130ul;
  4712. uint32_t var2 = *(uint32_t *)0x10000134ul;
  4713. #endif
  4714. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  4715. if (var1 == 0x08)
  4716. {
  4717. switch(var2)
  4718. {
  4719. case 0x00ul:
  4720. return true;
  4721. case 0x01ul:
  4722. return false;
  4723. case 0x02ul:
  4724. return false;
  4725. case 0x03ul:
  4726. return false;
  4727. default:
  4728. return false;
  4729. }
  4730. }
  4731. #endif
  4732. return false;
  4733. #endif
  4734. }
  4735. static bool nrf52_errata_136(void)
  4736. {
  4737. #ifndef NRF52_SERIES
  4738. return false;
  4739. #else
  4740. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  4741. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  4742. uint32_t var1;
  4743. uint32_t var2;
  4744. if (*(uint32_t *)0x10000130ul == 0xFFFFFFFF)
  4745. {
  4746. var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  4747. var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  4748. }
  4749. else
  4750. {
  4751. var1 = *(uint32_t *)0x10000130ul;
  4752. var2 = *(uint32_t *)0x10000134ul;
  4753. }
  4754. #elif defined (NRF52805_XXAA) || defined (DEVELOP_IN_NRF52805)\
  4755. || defined (NRF52810_XXAA) || defined (DEVELOP_IN_NRF52810)\
  4756. || defined (NRF52811_XXAA) || defined (DEVELOP_IN_NRF52811)\
  4757. || defined (NRF52820_XXAA) || defined (DEVELOP_IN_NRF52820)\
  4758. || defined (NRF52833_XXAA) || defined (DEVELOP_IN_NRF52833)\
  4759. || defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  4760. uint32_t var1 = *(uint32_t *)0x10000130ul;
  4761. uint32_t var2 = *(uint32_t *)0x10000134ul;
  4762. #endif
  4763. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  4764. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  4765. if (var1 == 0x06)
  4766. {
  4767. switch(var2)
  4768. {
  4769. case 0x03ul:
  4770. return true;
  4771. case 0x04ul:
  4772. return true;
  4773. case 0x05ul:
  4774. return true;
  4775. case 0x06ul:
  4776. return true;
  4777. default:
  4778. return true;
  4779. }
  4780. }
  4781. #endif
  4782. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  4783. if (var1 == 0x08)
  4784. {
  4785. switch(var2)
  4786. {
  4787. case 0x00ul:
  4788. return true;
  4789. case 0x01ul:
  4790. return true;
  4791. case 0x02ul:
  4792. return true;
  4793. case 0x03ul:
  4794. return true;
  4795. default:
  4796. return true;
  4797. }
  4798. }
  4799. #endif
  4800. #if defined (NRF52810_XXAA) || defined (DEVELOP_IN_NRF52810)
  4801. if (var1 == 0x0A)
  4802. {
  4803. switch(var2)
  4804. {
  4805. case 0x00ul:
  4806. return true;
  4807. case 0x01ul:
  4808. return true;
  4809. default:
  4810. return true;
  4811. }
  4812. }
  4813. #endif
  4814. #if defined (NRF52833_XXAA) || defined (DEVELOP_IN_NRF52833)
  4815. if (var1 == 0x0D)
  4816. {
  4817. switch(var2)
  4818. {
  4819. case 0x00ul:
  4820. return true;
  4821. case 0x01ul:
  4822. return true;
  4823. default:
  4824. return true;
  4825. }
  4826. }
  4827. #endif
  4828. #if defined (NRF52811_XXAA) || defined (DEVELOP_IN_NRF52811)
  4829. if (var1 == 0x0E)
  4830. {
  4831. switch(var2)
  4832. {
  4833. case 0x00ul:
  4834. return true;
  4835. default:
  4836. return true;
  4837. }
  4838. }
  4839. #endif
  4840. #if defined (NRF52805_XXAA) || defined (DEVELOP_IN_NRF52805)
  4841. if (var1 == 0x0F)
  4842. {
  4843. switch(var2)
  4844. {
  4845. case 0x00ul:
  4846. return true;
  4847. default:
  4848. return true;
  4849. }
  4850. }
  4851. #endif
  4852. #if defined (NRF52820_XXAA) || defined (DEVELOP_IN_NRF52820)
  4853. if (var1 == 0x10)
  4854. {
  4855. switch(var2)
  4856. {
  4857. case 0x00ul:
  4858. return true;
  4859. case 0x01ul:
  4860. return true;
  4861. case 0x02ul:
  4862. return true;
  4863. default:
  4864. return true;
  4865. }
  4866. }
  4867. #endif
  4868. return false;
  4869. #endif
  4870. }
  4871. static bool nrf52_errata_138(void)
  4872. {
  4873. #ifndef NRF52_SERIES
  4874. return false;
  4875. #else
  4876. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  4877. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  4878. uint32_t var1;
  4879. uint32_t var2;
  4880. if (*(uint32_t *)0x10000130ul == 0xFFFFFFFF)
  4881. {
  4882. var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  4883. var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  4884. }
  4885. else
  4886. {
  4887. var1 = *(uint32_t *)0x10000130ul;
  4888. var2 = *(uint32_t *)0x10000134ul;
  4889. }
  4890. #endif
  4891. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  4892. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  4893. if (var1 == 0x06)
  4894. {
  4895. switch(var2)
  4896. {
  4897. case 0x03ul:
  4898. return false;
  4899. case 0x04ul:
  4900. return false;
  4901. case 0x05ul:
  4902. return true;
  4903. case 0x06ul:
  4904. return true;
  4905. default:
  4906. return true;
  4907. }
  4908. }
  4909. #endif
  4910. return false;
  4911. #endif
  4912. }
  4913. static bool nrf52_errata_140(void)
  4914. {
  4915. #ifndef NRF52_SERIES
  4916. return false;
  4917. #else
  4918. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  4919. uint32_t var1 = *(uint32_t *)0x10000130ul;
  4920. uint32_t var2 = *(uint32_t *)0x10000134ul;
  4921. #endif
  4922. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  4923. if (var1 == 0x08)
  4924. {
  4925. switch(var2)
  4926. {
  4927. case 0x00ul:
  4928. return true;
  4929. case 0x01ul:
  4930. return false;
  4931. case 0x02ul:
  4932. return false;
  4933. case 0x03ul:
  4934. return false;
  4935. default:
  4936. return false;
  4937. }
  4938. }
  4939. #endif
  4940. return false;
  4941. #endif
  4942. }
  4943. static bool nrf52_errata_141(void)
  4944. {
  4945. #ifndef NRF52_SERIES
  4946. return false;
  4947. #else
  4948. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  4949. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  4950. uint32_t var1;
  4951. uint32_t var2;
  4952. if (*(uint32_t *)0x10000130ul == 0xFFFFFFFF)
  4953. {
  4954. var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  4955. var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  4956. }
  4957. else
  4958. {
  4959. var1 = *(uint32_t *)0x10000130ul;
  4960. var2 = *(uint32_t *)0x10000134ul;
  4961. }
  4962. #endif
  4963. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  4964. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  4965. if (var1 == 0x06)
  4966. {
  4967. switch(var2)
  4968. {
  4969. case 0x03ul:
  4970. return false;
  4971. case 0x04ul:
  4972. return false;
  4973. case 0x05ul:
  4974. return true;
  4975. case 0x06ul:
  4976. return true;
  4977. default:
  4978. return true;
  4979. }
  4980. }
  4981. #endif
  4982. return false;
  4983. #endif
  4984. }
  4985. static bool nrf52_errata_142(void)
  4986. {
  4987. #ifndef NRF52_SERIES
  4988. return false;
  4989. #else
  4990. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  4991. uint32_t var1 = *(uint32_t *)0x10000130ul;
  4992. uint32_t var2 = *(uint32_t *)0x10000134ul;
  4993. #endif
  4994. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  4995. if (var1 == 0x08)
  4996. {
  4997. switch(var2)
  4998. {
  4999. case 0x00ul:
  5000. return true;
  5001. case 0x01ul:
  5002. return false;
  5003. case 0x02ul:
  5004. return false;
  5005. case 0x03ul:
  5006. return false;
  5007. default:
  5008. return false;
  5009. }
  5010. }
  5011. #endif
  5012. return false;
  5013. #endif
  5014. }
  5015. static bool nrf52_errata_143(void)
  5016. {
  5017. #ifndef NRF52_SERIES
  5018. return false;
  5019. #else
  5020. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  5021. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  5022. uint32_t var1;
  5023. uint32_t var2;
  5024. if (*(uint32_t *)0x10000130ul == 0xFFFFFFFF)
  5025. {
  5026. var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  5027. var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  5028. }
  5029. else
  5030. {
  5031. var1 = *(uint32_t *)0x10000130ul;
  5032. var2 = *(uint32_t *)0x10000134ul;
  5033. }
  5034. #elif defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  5035. uint32_t var1 = *(uint32_t *)0x10000130ul;
  5036. uint32_t var2 = *(uint32_t *)0x10000134ul;
  5037. #endif
  5038. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  5039. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  5040. if (var1 == 0x06)
  5041. {
  5042. switch(var2)
  5043. {
  5044. case 0x03ul:
  5045. return false;
  5046. case 0x04ul:
  5047. return false;
  5048. case 0x05ul:
  5049. return true;
  5050. case 0x06ul:
  5051. return true;
  5052. default:
  5053. return true;
  5054. }
  5055. }
  5056. #endif
  5057. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  5058. if (var1 == 0x08)
  5059. {
  5060. switch(var2)
  5061. {
  5062. case 0x00ul:
  5063. return true;
  5064. case 0x01ul:
  5065. return false;
  5066. case 0x02ul:
  5067. return false;
  5068. case 0x03ul:
  5069. return false;
  5070. default:
  5071. return false;
  5072. }
  5073. }
  5074. #endif
  5075. return false;
  5076. #endif
  5077. }
  5078. static bool nrf52_errata_144(void)
  5079. {
  5080. #ifndef NRF52_SERIES
  5081. return false;
  5082. #else
  5083. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  5084. uint32_t var1 = *(uint32_t *)0x10000130ul;
  5085. uint32_t var2 = *(uint32_t *)0x10000134ul;
  5086. #endif
  5087. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  5088. if (var1 == 0x08)
  5089. {
  5090. switch(var2)
  5091. {
  5092. case 0x00ul:
  5093. return true;
  5094. case 0x01ul:
  5095. return false;
  5096. case 0x02ul:
  5097. return false;
  5098. case 0x03ul:
  5099. return false;
  5100. default:
  5101. return false;
  5102. }
  5103. }
  5104. #endif
  5105. return false;
  5106. #endif
  5107. }
  5108. static bool nrf52_errata_145(void)
  5109. {
  5110. #ifndef NRF52_SERIES
  5111. return false;
  5112. #else
  5113. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  5114. uint32_t var1 = *(uint32_t *)0x10000130ul;
  5115. uint32_t var2 = *(uint32_t *)0x10000134ul;
  5116. #endif
  5117. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  5118. if (var1 == 0x08)
  5119. {
  5120. switch(var2)
  5121. {
  5122. case 0x00ul:
  5123. return true;
  5124. case 0x01ul:
  5125. return false;
  5126. case 0x02ul:
  5127. return false;
  5128. case 0x03ul:
  5129. return false;
  5130. default:
  5131. return false;
  5132. }
  5133. }
  5134. #endif
  5135. return false;
  5136. #endif
  5137. }
  5138. static bool nrf52_errata_146(void)
  5139. {
  5140. #ifndef NRF52_SERIES
  5141. return false;
  5142. #else
  5143. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  5144. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  5145. uint32_t var1;
  5146. uint32_t var2;
  5147. if (*(uint32_t *)0x10000130ul == 0xFFFFFFFF)
  5148. {
  5149. var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  5150. var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  5151. }
  5152. else
  5153. {
  5154. var1 = *(uint32_t *)0x10000130ul;
  5155. var2 = *(uint32_t *)0x10000134ul;
  5156. }
  5157. #endif
  5158. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  5159. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  5160. if (var1 == 0x06)
  5161. {
  5162. switch(var2)
  5163. {
  5164. case 0x03ul:
  5165. return false;
  5166. case 0x04ul:
  5167. return true;
  5168. case 0x05ul:
  5169. return true;
  5170. case 0x06ul:
  5171. return true;
  5172. default:
  5173. return true;
  5174. }
  5175. }
  5176. #endif
  5177. return false;
  5178. #endif
  5179. }
  5180. static bool nrf52_errata_147(void)
  5181. {
  5182. #ifndef NRF52_SERIES
  5183. return false;
  5184. #else
  5185. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  5186. uint32_t var1 = *(uint32_t *)0x10000130ul;
  5187. uint32_t var2 = *(uint32_t *)0x10000134ul;
  5188. #endif
  5189. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  5190. if (var1 == 0x08)
  5191. {
  5192. switch(var2)
  5193. {
  5194. case 0x00ul:
  5195. return true;
  5196. case 0x01ul:
  5197. return false;
  5198. case 0x02ul:
  5199. return false;
  5200. case 0x03ul:
  5201. return false;
  5202. default:
  5203. return false;
  5204. }
  5205. }
  5206. #endif
  5207. return false;
  5208. #endif
  5209. }
  5210. static bool nrf52_errata_149(void)
  5211. {
  5212. #ifndef NRF52_SERIES
  5213. return false;
  5214. #else
  5215. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  5216. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  5217. uint32_t var1;
  5218. uint32_t var2;
  5219. if (*(uint32_t *)0x10000130ul == 0xFFFFFFFF)
  5220. {
  5221. var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  5222. var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  5223. }
  5224. else
  5225. {
  5226. var1 = *(uint32_t *)0x10000130ul;
  5227. var2 = *(uint32_t *)0x10000134ul;
  5228. }
  5229. #endif
  5230. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  5231. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  5232. if (var1 == 0x06)
  5233. {
  5234. switch(var2)
  5235. {
  5236. case 0x03ul:
  5237. return false;
  5238. case 0x04ul:
  5239. return false;
  5240. case 0x05ul:
  5241. return true;
  5242. case 0x06ul:
  5243. return true;
  5244. default:
  5245. return true;
  5246. }
  5247. }
  5248. #endif
  5249. return false;
  5250. #endif
  5251. }
  5252. static bool nrf52_errata_150(void)
  5253. {
  5254. #ifndef NRF52_SERIES
  5255. return false;
  5256. #else
  5257. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  5258. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  5259. uint32_t var1;
  5260. uint32_t var2;
  5261. if (*(uint32_t *)0x10000130ul == 0xFFFFFFFF)
  5262. {
  5263. var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  5264. var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  5265. }
  5266. else
  5267. {
  5268. var1 = *(uint32_t *)0x10000130ul;
  5269. var2 = *(uint32_t *)0x10000134ul;
  5270. }
  5271. #elif defined (NRF52810_XXAA) || defined (DEVELOP_IN_NRF52810)\
  5272. || defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  5273. uint32_t var1 = *(uint32_t *)0x10000130ul;
  5274. uint32_t var2 = *(uint32_t *)0x10000134ul;
  5275. #endif
  5276. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  5277. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  5278. if (var1 == 0x06)
  5279. {
  5280. switch(var2)
  5281. {
  5282. case 0x03ul:
  5283. return false;
  5284. case 0x04ul:
  5285. return false;
  5286. case 0x05ul:
  5287. return true;
  5288. case 0x06ul:
  5289. return true;
  5290. default:
  5291. return true;
  5292. }
  5293. }
  5294. #endif
  5295. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  5296. if (var1 == 0x08)
  5297. {
  5298. switch(var2)
  5299. {
  5300. case 0x00ul:
  5301. return true;
  5302. case 0x01ul:
  5303. return false;
  5304. case 0x02ul:
  5305. return false;
  5306. case 0x03ul:
  5307. return false;
  5308. default:
  5309. return false;
  5310. }
  5311. }
  5312. #endif
  5313. #if defined (NRF52810_XXAA) || defined (DEVELOP_IN_NRF52810)
  5314. if (var1 == 0x0A)
  5315. {
  5316. switch(var2)
  5317. {
  5318. case 0x00ul:
  5319. return true;
  5320. case 0x01ul:
  5321. return false;
  5322. default:
  5323. return false;
  5324. }
  5325. }
  5326. #endif
  5327. return false;
  5328. #endif
  5329. }
  5330. static bool nrf52_errata_151(void)
  5331. {
  5332. #ifndef NRF52_SERIES
  5333. return false;
  5334. #else
  5335. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  5336. uint32_t var1 = *(uint32_t *)0x10000130ul;
  5337. uint32_t var2 = *(uint32_t *)0x10000134ul;
  5338. #endif
  5339. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  5340. if (var1 == 0x08)
  5341. {
  5342. switch(var2)
  5343. {
  5344. case 0x00ul:
  5345. return true;
  5346. case 0x01ul:
  5347. return false;
  5348. case 0x02ul:
  5349. return false;
  5350. case 0x03ul:
  5351. return false;
  5352. default:
  5353. return false;
  5354. }
  5355. }
  5356. #endif
  5357. return false;
  5358. #endif
  5359. }
  5360. static bool nrf52_errata_153(void)
  5361. {
  5362. #ifndef NRF52_SERIES
  5363. return false;
  5364. #else
  5365. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  5366. uint32_t var1 = *(uint32_t *)0x10000130ul;
  5367. uint32_t var2 = *(uint32_t *)0x10000134ul;
  5368. #endif
  5369. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  5370. if (var1 == 0x08)
  5371. {
  5372. switch(var2)
  5373. {
  5374. case 0x00ul:
  5375. return true;
  5376. case 0x01ul:
  5377. return true;
  5378. case 0x02ul:
  5379. return true;
  5380. case 0x03ul:
  5381. return true;
  5382. default:
  5383. return true;
  5384. }
  5385. }
  5386. #endif
  5387. return false;
  5388. #endif
  5389. }
  5390. static bool nrf52_errata_154(void)
  5391. {
  5392. #ifndef NRF52_SERIES
  5393. return false;
  5394. #else
  5395. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  5396. uint32_t var1 = *(uint32_t *)0x10000130ul;
  5397. uint32_t var2 = *(uint32_t *)0x10000134ul;
  5398. #endif
  5399. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  5400. if (var1 == 0x08)
  5401. {
  5402. switch(var2)
  5403. {
  5404. case 0x00ul:
  5405. return true;
  5406. case 0x01ul:
  5407. return false;
  5408. case 0x02ul:
  5409. return false;
  5410. case 0x03ul:
  5411. return false;
  5412. default:
  5413. return false;
  5414. }
  5415. }
  5416. #endif
  5417. return false;
  5418. #endif
  5419. }
  5420. static bool nrf52_errata_155(void)
  5421. {
  5422. #ifndef NRF52_SERIES
  5423. return false;
  5424. #else
  5425. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  5426. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  5427. uint32_t var1;
  5428. uint32_t var2;
  5429. if (*(uint32_t *)0x10000130ul == 0xFFFFFFFF)
  5430. {
  5431. var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  5432. var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  5433. }
  5434. else
  5435. {
  5436. var1 = *(uint32_t *)0x10000130ul;
  5437. var2 = *(uint32_t *)0x10000134ul;
  5438. }
  5439. #elif defined (NRF52805_XXAA) || defined (DEVELOP_IN_NRF52805)\
  5440. || defined (NRF52810_XXAA) || defined (DEVELOP_IN_NRF52810)\
  5441. || defined (NRF52811_XXAA) || defined (DEVELOP_IN_NRF52811)\
  5442. || defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  5443. uint32_t var1 = *(uint32_t *)0x10000130ul;
  5444. uint32_t var2 = *(uint32_t *)0x10000134ul;
  5445. #endif
  5446. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  5447. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  5448. if (var1 == 0x06)
  5449. {
  5450. switch(var2)
  5451. {
  5452. case 0x03ul:
  5453. return false;
  5454. case 0x04ul:
  5455. return false;
  5456. case 0x05ul:
  5457. return true;
  5458. case 0x06ul:
  5459. return true;
  5460. default:
  5461. return true;
  5462. }
  5463. }
  5464. #endif
  5465. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  5466. if (var1 == 0x08)
  5467. {
  5468. switch(var2)
  5469. {
  5470. case 0x00ul:
  5471. return true;
  5472. case 0x01ul:
  5473. return true;
  5474. case 0x02ul:
  5475. return true;
  5476. case 0x03ul:
  5477. return true;
  5478. default:
  5479. return true;
  5480. }
  5481. }
  5482. #endif
  5483. #if defined (NRF52810_XXAA) || defined (DEVELOP_IN_NRF52810)
  5484. if (var1 == 0x0A)
  5485. {
  5486. switch(var2)
  5487. {
  5488. case 0x00ul:
  5489. return true;
  5490. case 0x01ul:
  5491. return true;
  5492. default:
  5493. return true;
  5494. }
  5495. }
  5496. #endif
  5497. #if defined (NRF52811_XXAA) || defined (DEVELOP_IN_NRF52811)
  5498. if (var1 == 0x0E)
  5499. {
  5500. switch(var2)
  5501. {
  5502. case 0x00ul:
  5503. return true;
  5504. default:
  5505. return true;
  5506. }
  5507. }
  5508. #endif
  5509. #if defined (NRF52805_XXAA) || defined (DEVELOP_IN_NRF52805)
  5510. if (var1 == 0x0F)
  5511. {
  5512. switch(var2)
  5513. {
  5514. case 0x00ul:
  5515. return true;
  5516. default:
  5517. return true;
  5518. }
  5519. }
  5520. #endif
  5521. return false;
  5522. #endif
  5523. }
  5524. static bool nrf52_errata_156(void)
  5525. {
  5526. #ifndef NRF52_SERIES
  5527. return false;
  5528. #else
  5529. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  5530. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  5531. uint32_t var1;
  5532. uint32_t var2;
  5533. if (*(uint32_t *)0x10000130ul == 0xFFFFFFFF)
  5534. {
  5535. var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  5536. var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  5537. }
  5538. else
  5539. {
  5540. var1 = *(uint32_t *)0x10000130ul;
  5541. var2 = *(uint32_t *)0x10000134ul;
  5542. }
  5543. #elif defined (NRF52805_XXAA) || defined (DEVELOP_IN_NRF52805)\
  5544. || defined (NRF52810_XXAA) || defined (DEVELOP_IN_NRF52810)\
  5545. || defined (NRF52811_XXAA) || defined (DEVELOP_IN_NRF52811)\
  5546. || defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  5547. uint32_t var1 = *(uint32_t *)0x10000130ul;
  5548. uint32_t var2 = *(uint32_t *)0x10000134ul;
  5549. #endif
  5550. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  5551. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  5552. if (var1 == 0x06)
  5553. {
  5554. switch(var2)
  5555. {
  5556. case 0x03ul:
  5557. return false;
  5558. case 0x04ul:
  5559. return false;
  5560. case 0x05ul:
  5561. return true;
  5562. case 0x06ul:
  5563. return true;
  5564. default:
  5565. return true;
  5566. }
  5567. }
  5568. #endif
  5569. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  5570. if (var1 == 0x08)
  5571. {
  5572. switch(var2)
  5573. {
  5574. case 0x00ul:
  5575. return true;
  5576. case 0x01ul:
  5577. return false;
  5578. case 0x02ul:
  5579. return false;
  5580. case 0x03ul:
  5581. return false;
  5582. default:
  5583. return false;
  5584. }
  5585. }
  5586. #endif
  5587. #if defined (NRF52810_XXAA) || defined (DEVELOP_IN_NRF52810)
  5588. if (var1 == 0x0A)
  5589. {
  5590. switch(var2)
  5591. {
  5592. case 0x00ul:
  5593. return true;
  5594. case 0x01ul:
  5595. return true;
  5596. default:
  5597. return true;
  5598. }
  5599. }
  5600. #endif
  5601. #if defined (NRF52811_XXAA) || defined (DEVELOP_IN_NRF52811)
  5602. if (var1 == 0x0E)
  5603. {
  5604. switch(var2)
  5605. {
  5606. case 0x00ul:
  5607. return true;
  5608. default:
  5609. return true;
  5610. }
  5611. }
  5612. #endif
  5613. #if defined (NRF52805_XXAA) || defined (DEVELOP_IN_NRF52805)
  5614. if (var1 == 0x0F)
  5615. {
  5616. switch(var2)
  5617. {
  5618. case 0x00ul:
  5619. return true;
  5620. default:
  5621. return true;
  5622. }
  5623. }
  5624. #endif
  5625. return false;
  5626. #endif
  5627. }
  5628. static bool nrf52_errata_158(void)
  5629. {
  5630. #ifndef NRF52_SERIES
  5631. return false;
  5632. #else
  5633. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  5634. uint32_t var1 = *(uint32_t *)0x10000130ul;
  5635. uint32_t var2 = *(uint32_t *)0x10000134ul;
  5636. #endif
  5637. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  5638. if (var1 == 0x08)
  5639. {
  5640. switch(var2)
  5641. {
  5642. case 0x00ul:
  5643. return true;
  5644. case 0x01ul:
  5645. return false;
  5646. case 0x02ul:
  5647. return false;
  5648. case 0x03ul:
  5649. return false;
  5650. default:
  5651. return false;
  5652. }
  5653. }
  5654. #endif
  5655. return false;
  5656. #endif
  5657. }
  5658. static bool nrf52_errata_160(void)
  5659. {
  5660. #ifndef NRF52_SERIES
  5661. return false;
  5662. #else
  5663. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  5664. uint32_t var1 = *(uint32_t *)0x10000130ul;
  5665. uint32_t var2 = *(uint32_t *)0x10000134ul;
  5666. #endif
  5667. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  5668. if (var1 == 0x08)
  5669. {
  5670. switch(var2)
  5671. {
  5672. case 0x00ul:
  5673. return true;
  5674. case 0x01ul:
  5675. return false;
  5676. case 0x02ul:
  5677. return false;
  5678. case 0x03ul:
  5679. return false;
  5680. default:
  5681. return false;
  5682. }
  5683. }
  5684. #endif
  5685. return false;
  5686. #endif
  5687. }
  5688. static bool nrf52_errata_162(void)
  5689. {
  5690. #ifndef NRF52_SERIES
  5691. return false;
  5692. #else
  5693. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  5694. uint32_t var1 = *(uint32_t *)0x10000130ul;
  5695. uint32_t var2 = *(uint32_t *)0x10000134ul;
  5696. #endif
  5697. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  5698. if (var1 == 0x08)
  5699. {
  5700. switch(var2)
  5701. {
  5702. case 0x00ul:
  5703. return true;
  5704. case 0x01ul:
  5705. return false;
  5706. case 0x02ul:
  5707. return false;
  5708. case 0x03ul:
  5709. return false;
  5710. default:
  5711. return false;
  5712. }
  5713. }
  5714. #endif
  5715. return false;
  5716. #endif
  5717. }
  5718. static bool nrf52_errata_163(void)
  5719. {
  5720. #ifndef NRF52_SERIES
  5721. return false;
  5722. #else
  5723. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  5724. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  5725. uint32_t var1;
  5726. uint32_t var2;
  5727. if (*(uint32_t *)0x10000130ul == 0xFFFFFFFF)
  5728. {
  5729. var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  5730. var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  5731. }
  5732. else
  5733. {
  5734. var1 = *(uint32_t *)0x10000130ul;
  5735. var2 = *(uint32_t *)0x10000134ul;
  5736. }
  5737. #endif
  5738. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  5739. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  5740. if (var1 == 0x06)
  5741. {
  5742. switch(var2)
  5743. {
  5744. case 0x03ul:
  5745. return false;
  5746. case 0x04ul:
  5747. return false;
  5748. case 0x05ul:
  5749. return true;
  5750. case 0x06ul:
  5751. return false;
  5752. default:
  5753. return false;
  5754. }
  5755. }
  5756. #endif
  5757. return false;
  5758. #endif
  5759. }
  5760. static bool nrf52_errata_164(void)
  5761. {
  5762. #ifndef NRF52_SERIES
  5763. return false;
  5764. #else
  5765. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  5766. uint32_t var1 = *(uint32_t *)0x10000130ul;
  5767. uint32_t var2 = *(uint32_t *)0x10000134ul;
  5768. #endif
  5769. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  5770. if (var1 == 0x08)
  5771. {
  5772. switch(var2)
  5773. {
  5774. case 0x00ul:
  5775. return true;
  5776. case 0x01ul:
  5777. return false;
  5778. case 0x02ul:
  5779. return false;
  5780. case 0x03ul:
  5781. return false;
  5782. default:
  5783. return false;
  5784. }
  5785. }
  5786. #endif
  5787. return false;
  5788. #endif
  5789. }
  5790. static bool nrf52_errata_166(void)
  5791. {
  5792. #ifndef NRF52_SERIES
  5793. return false;
  5794. #else
  5795. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  5796. uint32_t var1 = *(uint32_t *)0x10000130ul;
  5797. uint32_t var2 = *(uint32_t *)0x10000134ul;
  5798. #endif
  5799. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  5800. if (var1 == 0x08)
  5801. {
  5802. switch(var2)
  5803. {
  5804. case 0x00ul:
  5805. return true;
  5806. case 0x01ul:
  5807. return true;
  5808. case 0x02ul:
  5809. return true;
  5810. case 0x03ul:
  5811. return true;
  5812. default:
  5813. return true;
  5814. }
  5815. }
  5816. #endif
  5817. return false;
  5818. #endif
  5819. }
  5820. static bool nrf52_errata_170(void)
  5821. {
  5822. #ifndef NRF52_SERIES
  5823. return false;
  5824. #else
  5825. #if defined (NRF52820_XXAA) || defined (DEVELOP_IN_NRF52820)\
  5826. || defined (NRF52833_XXAA) || defined (DEVELOP_IN_NRF52833)\
  5827. || defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  5828. uint32_t var1 = *(uint32_t *)0x10000130ul;
  5829. uint32_t var2 = *(uint32_t *)0x10000134ul;
  5830. #endif
  5831. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  5832. if (var1 == 0x08)
  5833. {
  5834. switch(var2)
  5835. {
  5836. case 0x00ul:
  5837. return true;
  5838. case 0x01ul:
  5839. return true;
  5840. case 0x02ul:
  5841. return true;
  5842. case 0x03ul:
  5843. return true;
  5844. default:
  5845. return true;
  5846. }
  5847. }
  5848. #endif
  5849. #if defined (NRF52833_XXAA) || defined (DEVELOP_IN_NRF52833)
  5850. if (var1 == 0x0D)
  5851. {
  5852. switch(var2)
  5853. {
  5854. case 0x00ul:
  5855. return true;
  5856. case 0x01ul:
  5857. return true;
  5858. default:
  5859. return true;
  5860. }
  5861. }
  5862. #endif
  5863. #if defined (NRF52820_XXAA) || defined (DEVELOP_IN_NRF52820)
  5864. if (var1 == 0x10)
  5865. {
  5866. switch(var2)
  5867. {
  5868. case 0x00ul:
  5869. return true;
  5870. case 0x01ul:
  5871. return true;
  5872. case 0x02ul:
  5873. return false;
  5874. default:
  5875. return false;
  5876. }
  5877. }
  5878. #endif
  5879. return false;
  5880. #endif
  5881. }
  5882. static bool nrf52_errata_171(void)
  5883. {
  5884. #ifndef NRF52_SERIES
  5885. return false;
  5886. #else
  5887. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  5888. uint32_t var1 = *(uint32_t *)0x10000130ul;
  5889. uint32_t var2 = *(uint32_t *)0x10000134ul;
  5890. #endif
  5891. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  5892. if (var1 == 0x08)
  5893. {
  5894. switch(var2)
  5895. {
  5896. case 0x00ul:
  5897. return true;
  5898. case 0x01ul:
  5899. return true;
  5900. case 0x02ul:
  5901. return true;
  5902. case 0x03ul:
  5903. return true;
  5904. default:
  5905. return true;
  5906. }
  5907. }
  5908. #endif
  5909. return false;
  5910. #endif
  5911. }
  5912. static bool nrf52_errata_172(void)
  5913. {
  5914. #ifndef NRF52_SERIES
  5915. return false;
  5916. #else
  5917. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  5918. uint32_t var1 = *(uint32_t *)0x10000130ul;
  5919. uint32_t var2 = *(uint32_t *)0x10000134ul;
  5920. #endif
  5921. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  5922. if (var1 == 0x08)
  5923. {
  5924. switch(var2)
  5925. {
  5926. case 0x00ul:
  5927. return false;
  5928. case 0x01ul:
  5929. return true;
  5930. case 0x02ul:
  5931. return true;
  5932. case 0x03ul:
  5933. return true;
  5934. default:
  5935. return true;
  5936. }
  5937. }
  5938. #endif
  5939. return false;
  5940. #endif
  5941. }
  5942. static bool nrf52_errata_173(void)
  5943. {
  5944. #ifndef NRF52_SERIES
  5945. return false;
  5946. #else
  5947. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  5948. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  5949. uint32_t var1;
  5950. uint32_t var2;
  5951. if (*(uint32_t *)0x10000130ul == 0xFFFFFFFF)
  5952. {
  5953. var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  5954. var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  5955. }
  5956. else
  5957. {
  5958. var1 = *(uint32_t *)0x10000130ul;
  5959. var2 = *(uint32_t *)0x10000134ul;
  5960. }
  5961. #elif defined (NRF52805_XXAA) || defined (DEVELOP_IN_NRF52805)\
  5962. || defined (NRF52810_XXAA) || defined (DEVELOP_IN_NRF52810)\
  5963. || defined (NRF52811_XXAA) || defined (DEVELOP_IN_NRF52811)\
  5964. || defined (NRF52820_XXAA) || defined (DEVELOP_IN_NRF52820)\
  5965. || defined (NRF52833_XXAA) || defined (DEVELOP_IN_NRF52833)\
  5966. || defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  5967. uint32_t var1 = *(uint32_t *)0x10000130ul;
  5968. uint32_t var2 = *(uint32_t *)0x10000134ul;
  5969. #endif
  5970. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  5971. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  5972. if (var1 == 0x06)
  5973. {
  5974. switch(var2)
  5975. {
  5976. case 0x03ul:
  5977. return false;
  5978. case 0x04ul:
  5979. return false;
  5980. case 0x05ul:
  5981. return true;
  5982. case 0x06ul:
  5983. return true;
  5984. default:
  5985. return true;
  5986. }
  5987. }
  5988. #endif
  5989. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  5990. if (var1 == 0x08)
  5991. {
  5992. switch(var2)
  5993. {
  5994. case 0x00ul:
  5995. return true;
  5996. case 0x01ul:
  5997. return true;
  5998. case 0x02ul:
  5999. return true;
  6000. case 0x03ul:
  6001. return true;
  6002. default:
  6003. return true;
  6004. }
  6005. }
  6006. #endif
  6007. #if defined (NRF52810_XXAA) || defined (DEVELOP_IN_NRF52810)
  6008. if (var1 == 0x0A)
  6009. {
  6010. switch(var2)
  6011. {
  6012. case 0x00ul:
  6013. return true;
  6014. case 0x01ul:
  6015. return true;
  6016. default:
  6017. return true;
  6018. }
  6019. }
  6020. #endif
  6021. #if defined (NRF52833_XXAA) || defined (DEVELOP_IN_NRF52833)
  6022. if (var1 == 0x0D)
  6023. {
  6024. switch(var2)
  6025. {
  6026. case 0x00ul:
  6027. return true;
  6028. case 0x01ul:
  6029. return true;
  6030. default:
  6031. return true;
  6032. }
  6033. }
  6034. #endif
  6035. #if defined (NRF52811_XXAA) || defined (DEVELOP_IN_NRF52811)
  6036. if (var1 == 0x0E)
  6037. {
  6038. switch(var2)
  6039. {
  6040. case 0x00ul:
  6041. return true;
  6042. default:
  6043. return true;
  6044. }
  6045. }
  6046. #endif
  6047. #if defined (NRF52805_XXAA) || defined (DEVELOP_IN_NRF52805)
  6048. if (var1 == 0x0F)
  6049. {
  6050. switch(var2)
  6051. {
  6052. case 0x00ul:
  6053. return true;
  6054. default:
  6055. return true;
  6056. }
  6057. }
  6058. #endif
  6059. #if defined (NRF52820_XXAA) || defined (DEVELOP_IN_NRF52820)
  6060. if (var1 == 0x10)
  6061. {
  6062. switch(var2)
  6063. {
  6064. case 0x00ul:
  6065. return true;
  6066. case 0x01ul:
  6067. return true;
  6068. case 0x02ul:
  6069. return true;
  6070. default:
  6071. return true;
  6072. }
  6073. }
  6074. #endif
  6075. return false;
  6076. #endif
  6077. }
  6078. static bool nrf52_errata_174(void)
  6079. {
  6080. #ifndef NRF52_SERIES
  6081. return false;
  6082. #else
  6083. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  6084. uint32_t var1 = *(uint32_t *)0x10000130ul;
  6085. uint32_t var2 = *(uint32_t *)0x10000134ul;
  6086. #endif
  6087. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  6088. if (var1 == 0x08)
  6089. {
  6090. switch(var2)
  6091. {
  6092. case 0x00ul:
  6093. return false;
  6094. case 0x01ul:
  6095. return true;
  6096. case 0x02ul:
  6097. return true;
  6098. case 0x03ul:
  6099. return true;
  6100. default:
  6101. return true;
  6102. }
  6103. }
  6104. #endif
  6105. return false;
  6106. #endif
  6107. }
  6108. static bool nrf52_errata_176(void)
  6109. {
  6110. #ifndef NRF52_SERIES
  6111. return false;
  6112. #else
  6113. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  6114. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  6115. uint32_t var1;
  6116. uint32_t var2;
  6117. if (*(uint32_t *)0x10000130ul == 0xFFFFFFFF)
  6118. {
  6119. var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  6120. var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  6121. }
  6122. else
  6123. {
  6124. var1 = *(uint32_t *)0x10000130ul;
  6125. var2 = *(uint32_t *)0x10000134ul;
  6126. }
  6127. #elif defined (NRF52805_XXAA) || defined (DEVELOP_IN_NRF52805)\
  6128. || defined (NRF52810_XXAA) || defined (DEVELOP_IN_NRF52810)\
  6129. || defined (NRF52811_XXAA) || defined (DEVELOP_IN_NRF52811)\
  6130. || defined (NRF52820_XXAA) || defined (DEVELOP_IN_NRF52820)\
  6131. || defined (NRF52833_XXAA) || defined (DEVELOP_IN_NRF52833)\
  6132. || defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  6133. uint32_t var1 = *(uint32_t *)0x10000130ul;
  6134. uint32_t var2 = *(uint32_t *)0x10000134ul;
  6135. #endif
  6136. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  6137. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  6138. if (var1 == 0x06)
  6139. {
  6140. switch(var2)
  6141. {
  6142. case 0x03ul:
  6143. return false;
  6144. case 0x04ul:
  6145. return false;
  6146. case 0x05ul:
  6147. return true;
  6148. case 0x06ul:
  6149. return true;
  6150. default:
  6151. return true;
  6152. }
  6153. }
  6154. #endif
  6155. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  6156. if (var1 == 0x08)
  6157. {
  6158. switch(var2)
  6159. {
  6160. case 0x00ul:
  6161. return true;
  6162. case 0x01ul:
  6163. return true;
  6164. case 0x02ul:
  6165. return true;
  6166. case 0x03ul:
  6167. return true;
  6168. default:
  6169. return true;
  6170. }
  6171. }
  6172. #endif
  6173. #if defined (NRF52810_XXAA) || defined (DEVELOP_IN_NRF52810)
  6174. if (var1 == 0x0A)
  6175. {
  6176. switch(var2)
  6177. {
  6178. case 0x00ul:
  6179. return true;
  6180. case 0x01ul:
  6181. return true;
  6182. default:
  6183. return true;
  6184. }
  6185. }
  6186. #endif
  6187. #if defined (NRF52833_XXAA) || defined (DEVELOP_IN_NRF52833)
  6188. if (var1 == 0x0D)
  6189. {
  6190. switch(var2)
  6191. {
  6192. case 0x00ul:
  6193. return true;
  6194. case 0x01ul:
  6195. return true;
  6196. default:
  6197. return true;
  6198. }
  6199. }
  6200. #endif
  6201. #if defined (NRF52811_XXAA) || defined (DEVELOP_IN_NRF52811)
  6202. if (var1 == 0x0E)
  6203. {
  6204. switch(var2)
  6205. {
  6206. case 0x00ul:
  6207. return true;
  6208. default:
  6209. return true;
  6210. }
  6211. }
  6212. #endif
  6213. #if defined (NRF52805_XXAA) || defined (DEVELOP_IN_NRF52805)
  6214. if (var1 == 0x0F)
  6215. {
  6216. switch(var2)
  6217. {
  6218. case 0x00ul:
  6219. return true;
  6220. default:
  6221. return true;
  6222. }
  6223. }
  6224. #endif
  6225. #if defined (NRF52820_XXAA) || defined (DEVELOP_IN_NRF52820)
  6226. if (var1 == 0x10)
  6227. {
  6228. switch(var2)
  6229. {
  6230. case 0x00ul:
  6231. return true;
  6232. case 0x01ul:
  6233. return true;
  6234. case 0x02ul:
  6235. return true;
  6236. default:
  6237. return true;
  6238. }
  6239. }
  6240. #endif
  6241. return false;
  6242. #endif
  6243. }
  6244. static bool nrf52_errata_178(void)
  6245. {
  6246. #ifndef NRF52_SERIES
  6247. return false;
  6248. #else
  6249. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  6250. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  6251. uint32_t var1;
  6252. uint32_t var2;
  6253. if (*(uint32_t *)0x10000130ul == 0xFFFFFFFF)
  6254. {
  6255. var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  6256. var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  6257. }
  6258. else
  6259. {
  6260. var1 = *(uint32_t *)0x10000130ul;
  6261. var2 = *(uint32_t *)0x10000134ul;
  6262. }
  6263. #endif
  6264. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  6265. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  6266. if (var1 == 0x06)
  6267. {
  6268. switch(var2)
  6269. {
  6270. case 0x03ul:
  6271. return false;
  6272. case 0x04ul:
  6273. return false;
  6274. case 0x05ul:
  6275. return true;
  6276. case 0x06ul:
  6277. return true;
  6278. default:
  6279. return true;
  6280. }
  6281. }
  6282. #endif
  6283. return false;
  6284. #endif
  6285. }
  6286. static bool nrf52_errata_179(void)
  6287. {
  6288. #ifndef NRF52_SERIES
  6289. return false;
  6290. #else
  6291. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  6292. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  6293. uint32_t var1;
  6294. uint32_t var2;
  6295. if (*(uint32_t *)0x10000130ul == 0xFFFFFFFF)
  6296. {
  6297. var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  6298. var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  6299. }
  6300. else
  6301. {
  6302. var1 = *(uint32_t *)0x10000130ul;
  6303. var2 = *(uint32_t *)0x10000134ul;
  6304. }
  6305. #elif defined (NRF52805_XXAA) || defined (DEVELOP_IN_NRF52805)\
  6306. || defined (NRF52810_XXAA) || defined (DEVELOP_IN_NRF52810)\
  6307. || defined (NRF52811_XXAA) || defined (DEVELOP_IN_NRF52811)\
  6308. || defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  6309. uint32_t var1 = *(uint32_t *)0x10000130ul;
  6310. uint32_t var2 = *(uint32_t *)0x10000134ul;
  6311. #endif
  6312. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  6313. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  6314. if (var1 == 0x06)
  6315. {
  6316. switch(var2)
  6317. {
  6318. case 0x03ul:
  6319. return false;
  6320. case 0x04ul:
  6321. return false;
  6322. case 0x05ul:
  6323. return true;
  6324. case 0x06ul:
  6325. return true;
  6326. default:
  6327. return true;
  6328. }
  6329. }
  6330. #endif
  6331. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  6332. if (var1 == 0x08)
  6333. {
  6334. switch(var2)
  6335. {
  6336. case 0x00ul:
  6337. return true;
  6338. case 0x01ul:
  6339. return true;
  6340. case 0x02ul:
  6341. return true;
  6342. case 0x03ul:
  6343. return true;
  6344. default:
  6345. return true;
  6346. }
  6347. }
  6348. #endif
  6349. #if defined (NRF52810_XXAA) || defined (DEVELOP_IN_NRF52810)
  6350. if (var1 == 0x0A)
  6351. {
  6352. switch(var2)
  6353. {
  6354. case 0x00ul:
  6355. return true;
  6356. case 0x01ul:
  6357. return true;
  6358. default:
  6359. return true;
  6360. }
  6361. }
  6362. #endif
  6363. #if defined (NRF52811_XXAA) || defined (DEVELOP_IN_NRF52811)
  6364. if (var1 == 0x0E)
  6365. {
  6366. switch(var2)
  6367. {
  6368. case 0x00ul:
  6369. return true;
  6370. default:
  6371. return true;
  6372. }
  6373. }
  6374. #endif
  6375. #if defined (NRF52805_XXAA) || defined (DEVELOP_IN_NRF52805)
  6376. if (var1 == 0x0F)
  6377. {
  6378. switch(var2)
  6379. {
  6380. case 0x00ul:
  6381. return true;
  6382. default:
  6383. return true;
  6384. }
  6385. }
  6386. #endif
  6387. return false;
  6388. #endif
  6389. }
  6390. static bool nrf52_errata_180(void)
  6391. {
  6392. #ifndef NRF52_SERIES
  6393. return false;
  6394. #else
  6395. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  6396. uint32_t var1 = *(uint32_t *)0x10000130ul;
  6397. uint32_t var2 = *(uint32_t *)0x10000134ul;
  6398. #endif
  6399. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  6400. if (var1 == 0x08)
  6401. {
  6402. switch(var2)
  6403. {
  6404. case 0x00ul:
  6405. return true;
  6406. case 0x01ul:
  6407. return false;
  6408. case 0x02ul:
  6409. return false;
  6410. case 0x03ul:
  6411. return false;
  6412. default:
  6413. return false;
  6414. }
  6415. }
  6416. #endif
  6417. return false;
  6418. #endif
  6419. }
  6420. static bool nrf52_errata_181(void)
  6421. {
  6422. #ifndef NRF52_SERIES
  6423. return false;
  6424. #else
  6425. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  6426. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  6427. uint32_t var1;
  6428. uint32_t var2;
  6429. if (*(uint32_t *)0x10000130ul == 0xFFFFFFFF)
  6430. {
  6431. var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  6432. var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  6433. }
  6434. else
  6435. {
  6436. var1 = *(uint32_t *)0x10000130ul;
  6437. var2 = *(uint32_t *)0x10000134ul;
  6438. }
  6439. #elif defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  6440. uint32_t var1 = *(uint32_t *)0x10000130ul;
  6441. uint32_t var2 = *(uint32_t *)0x10000134ul;
  6442. #endif
  6443. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  6444. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  6445. if (var1 == 0x06)
  6446. {
  6447. switch(var2)
  6448. {
  6449. case 0x03ul:
  6450. return false;
  6451. case 0x04ul:
  6452. return false;
  6453. case 0x05ul:
  6454. return true;
  6455. case 0x06ul:
  6456. return false;
  6457. default:
  6458. return false;
  6459. }
  6460. }
  6461. #endif
  6462. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  6463. if (var1 == 0x08)
  6464. {
  6465. switch(var2)
  6466. {
  6467. case 0x00ul:
  6468. return true;
  6469. case 0x01ul:
  6470. return false;
  6471. case 0x02ul:
  6472. return false;
  6473. case 0x03ul:
  6474. return false;
  6475. default:
  6476. return false;
  6477. }
  6478. }
  6479. #endif
  6480. return false;
  6481. #endif
  6482. }
  6483. static bool nrf52_errata_182(void)
  6484. {
  6485. #ifndef NRF52_SERIES
  6486. return false;
  6487. #else
  6488. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  6489. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  6490. uint32_t var1 = *(uint32_t *)0x10000130ul;
  6491. uint32_t var2 = *(uint32_t *)0x10000134ul;
  6492. #endif
  6493. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  6494. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  6495. if (var1 == 0x06)
  6496. {
  6497. switch(var2)
  6498. {
  6499. case 0x03ul:
  6500. return false;
  6501. case 0x04ul:
  6502. return false;
  6503. case 0x05ul:
  6504. return false;
  6505. case 0x06ul:
  6506. return true;
  6507. default:
  6508. return true;
  6509. }
  6510. }
  6511. #endif
  6512. return false;
  6513. #endif
  6514. }
  6515. static bool nrf52_errata_183(void)
  6516. {
  6517. #ifndef NRF52_SERIES
  6518. return false;
  6519. #else
  6520. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  6521. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  6522. uint32_t var1;
  6523. uint32_t var2;
  6524. if (*(uint32_t *)0x10000130ul == 0xFFFFFFFF)
  6525. {
  6526. var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  6527. var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  6528. }
  6529. else
  6530. {
  6531. var1 = *(uint32_t *)0x10000130ul;
  6532. var2 = *(uint32_t *)0x10000134ul;
  6533. }
  6534. #elif defined (NRF52810_XXAA) || defined (DEVELOP_IN_NRF52810)\
  6535. || defined (NRF52811_XXAA) || defined (DEVELOP_IN_NRF52811)\
  6536. || defined (NRF52820_XXAA) || defined (DEVELOP_IN_NRF52820)\
  6537. || defined (NRF52833_XXAA) || defined (DEVELOP_IN_NRF52833)\
  6538. || defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  6539. uint32_t var1 = *(uint32_t *)0x10000130ul;
  6540. uint32_t var2 = *(uint32_t *)0x10000134ul;
  6541. #endif
  6542. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  6543. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  6544. if (var1 == 0x06)
  6545. {
  6546. switch(var2)
  6547. {
  6548. case 0x03ul:
  6549. return false;
  6550. case 0x04ul:
  6551. return false;
  6552. case 0x05ul:
  6553. return true;
  6554. case 0x06ul:
  6555. return true;
  6556. default:
  6557. return true;
  6558. }
  6559. }
  6560. #endif
  6561. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  6562. if (var1 == 0x08)
  6563. {
  6564. switch(var2)
  6565. {
  6566. case 0x00ul:
  6567. return true;
  6568. case 0x01ul:
  6569. return true;
  6570. case 0x02ul:
  6571. return true;
  6572. case 0x03ul:
  6573. return true;
  6574. default:
  6575. return true;
  6576. }
  6577. }
  6578. #endif
  6579. #if defined (NRF52810_XXAA) || defined (DEVELOP_IN_NRF52810)
  6580. if (var1 == 0x0A)
  6581. {
  6582. switch(var2)
  6583. {
  6584. case 0x00ul:
  6585. return true;
  6586. case 0x01ul:
  6587. return true;
  6588. default:
  6589. return true;
  6590. }
  6591. }
  6592. #endif
  6593. #if defined (NRF52833_XXAA) || defined (DEVELOP_IN_NRF52833)
  6594. if (var1 == 0x0D)
  6595. {
  6596. switch(var2)
  6597. {
  6598. case 0x00ul:
  6599. return true;
  6600. case 0x01ul:
  6601. return true;
  6602. default:
  6603. return true;
  6604. }
  6605. }
  6606. #endif
  6607. #if defined (NRF52811_XXAA) || defined (DEVELOP_IN_NRF52811)
  6608. if (var1 == 0x0E)
  6609. {
  6610. switch(var2)
  6611. {
  6612. case 0x00ul:
  6613. return true;
  6614. default:
  6615. return true;
  6616. }
  6617. }
  6618. #endif
  6619. #if defined (NRF52820_XXAA) || defined (DEVELOP_IN_NRF52820)
  6620. if (var1 == 0x10)
  6621. {
  6622. switch(var2)
  6623. {
  6624. case 0x00ul:
  6625. return true;
  6626. case 0x01ul:
  6627. return true;
  6628. case 0x02ul:
  6629. return false;
  6630. default:
  6631. return false;
  6632. }
  6633. }
  6634. #endif
  6635. return false;
  6636. #endif
  6637. }
  6638. static bool nrf52_errata_184(void)
  6639. {
  6640. #ifndef NRF52_SERIES
  6641. return false;
  6642. #else
  6643. #if defined (NRF52805_XXAA) || defined (DEVELOP_IN_NRF52805)\
  6644. || defined (NRF52810_XXAA) || defined (DEVELOP_IN_NRF52810)\
  6645. || defined (NRF52811_XXAA) || defined (DEVELOP_IN_NRF52811)\
  6646. || defined (NRF52820_XXAA) || defined (DEVELOP_IN_NRF52820)\
  6647. || defined (NRF52833_XXAA) || defined (DEVELOP_IN_NRF52833)\
  6648. || defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  6649. uint32_t var1 = *(uint32_t *)0x10000130ul;
  6650. uint32_t var2 = *(uint32_t *)0x10000134ul;
  6651. #endif
  6652. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  6653. if (var1 == 0x08)
  6654. {
  6655. switch(var2)
  6656. {
  6657. case 0x00ul:
  6658. return true;
  6659. case 0x01ul:
  6660. return true;
  6661. case 0x02ul:
  6662. return true;
  6663. case 0x03ul:
  6664. return true;
  6665. default:
  6666. return true;
  6667. }
  6668. }
  6669. #endif
  6670. #if defined (NRF52810_XXAA) || defined (DEVELOP_IN_NRF52810)
  6671. if (var1 == 0x0A)
  6672. {
  6673. switch(var2)
  6674. {
  6675. case 0x00ul:
  6676. return true;
  6677. case 0x01ul:
  6678. return true;
  6679. default:
  6680. return true;
  6681. }
  6682. }
  6683. #endif
  6684. #if defined (NRF52833_XXAA) || defined (DEVELOP_IN_NRF52833)
  6685. if (var1 == 0x0D)
  6686. {
  6687. switch(var2)
  6688. {
  6689. case 0x00ul:
  6690. return true;
  6691. case 0x01ul:
  6692. return true;
  6693. default:
  6694. return true;
  6695. }
  6696. }
  6697. #endif
  6698. #if defined (NRF52811_XXAA) || defined (DEVELOP_IN_NRF52811)
  6699. if (var1 == 0x0E)
  6700. {
  6701. switch(var2)
  6702. {
  6703. case 0x00ul:
  6704. return true;
  6705. default:
  6706. return true;
  6707. }
  6708. }
  6709. #endif
  6710. #if defined (NRF52805_XXAA) || defined (DEVELOP_IN_NRF52805)
  6711. if (var1 == 0x0F)
  6712. {
  6713. switch(var2)
  6714. {
  6715. case 0x00ul:
  6716. return true;
  6717. default:
  6718. return true;
  6719. }
  6720. }
  6721. #endif
  6722. #if defined (NRF52820_XXAA) || defined (DEVELOP_IN_NRF52820)
  6723. if (var1 == 0x10)
  6724. {
  6725. switch(var2)
  6726. {
  6727. case 0x00ul:
  6728. return true;
  6729. case 0x01ul:
  6730. return true;
  6731. case 0x02ul:
  6732. return true;
  6733. default:
  6734. return true;
  6735. }
  6736. }
  6737. #endif
  6738. return false;
  6739. #endif
  6740. }
  6741. static bool nrf52_errata_186(void)
  6742. {
  6743. #ifndef NRF52_SERIES
  6744. return false;
  6745. #else
  6746. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  6747. uint32_t var1 = *(uint32_t *)0x10000130ul;
  6748. uint32_t var2 = *(uint32_t *)0x10000134ul;
  6749. #endif
  6750. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  6751. if (var1 == 0x08)
  6752. {
  6753. switch(var2)
  6754. {
  6755. case 0x00ul:
  6756. return false;
  6757. case 0x01ul:
  6758. return true;
  6759. case 0x02ul:
  6760. return false;
  6761. case 0x03ul:
  6762. return false;
  6763. default:
  6764. return false;
  6765. }
  6766. }
  6767. #endif
  6768. return false;
  6769. #endif
  6770. }
  6771. static bool nrf52_errata_187(void)
  6772. {
  6773. #ifndef NRF52_SERIES
  6774. return false;
  6775. #else
  6776. #if defined (NRF52820_XXAA) || defined (DEVELOP_IN_NRF52820)\
  6777. || defined (NRF52833_XXAA) || defined (DEVELOP_IN_NRF52833)\
  6778. || defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  6779. uint32_t var1 = *(uint32_t *)0x10000130ul;
  6780. uint32_t var2 = *(uint32_t *)0x10000134ul;
  6781. #endif
  6782. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  6783. if (var1 == 0x08)
  6784. {
  6785. switch(var2)
  6786. {
  6787. case 0x00ul:
  6788. return false;
  6789. case 0x01ul:
  6790. return true;
  6791. case 0x02ul:
  6792. return true;
  6793. case 0x03ul:
  6794. return true;
  6795. default:
  6796. return true;
  6797. }
  6798. }
  6799. #endif
  6800. #if defined (NRF52833_XXAA) || defined (DEVELOP_IN_NRF52833)
  6801. if (var1 == 0x0D)
  6802. {
  6803. switch(var2)
  6804. {
  6805. case 0x00ul:
  6806. return true;
  6807. case 0x01ul:
  6808. return true;
  6809. default:
  6810. return true;
  6811. }
  6812. }
  6813. #endif
  6814. #if defined (NRF52820_XXAA) || defined (DEVELOP_IN_NRF52820)
  6815. if (var1 == 0x10)
  6816. {
  6817. switch(var2)
  6818. {
  6819. case 0x00ul:
  6820. return true;
  6821. case 0x01ul:
  6822. return true;
  6823. case 0x02ul:
  6824. return true;
  6825. default:
  6826. return true;
  6827. }
  6828. }
  6829. #endif
  6830. return false;
  6831. #endif
  6832. }
  6833. static bool nrf52_errata_189(void)
  6834. {
  6835. #ifndef NRF52_SERIES
  6836. return false;
  6837. #else
  6838. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  6839. uint32_t var1 = *(uint32_t *)0x10000130ul;
  6840. uint32_t var2 = *(uint32_t *)0x10000134ul;
  6841. #endif
  6842. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  6843. if (var1 == 0x08)
  6844. {
  6845. switch(var2)
  6846. {
  6847. case 0x00ul:
  6848. return false;
  6849. case 0x01ul:
  6850. return true;
  6851. case 0x02ul:
  6852. return false;
  6853. case 0x03ul:
  6854. return false;
  6855. default:
  6856. return false;
  6857. }
  6858. }
  6859. #endif
  6860. return false;
  6861. #endif
  6862. }
  6863. static bool nrf52_errata_190(void)
  6864. {
  6865. #ifndef NRF52_SERIES
  6866. return false;
  6867. #else
  6868. #if defined (NRF52820_XXAA) || defined (DEVELOP_IN_NRF52820)\
  6869. || defined (NRF52833_XXAA) || defined (DEVELOP_IN_NRF52833)\
  6870. || defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  6871. uint32_t var1 = *(uint32_t *)0x10000130ul;
  6872. uint32_t var2 = *(uint32_t *)0x10000134ul;
  6873. #endif
  6874. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  6875. if (var1 == 0x08)
  6876. {
  6877. switch(var2)
  6878. {
  6879. case 0x00ul:
  6880. return false;
  6881. case 0x01ul:
  6882. return true;
  6883. case 0x02ul:
  6884. return true;
  6885. case 0x03ul:
  6886. return true;
  6887. default:
  6888. return true;
  6889. }
  6890. }
  6891. #endif
  6892. #if defined (NRF52833_XXAA) || defined (DEVELOP_IN_NRF52833)
  6893. if (var1 == 0x0D)
  6894. {
  6895. switch(var2)
  6896. {
  6897. case 0x00ul:
  6898. return true;
  6899. case 0x01ul:
  6900. return true;
  6901. default:
  6902. return true;
  6903. }
  6904. }
  6905. #endif
  6906. #if defined (NRF52820_XXAA) || defined (DEVELOP_IN_NRF52820)
  6907. if (var1 == 0x10)
  6908. {
  6909. switch(var2)
  6910. {
  6911. case 0x00ul:
  6912. return true;
  6913. case 0x01ul:
  6914. return true;
  6915. case 0x02ul:
  6916. return false;
  6917. default:
  6918. return false;
  6919. }
  6920. }
  6921. #endif
  6922. return false;
  6923. #endif
  6924. }
  6925. static bool nrf52_errata_191(void)
  6926. {
  6927. #ifndef NRF52_SERIES
  6928. return false;
  6929. #else
  6930. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  6931. uint32_t var1 = *(uint32_t *)0x10000130ul;
  6932. uint32_t var2 = *(uint32_t *)0x10000134ul;
  6933. #endif
  6934. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  6935. if (var1 == 0x08)
  6936. {
  6937. switch(var2)
  6938. {
  6939. case 0x00ul:
  6940. return false;
  6941. case 0x01ul:
  6942. return true;
  6943. case 0x02ul:
  6944. return true;
  6945. case 0x03ul:
  6946. return true;
  6947. default:
  6948. return true;
  6949. }
  6950. }
  6951. #endif
  6952. return false;
  6953. #endif
  6954. }
  6955. static bool nrf52_errata_192(void)
  6956. {
  6957. #ifndef NRF52_SERIES
  6958. return false;
  6959. #else
  6960. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  6961. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  6962. uint32_t var1;
  6963. uint32_t var2;
  6964. if (*(uint32_t *)0x10000130ul == 0xFFFFFFFF)
  6965. {
  6966. var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  6967. var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  6968. }
  6969. else
  6970. {
  6971. var1 = *(uint32_t *)0x10000130ul;
  6972. var2 = *(uint32_t *)0x10000134ul;
  6973. }
  6974. #elif defined (NRF52810_XXAA) || defined (DEVELOP_IN_NRF52810)\
  6975. || defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  6976. uint32_t var1 = *(uint32_t *)0x10000130ul;
  6977. uint32_t var2 = *(uint32_t *)0x10000134ul;
  6978. #endif
  6979. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  6980. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  6981. if (var1 == 0x06)
  6982. {
  6983. switch(var2)
  6984. {
  6985. case 0x03ul:
  6986. return false;
  6987. case 0x04ul:
  6988. return false;
  6989. case 0x05ul:
  6990. return true;
  6991. case 0x06ul:
  6992. return true;
  6993. default:
  6994. return true;
  6995. }
  6996. }
  6997. #endif
  6998. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  6999. if (var1 == 0x08)
  7000. {
  7001. switch(var2)
  7002. {
  7003. case 0x00ul:
  7004. return true;
  7005. case 0x01ul:
  7006. return true;
  7007. case 0x02ul:
  7008. return true;
  7009. case 0x03ul:
  7010. return false;
  7011. default:
  7012. return false;
  7013. }
  7014. }
  7015. #endif
  7016. #if defined (NRF52810_XXAA) || defined (DEVELOP_IN_NRF52810)
  7017. if (var1 == 0x0A)
  7018. {
  7019. switch(var2)
  7020. {
  7021. case 0x00ul:
  7022. return true;
  7023. case 0x01ul:
  7024. return false;
  7025. default:
  7026. return false;
  7027. }
  7028. }
  7029. #endif
  7030. return false;
  7031. #endif
  7032. }
  7033. static bool nrf52_errata_193(void)
  7034. {
  7035. #ifndef NRF52_SERIES
  7036. return false;
  7037. #else
  7038. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  7039. uint32_t var1 = *(uint32_t *)0x10000130ul;
  7040. uint32_t var2 = *(uint32_t *)0x10000134ul;
  7041. #endif
  7042. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  7043. if (var1 == 0x08)
  7044. {
  7045. switch(var2)
  7046. {
  7047. case 0x00ul:
  7048. return false;
  7049. case 0x01ul:
  7050. return true;
  7051. case 0x02ul:
  7052. return true;
  7053. case 0x03ul:
  7054. return true;
  7055. default:
  7056. return true;
  7057. }
  7058. }
  7059. #endif
  7060. return false;
  7061. #endif
  7062. }
  7063. static bool nrf52_errata_194(void)
  7064. {
  7065. #ifndef NRF52_SERIES
  7066. return false;
  7067. #else
  7068. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  7069. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  7070. uint32_t var1;
  7071. uint32_t var2;
  7072. if (*(uint32_t *)0x10000130ul == 0xFFFFFFFF)
  7073. {
  7074. var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  7075. var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  7076. }
  7077. else
  7078. {
  7079. var1 = *(uint32_t *)0x10000130ul;
  7080. var2 = *(uint32_t *)0x10000134ul;
  7081. }
  7082. #elif defined (NRF52820_XXAA) || defined (DEVELOP_IN_NRF52820)\
  7083. || defined (NRF52833_XXAA) || defined (DEVELOP_IN_NRF52833)\
  7084. || defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  7085. uint32_t var1 = *(uint32_t *)0x10000130ul;
  7086. uint32_t var2 = *(uint32_t *)0x10000134ul;
  7087. #endif
  7088. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  7089. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  7090. if (var1 == 0x06)
  7091. {
  7092. switch(var2)
  7093. {
  7094. case 0x03ul:
  7095. return false;
  7096. case 0x04ul:
  7097. return false;
  7098. case 0x05ul:
  7099. return true;
  7100. case 0x06ul:
  7101. return true;
  7102. default:
  7103. return true;
  7104. }
  7105. }
  7106. #endif
  7107. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  7108. if (var1 == 0x08)
  7109. {
  7110. switch(var2)
  7111. {
  7112. case 0x00ul:
  7113. return true;
  7114. case 0x01ul:
  7115. return true;
  7116. case 0x02ul:
  7117. return true;
  7118. case 0x03ul:
  7119. return true;
  7120. default:
  7121. return true;
  7122. }
  7123. }
  7124. #endif
  7125. #if defined (NRF52833_XXAA) || defined (DEVELOP_IN_NRF52833)
  7126. if (var1 == 0x0D)
  7127. {
  7128. switch(var2)
  7129. {
  7130. case 0x00ul:
  7131. return true;
  7132. case 0x01ul:
  7133. return true;
  7134. default:
  7135. return true;
  7136. }
  7137. }
  7138. #endif
  7139. #if defined (NRF52820_XXAA) || defined (DEVELOP_IN_NRF52820)
  7140. if (var1 == 0x10)
  7141. {
  7142. switch(var2)
  7143. {
  7144. case 0x00ul:
  7145. return true;
  7146. case 0x01ul:
  7147. return true;
  7148. case 0x02ul:
  7149. return false;
  7150. default:
  7151. return false;
  7152. }
  7153. }
  7154. #endif
  7155. return false;
  7156. #endif
  7157. }
  7158. static bool nrf52_errata_195(void)
  7159. {
  7160. #ifndef NRF52_SERIES
  7161. return false;
  7162. #else
  7163. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  7164. uint32_t var1 = *(uint32_t *)0x10000130ul;
  7165. uint32_t var2 = *(uint32_t *)0x10000134ul;
  7166. #endif
  7167. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  7168. if (var1 == 0x08)
  7169. {
  7170. switch(var2)
  7171. {
  7172. case 0x00ul:
  7173. return false;
  7174. case 0x01ul:
  7175. return true;
  7176. case 0x02ul:
  7177. return true;
  7178. case 0x03ul:
  7179. return true;
  7180. default:
  7181. return true;
  7182. }
  7183. }
  7184. #endif
  7185. return false;
  7186. #endif
  7187. }
  7188. static bool nrf52_errata_196(void)
  7189. {
  7190. #ifndef NRF52_SERIES
  7191. return false;
  7192. #else
  7193. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  7194. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  7195. uint32_t var1;
  7196. uint32_t var2;
  7197. if (*(uint32_t *)0x10000130ul == 0xFFFFFFFF)
  7198. {
  7199. var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  7200. var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  7201. }
  7202. else
  7203. {
  7204. var1 = *(uint32_t *)0x10000130ul;
  7205. var2 = *(uint32_t *)0x10000134ul;
  7206. }
  7207. #elif defined (NRF52820_XXAA) || defined (DEVELOP_IN_NRF52820)\
  7208. || defined (NRF52833_XXAA) || defined (DEVELOP_IN_NRF52833)\
  7209. || defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  7210. uint32_t var1 = *(uint32_t *)0x10000130ul;
  7211. uint32_t var2 = *(uint32_t *)0x10000134ul;
  7212. #endif
  7213. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  7214. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  7215. if (var1 == 0x06)
  7216. {
  7217. switch(var2)
  7218. {
  7219. case 0x03ul:
  7220. return false;
  7221. case 0x04ul:
  7222. return false;
  7223. case 0x05ul:
  7224. return true;
  7225. case 0x06ul:
  7226. return true;
  7227. default:
  7228. return true;
  7229. }
  7230. }
  7231. #endif
  7232. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  7233. if (var1 == 0x08)
  7234. {
  7235. switch(var2)
  7236. {
  7237. case 0x00ul:
  7238. return true;
  7239. case 0x01ul:
  7240. return true;
  7241. case 0x02ul:
  7242. return true;
  7243. case 0x03ul:
  7244. return true;
  7245. default:
  7246. return true;
  7247. }
  7248. }
  7249. #endif
  7250. #if defined (NRF52833_XXAA) || defined (DEVELOP_IN_NRF52833)
  7251. if (var1 == 0x0D)
  7252. {
  7253. switch(var2)
  7254. {
  7255. case 0x00ul:
  7256. return true;
  7257. case 0x01ul:
  7258. return true;
  7259. default:
  7260. return true;
  7261. }
  7262. }
  7263. #endif
  7264. #if defined (NRF52820_XXAA) || defined (DEVELOP_IN_NRF52820)
  7265. if (var1 == 0x10)
  7266. {
  7267. switch(var2)
  7268. {
  7269. case 0x00ul:
  7270. return true;
  7271. case 0x01ul:
  7272. return true;
  7273. case 0x02ul:
  7274. return false;
  7275. default:
  7276. return false;
  7277. }
  7278. }
  7279. #endif
  7280. return false;
  7281. #endif
  7282. }
  7283. static bool nrf52_errata_197(void)
  7284. {
  7285. #ifndef NRF52_SERIES
  7286. return false;
  7287. #else
  7288. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  7289. uint32_t var1 = *(uint32_t *)0x10000130ul;
  7290. uint32_t var2 = *(uint32_t *)0x10000134ul;
  7291. #endif
  7292. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  7293. if (var1 == 0x08)
  7294. {
  7295. switch(var2)
  7296. {
  7297. case 0x00ul:
  7298. return false;
  7299. case 0x01ul:
  7300. return false;
  7301. case 0x02ul:
  7302. return true;
  7303. case 0x03ul:
  7304. return false;
  7305. default:
  7306. return false;
  7307. }
  7308. }
  7309. #endif
  7310. return false;
  7311. #endif
  7312. }
  7313. static bool nrf52_errata_198(void)
  7314. {
  7315. #ifndef NRF52_SERIES
  7316. return false;
  7317. #else
  7318. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  7319. uint32_t var1 = *(uint32_t *)0x10000130ul;
  7320. uint32_t var2 = *(uint32_t *)0x10000134ul;
  7321. #endif
  7322. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  7323. if (var1 == 0x08)
  7324. {
  7325. switch(var2)
  7326. {
  7327. case 0x00ul:
  7328. return false;
  7329. case 0x01ul:
  7330. return true;
  7331. case 0x02ul:
  7332. return true;
  7333. case 0x03ul:
  7334. return true;
  7335. default:
  7336. return true;
  7337. }
  7338. }
  7339. #endif
  7340. return false;
  7341. #endif
  7342. }
  7343. static bool nrf52_errata_199(void)
  7344. {
  7345. #ifndef NRF52_SERIES
  7346. return false;
  7347. #else
  7348. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  7349. uint32_t var1 = *(uint32_t *)0x10000130ul;
  7350. uint32_t var2 = *(uint32_t *)0x10000134ul;
  7351. #endif
  7352. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  7353. if (var1 == 0x08)
  7354. {
  7355. switch(var2)
  7356. {
  7357. case 0x00ul:
  7358. return true;
  7359. case 0x01ul:
  7360. return true;
  7361. case 0x02ul:
  7362. return true;
  7363. case 0x03ul:
  7364. return true;
  7365. default:
  7366. return true;
  7367. }
  7368. }
  7369. #endif
  7370. return false;
  7371. #endif
  7372. }
  7373. static bool nrf52_errata_200(void)
  7374. {
  7375. #ifndef NRF52_SERIES
  7376. return false;
  7377. #else
  7378. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  7379. uint32_t var1 = *(uint32_t *)0x10000130ul;
  7380. uint32_t var2 = *(uint32_t *)0x10000134ul;
  7381. #endif
  7382. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  7383. if (var1 == 0x08)
  7384. {
  7385. switch(var2)
  7386. {
  7387. case 0x00ul:
  7388. return true;
  7389. case 0x01ul:
  7390. return false;
  7391. case 0x02ul:
  7392. return false;
  7393. case 0x03ul:
  7394. return false;
  7395. default:
  7396. return false;
  7397. }
  7398. }
  7399. #endif
  7400. return false;
  7401. #endif
  7402. }
  7403. static bool nrf52_errata_201(void)
  7404. {
  7405. #ifndef NRF52_SERIES
  7406. return false;
  7407. #else
  7408. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  7409. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  7410. uint32_t var1;
  7411. uint32_t var2;
  7412. if (*(uint32_t *)0x10000130ul == 0xFFFFFFFF)
  7413. {
  7414. var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  7415. var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  7416. }
  7417. else
  7418. {
  7419. var1 = *(uint32_t *)0x10000130ul;
  7420. var2 = *(uint32_t *)0x10000134ul;
  7421. }
  7422. #elif defined (NRF52810_XXAA) || defined (DEVELOP_IN_NRF52810)\
  7423. || defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  7424. uint32_t var1 = *(uint32_t *)0x10000130ul;
  7425. uint32_t var2 = *(uint32_t *)0x10000134ul;
  7426. #endif
  7427. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  7428. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  7429. if (var1 == 0x06)
  7430. {
  7431. switch(var2)
  7432. {
  7433. case 0x03ul:
  7434. return false;
  7435. case 0x04ul:
  7436. return false;
  7437. case 0x05ul:
  7438. return true;
  7439. case 0x06ul:
  7440. return true;
  7441. default:
  7442. return true;
  7443. }
  7444. }
  7445. #endif
  7446. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  7447. if (var1 == 0x08)
  7448. {
  7449. switch(var2)
  7450. {
  7451. case 0x00ul:
  7452. return true;
  7453. case 0x01ul:
  7454. return true;
  7455. case 0x02ul:
  7456. return true;
  7457. case 0x03ul:
  7458. return false;
  7459. default:
  7460. return false;
  7461. }
  7462. }
  7463. #endif
  7464. #if defined (NRF52810_XXAA) || defined (DEVELOP_IN_NRF52810)
  7465. if (var1 == 0x0A)
  7466. {
  7467. switch(var2)
  7468. {
  7469. case 0x00ul:
  7470. return true;
  7471. case 0x01ul:
  7472. return false;
  7473. default:
  7474. return false;
  7475. }
  7476. }
  7477. #endif
  7478. return false;
  7479. #endif
  7480. }
  7481. static bool nrf52_errata_202(void)
  7482. {
  7483. #ifndef NRF52_SERIES
  7484. return false;
  7485. #else
  7486. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  7487. uint32_t var1 = *(uint32_t *)0x10000130ul;
  7488. uint32_t var2 = *(uint32_t *)0x10000134ul;
  7489. #endif
  7490. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  7491. if (var1 == 0x08)
  7492. {
  7493. switch(var2)
  7494. {
  7495. case 0x00ul:
  7496. return false;
  7497. case 0x01ul:
  7498. return true;
  7499. case 0x02ul:
  7500. return true;
  7501. case 0x03ul:
  7502. return false;
  7503. default:
  7504. return false;
  7505. }
  7506. }
  7507. #endif
  7508. return false;
  7509. #endif
  7510. }
  7511. static bool nrf52_errata_204(void)
  7512. {
  7513. #ifndef NRF52_SERIES
  7514. return false;
  7515. #else
  7516. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  7517. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  7518. uint32_t var1;
  7519. uint32_t var2;
  7520. if (*(uint32_t *)0x10000130ul == 0xFFFFFFFF)
  7521. {
  7522. var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  7523. var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  7524. }
  7525. else
  7526. {
  7527. var1 = *(uint32_t *)0x10000130ul;
  7528. var2 = *(uint32_t *)0x10000134ul;
  7529. }
  7530. #elif defined (NRF52810_XXAA) || defined (DEVELOP_IN_NRF52810)\
  7531. || defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  7532. uint32_t var1 = *(uint32_t *)0x10000130ul;
  7533. uint32_t var2 = *(uint32_t *)0x10000134ul;
  7534. #endif
  7535. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  7536. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  7537. if (var1 == 0x06)
  7538. {
  7539. switch(var2)
  7540. {
  7541. case 0x03ul:
  7542. return false;
  7543. case 0x04ul:
  7544. return false;
  7545. case 0x05ul:
  7546. return true;
  7547. case 0x06ul:
  7548. return true;
  7549. default:
  7550. return true;
  7551. }
  7552. }
  7553. #endif
  7554. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  7555. if (var1 == 0x08)
  7556. {
  7557. switch(var2)
  7558. {
  7559. case 0x00ul:
  7560. return true;
  7561. case 0x01ul:
  7562. return true;
  7563. case 0x02ul:
  7564. return true;
  7565. case 0x03ul:
  7566. return true;
  7567. default:
  7568. return true;
  7569. }
  7570. }
  7571. #endif
  7572. #if defined (NRF52810_XXAA) || defined (DEVELOP_IN_NRF52810)
  7573. if (var1 == 0x0A)
  7574. {
  7575. switch(var2)
  7576. {
  7577. case 0x00ul:
  7578. return true;
  7579. case 0x01ul:
  7580. return true;
  7581. default:
  7582. return true;
  7583. }
  7584. }
  7585. #endif
  7586. return false;
  7587. #endif
  7588. }
  7589. static bool nrf52_errata_208(void)
  7590. {
  7591. #ifndef NRF52_SERIES
  7592. return false;
  7593. #else
  7594. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  7595. uint32_t var1 = *(uint32_t *)0x10000130ul;
  7596. uint32_t var2 = *(uint32_t *)0x10000134ul;
  7597. #endif
  7598. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  7599. if (var1 == 0x08)
  7600. {
  7601. switch(var2)
  7602. {
  7603. case 0x00ul:
  7604. return true;
  7605. case 0x01ul:
  7606. return true;
  7607. case 0x02ul:
  7608. return true;
  7609. case 0x03ul:
  7610. return true;
  7611. default:
  7612. return true;
  7613. }
  7614. }
  7615. #endif
  7616. return false;
  7617. #endif
  7618. }
  7619. static bool nrf52_errata_209(void)
  7620. {
  7621. #ifndef NRF52_SERIES
  7622. return false;
  7623. #else
  7624. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  7625. uint32_t var1 = *(uint32_t *)0x10000130ul;
  7626. uint32_t var2 = *(uint32_t *)0x10000134ul;
  7627. #endif
  7628. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  7629. if (var1 == 0x08)
  7630. {
  7631. switch(var2)
  7632. {
  7633. case 0x00ul:
  7634. return true;
  7635. case 0x01ul:
  7636. return true;
  7637. case 0x02ul:
  7638. return true;
  7639. case 0x03ul:
  7640. return true;
  7641. default:
  7642. return true;
  7643. }
  7644. }
  7645. #endif
  7646. return false;
  7647. #endif
  7648. }
  7649. static bool nrf52_errata_210(void)
  7650. {
  7651. #ifndef NRF52_SERIES
  7652. return false;
  7653. #else
  7654. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  7655. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  7656. uint32_t var1;
  7657. uint32_t var2;
  7658. if (*(uint32_t *)0x10000130ul == 0xFFFFFFFF)
  7659. {
  7660. var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  7661. var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  7662. }
  7663. else
  7664. {
  7665. var1 = *(uint32_t *)0x10000130ul;
  7666. var2 = *(uint32_t *)0x10000134ul;
  7667. }
  7668. #elif defined (NRF52805_XXAA) || defined (DEVELOP_IN_NRF52805)\
  7669. || defined (NRF52810_XXAA) || defined (DEVELOP_IN_NRF52810)\
  7670. || defined (NRF52811_XXAA) || defined (DEVELOP_IN_NRF52811)\
  7671. || defined (NRF52820_XXAA) || defined (DEVELOP_IN_NRF52820)\
  7672. || defined (NRF52833_XXAA) || defined (DEVELOP_IN_NRF52833)\
  7673. || defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  7674. uint32_t var1 = *(uint32_t *)0x10000130ul;
  7675. uint32_t var2 = *(uint32_t *)0x10000134ul;
  7676. #endif
  7677. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  7678. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  7679. if (var1 == 0x06)
  7680. {
  7681. switch(var2)
  7682. {
  7683. case 0x03ul:
  7684. return false;
  7685. case 0x04ul:
  7686. return false;
  7687. case 0x05ul:
  7688. return true;
  7689. case 0x06ul:
  7690. return true;
  7691. default:
  7692. return true;
  7693. }
  7694. }
  7695. #endif
  7696. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  7697. if (var1 == 0x08)
  7698. {
  7699. switch(var2)
  7700. {
  7701. case 0x00ul:
  7702. return false;
  7703. case 0x01ul:
  7704. return false;
  7705. case 0x02ul:
  7706. return true;
  7707. case 0x03ul:
  7708. return true;
  7709. default:
  7710. return true;
  7711. }
  7712. }
  7713. #endif
  7714. #if defined (NRF52810_XXAA) || defined (DEVELOP_IN_NRF52810)
  7715. if (var1 == 0x0A)
  7716. {
  7717. switch(var2)
  7718. {
  7719. case 0x00ul:
  7720. return true;
  7721. case 0x01ul:
  7722. return true;
  7723. default:
  7724. return true;
  7725. }
  7726. }
  7727. #endif
  7728. #if defined (NRF52833_XXAA) || defined (DEVELOP_IN_NRF52833)
  7729. if (var1 == 0x0D)
  7730. {
  7731. switch(var2)
  7732. {
  7733. case 0x00ul:
  7734. return true;
  7735. case 0x01ul:
  7736. return true;
  7737. default:
  7738. return true;
  7739. }
  7740. }
  7741. #endif
  7742. #if defined (NRF52811_XXAA) || defined (DEVELOP_IN_NRF52811)
  7743. if (var1 == 0x0E)
  7744. {
  7745. switch(var2)
  7746. {
  7747. case 0x00ul:
  7748. return true;
  7749. default:
  7750. return true;
  7751. }
  7752. }
  7753. #endif
  7754. #if defined (NRF52805_XXAA) || defined (DEVELOP_IN_NRF52805)
  7755. if (var1 == 0x0F)
  7756. {
  7757. switch(var2)
  7758. {
  7759. case 0x00ul:
  7760. return true;
  7761. default:
  7762. return true;
  7763. }
  7764. }
  7765. #endif
  7766. #if defined (NRF52820_XXAA) || defined (DEVELOP_IN_NRF52820)
  7767. if (var1 == 0x10)
  7768. {
  7769. switch(var2)
  7770. {
  7771. case 0x00ul:
  7772. return true;
  7773. case 0x01ul:
  7774. return true;
  7775. case 0x02ul:
  7776. return true;
  7777. default:
  7778. return true;
  7779. }
  7780. }
  7781. #endif
  7782. return false;
  7783. #endif
  7784. }
  7785. static bool nrf52_errata_211(void)
  7786. {
  7787. #ifndef NRF52_SERIES
  7788. return false;
  7789. #else
  7790. #if defined (NRF52820_XXAA) || defined (DEVELOP_IN_NRF52820)\
  7791. || defined (NRF52833_XXAA) || defined (DEVELOP_IN_NRF52833)\
  7792. || defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  7793. uint32_t var1 = *(uint32_t *)0x10000130ul;
  7794. uint32_t var2 = *(uint32_t *)0x10000134ul;
  7795. #endif
  7796. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  7797. if (var1 == 0x08)
  7798. {
  7799. switch(var2)
  7800. {
  7801. case 0x00ul:
  7802. return false;
  7803. case 0x01ul:
  7804. return true;
  7805. case 0x02ul:
  7806. return true;
  7807. case 0x03ul:
  7808. return true;
  7809. default:
  7810. return true;
  7811. }
  7812. }
  7813. #endif
  7814. #if defined (NRF52833_XXAA) || defined (DEVELOP_IN_NRF52833)
  7815. if (var1 == 0x0D)
  7816. {
  7817. switch(var2)
  7818. {
  7819. case 0x00ul:
  7820. return true;
  7821. case 0x01ul:
  7822. return true;
  7823. default:
  7824. return true;
  7825. }
  7826. }
  7827. #endif
  7828. #if defined (NRF52820_XXAA) || defined (DEVELOP_IN_NRF52820)
  7829. if (var1 == 0x10)
  7830. {
  7831. switch(var2)
  7832. {
  7833. case 0x00ul:
  7834. return true;
  7835. case 0x01ul:
  7836. return true;
  7837. case 0x02ul:
  7838. return true;
  7839. default:
  7840. return true;
  7841. }
  7842. }
  7843. #endif
  7844. return false;
  7845. #endif
  7846. }
  7847. static bool nrf52_errata_212(void)
  7848. {
  7849. #ifndef NRF52_SERIES
  7850. return false;
  7851. #else
  7852. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  7853. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  7854. uint32_t var1;
  7855. uint32_t var2;
  7856. if (*(uint32_t *)0x10000130ul == 0xFFFFFFFF)
  7857. {
  7858. var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  7859. var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  7860. }
  7861. else
  7862. {
  7863. var1 = *(uint32_t *)0x10000130ul;
  7864. var2 = *(uint32_t *)0x10000134ul;
  7865. }
  7866. #elif defined (NRF52805_XXAA) || defined (DEVELOP_IN_NRF52805)\
  7867. || defined (NRF52810_XXAA) || defined (DEVELOP_IN_NRF52810)\
  7868. || defined (NRF52811_XXAA) || defined (DEVELOP_IN_NRF52811)\
  7869. || defined (NRF52820_XXAA) || defined (DEVELOP_IN_NRF52820)\
  7870. || defined (NRF52833_XXAA) || defined (DEVELOP_IN_NRF52833)\
  7871. || defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  7872. uint32_t var1 = *(uint32_t *)0x10000130ul;
  7873. uint32_t var2 = *(uint32_t *)0x10000134ul;
  7874. #endif
  7875. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  7876. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  7877. if (var1 == 0x06)
  7878. {
  7879. switch(var2)
  7880. {
  7881. case 0x03ul:
  7882. return false;
  7883. case 0x04ul:
  7884. return false;
  7885. case 0x05ul:
  7886. return true;
  7887. case 0x06ul:
  7888. return true;
  7889. default:
  7890. return true;
  7891. }
  7892. }
  7893. #endif
  7894. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  7895. if (var1 == 0x08)
  7896. {
  7897. switch(var2)
  7898. {
  7899. case 0x00ul:
  7900. return true;
  7901. case 0x01ul:
  7902. return false;
  7903. case 0x02ul:
  7904. return true;
  7905. case 0x03ul:
  7906. return true;
  7907. default:
  7908. return true;
  7909. }
  7910. }
  7911. #endif
  7912. #if defined (NRF52810_XXAA) || defined (DEVELOP_IN_NRF52810)
  7913. if (var1 == 0x0A)
  7914. {
  7915. switch(var2)
  7916. {
  7917. case 0x00ul:
  7918. return true;
  7919. case 0x01ul:
  7920. return true;
  7921. default:
  7922. return true;
  7923. }
  7924. }
  7925. #endif
  7926. #if defined (NRF52833_XXAA) || defined (DEVELOP_IN_NRF52833)
  7927. if (var1 == 0x0D)
  7928. {
  7929. switch(var2)
  7930. {
  7931. case 0x00ul:
  7932. return true;
  7933. case 0x01ul:
  7934. return true;
  7935. default:
  7936. return true;
  7937. }
  7938. }
  7939. #endif
  7940. #if defined (NRF52811_XXAA) || defined (DEVELOP_IN_NRF52811)
  7941. if (var1 == 0x0E)
  7942. {
  7943. switch(var2)
  7944. {
  7945. case 0x00ul:
  7946. return true;
  7947. default:
  7948. return true;
  7949. }
  7950. }
  7951. #endif
  7952. #if defined (NRF52805_XXAA) || defined (DEVELOP_IN_NRF52805)
  7953. if (var1 == 0x0F)
  7954. {
  7955. switch(var2)
  7956. {
  7957. case 0x00ul:
  7958. return true;
  7959. default:
  7960. return true;
  7961. }
  7962. }
  7963. #endif
  7964. #if defined (NRF52820_XXAA) || defined (DEVELOP_IN_NRF52820)
  7965. if (var1 == 0x10)
  7966. {
  7967. switch(var2)
  7968. {
  7969. case 0x00ul:
  7970. return true;
  7971. case 0x01ul:
  7972. return true;
  7973. case 0x02ul:
  7974. return false;
  7975. default:
  7976. return false;
  7977. }
  7978. }
  7979. #endif
  7980. return false;
  7981. #endif
  7982. }
  7983. static bool nrf52_errata_213(void)
  7984. {
  7985. #ifndef NRF52_SERIES
  7986. return false;
  7987. #else
  7988. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  7989. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  7990. uint32_t var1;
  7991. uint32_t var2;
  7992. if (*(uint32_t *)0x10000130ul == 0xFFFFFFFF)
  7993. {
  7994. var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  7995. var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  7996. }
  7997. else
  7998. {
  7999. var1 = *(uint32_t *)0x10000130ul;
  8000. var2 = *(uint32_t *)0x10000134ul;
  8001. }
  8002. #elif defined (NRF52810_XXAA) || defined (DEVELOP_IN_NRF52810)\
  8003. || defined (NRF52811_XXAA) || defined (DEVELOP_IN_NRF52811)\
  8004. || defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  8005. uint32_t var1 = *(uint32_t *)0x10000130ul;
  8006. uint32_t var2 = *(uint32_t *)0x10000134ul;
  8007. #endif
  8008. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  8009. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  8010. if (var1 == 0x06)
  8011. {
  8012. switch(var2)
  8013. {
  8014. case 0x03ul:
  8015. return true;
  8016. case 0x04ul:
  8017. return true;
  8018. case 0x05ul:
  8019. return true;
  8020. case 0x06ul:
  8021. return true;
  8022. default:
  8023. return true;
  8024. }
  8025. }
  8026. #endif
  8027. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  8028. if (var1 == 0x08)
  8029. {
  8030. switch(var2)
  8031. {
  8032. case 0x00ul:
  8033. return true;
  8034. case 0x01ul:
  8035. return true;
  8036. case 0x02ul:
  8037. return true;
  8038. case 0x03ul:
  8039. return true;
  8040. default:
  8041. return true;
  8042. }
  8043. }
  8044. #endif
  8045. #if defined (NRF52810_XXAA) || defined (DEVELOP_IN_NRF52810)
  8046. if (var1 == 0x0A)
  8047. {
  8048. switch(var2)
  8049. {
  8050. case 0x00ul:
  8051. return true;
  8052. case 0x01ul:
  8053. return true;
  8054. default:
  8055. return true;
  8056. }
  8057. }
  8058. #endif
  8059. #if defined (NRF52811_XXAA) || defined (DEVELOP_IN_NRF52811)
  8060. if (var1 == 0x0E)
  8061. {
  8062. switch(var2)
  8063. {
  8064. case 0x00ul:
  8065. return true;
  8066. default:
  8067. return true;
  8068. }
  8069. }
  8070. #endif
  8071. return false;
  8072. #endif
  8073. }
  8074. static bool nrf52_errata_214(void)
  8075. {
  8076. #ifndef NRF52_SERIES
  8077. return false;
  8078. #else
  8079. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  8080. uint32_t var1 = *(uint32_t *)0x10000130ul;
  8081. uint32_t var2 = *(uint32_t *)0x10000134ul;
  8082. #endif
  8083. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  8084. if (var1 == 0x08)
  8085. {
  8086. switch(var2)
  8087. {
  8088. case 0x00ul:
  8089. return true;
  8090. case 0x01ul:
  8091. return true;
  8092. case 0x02ul:
  8093. return true;
  8094. case 0x03ul:
  8095. return true;
  8096. default:
  8097. return true;
  8098. }
  8099. }
  8100. #endif
  8101. return false;
  8102. #endif
  8103. }
  8104. static bool nrf52_errata_215(void)
  8105. {
  8106. #ifndef NRF52_SERIES
  8107. return false;
  8108. #else
  8109. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  8110. uint32_t var1 = *(uint32_t *)0x10000130ul;
  8111. uint32_t var2 = *(uint32_t *)0x10000134ul;
  8112. #endif
  8113. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  8114. if (var1 == 0x08)
  8115. {
  8116. switch(var2)
  8117. {
  8118. case 0x00ul:
  8119. return true;
  8120. case 0x01ul:
  8121. return true;
  8122. case 0x02ul:
  8123. return true;
  8124. case 0x03ul:
  8125. return true;
  8126. default:
  8127. return true;
  8128. }
  8129. }
  8130. #endif
  8131. return false;
  8132. #endif
  8133. }
  8134. static bool nrf52_errata_216(void)
  8135. {
  8136. #ifndef NRF52_SERIES
  8137. return false;
  8138. #else
  8139. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  8140. uint32_t var1 = *(uint32_t *)0x10000130ul;
  8141. uint32_t var2 = *(uint32_t *)0x10000134ul;
  8142. #endif
  8143. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  8144. if (var1 == 0x08)
  8145. {
  8146. switch(var2)
  8147. {
  8148. case 0x00ul:
  8149. return true;
  8150. case 0x01ul:
  8151. return true;
  8152. case 0x02ul:
  8153. return true;
  8154. case 0x03ul:
  8155. return true;
  8156. default:
  8157. return true;
  8158. }
  8159. }
  8160. #endif
  8161. return false;
  8162. #endif
  8163. }
  8164. static bool nrf52_errata_217(void)
  8165. {
  8166. #ifndef NRF52_SERIES
  8167. return false;
  8168. #else
  8169. #if defined (NRF52805_XXAA) || defined (DEVELOP_IN_NRF52805)\
  8170. || defined (NRF52810_XXAA) || defined (DEVELOP_IN_NRF52810)\
  8171. || defined (NRF52811_XXAA) || defined (DEVELOP_IN_NRF52811)
  8172. uint32_t var1 = *(uint32_t *)0x10000130ul;
  8173. uint32_t var2 = *(uint32_t *)0x10000134ul;
  8174. #endif
  8175. #if defined (NRF52810_XXAA) || defined (DEVELOP_IN_NRF52810)
  8176. if (var1 == 0x0A)
  8177. {
  8178. switch(var2)
  8179. {
  8180. case 0x00ul:
  8181. return false;
  8182. case 0x01ul:
  8183. return true;
  8184. default:
  8185. return true;
  8186. }
  8187. }
  8188. #endif
  8189. #if defined (NRF52811_XXAA) || defined (DEVELOP_IN_NRF52811)
  8190. if (var1 == 0x0E)
  8191. {
  8192. switch(var2)
  8193. {
  8194. case 0x00ul:
  8195. return true;
  8196. default:
  8197. return true;
  8198. }
  8199. }
  8200. #endif
  8201. #if defined (NRF52805_XXAA) || defined (DEVELOP_IN_NRF52805)
  8202. if (var1 == 0x0F)
  8203. {
  8204. switch(var2)
  8205. {
  8206. case 0x00ul:
  8207. return true;
  8208. default:
  8209. return true;
  8210. }
  8211. }
  8212. #endif
  8213. return false;
  8214. #endif
  8215. }
  8216. static bool nrf52_errata_218(void)
  8217. {
  8218. #ifndef NRF52_SERIES
  8219. return false;
  8220. #else
  8221. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  8222. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  8223. uint32_t var1;
  8224. uint32_t var2;
  8225. if (*(uint32_t *)0x10000130ul == 0xFFFFFFFF)
  8226. {
  8227. var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  8228. var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  8229. }
  8230. else
  8231. {
  8232. var1 = *(uint32_t *)0x10000130ul;
  8233. var2 = *(uint32_t *)0x10000134ul;
  8234. }
  8235. #elif defined (NRF52820_XXAA) || defined (DEVELOP_IN_NRF52820)\
  8236. || defined (NRF52833_XXAA) || defined (DEVELOP_IN_NRF52833)\
  8237. || defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  8238. uint32_t var1 = *(uint32_t *)0x10000130ul;
  8239. uint32_t var2 = *(uint32_t *)0x10000134ul;
  8240. #endif
  8241. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  8242. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  8243. if (var1 == 0x06)
  8244. {
  8245. switch(var2)
  8246. {
  8247. case 0x03ul:
  8248. return false;
  8249. case 0x04ul:
  8250. return false;
  8251. case 0x05ul:
  8252. return true;
  8253. case 0x06ul:
  8254. return true;
  8255. default:
  8256. return true;
  8257. }
  8258. }
  8259. #endif
  8260. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  8261. if (var1 == 0x08)
  8262. {
  8263. switch(var2)
  8264. {
  8265. case 0x00ul:
  8266. return false;
  8267. case 0x01ul:
  8268. return false;
  8269. case 0x02ul:
  8270. return true;
  8271. case 0x03ul:
  8272. return true;
  8273. default:
  8274. return true;
  8275. }
  8276. }
  8277. #endif
  8278. #if defined (NRF52833_XXAA) || defined (DEVELOP_IN_NRF52833)
  8279. if (var1 == 0x0D)
  8280. {
  8281. switch(var2)
  8282. {
  8283. case 0x00ul:
  8284. return true;
  8285. case 0x01ul:
  8286. return true;
  8287. default:
  8288. return true;
  8289. }
  8290. }
  8291. #endif
  8292. #if defined (NRF52820_XXAA) || defined (DEVELOP_IN_NRF52820)
  8293. if (var1 == 0x10)
  8294. {
  8295. switch(var2)
  8296. {
  8297. case 0x00ul:
  8298. return true;
  8299. case 0x01ul:
  8300. return true;
  8301. case 0x02ul:
  8302. return false;
  8303. default:
  8304. return false;
  8305. }
  8306. }
  8307. #endif
  8308. return false;
  8309. #endif
  8310. }
  8311. static bool nrf52_errata_219(void)
  8312. {
  8313. #ifndef NRF52_SERIES
  8314. return false;
  8315. #else
  8316. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  8317. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  8318. uint32_t var1;
  8319. uint32_t var2;
  8320. if (*(uint32_t *)0x10000130ul == 0xFFFFFFFF)
  8321. {
  8322. var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  8323. var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  8324. }
  8325. else
  8326. {
  8327. var1 = *(uint32_t *)0x10000130ul;
  8328. var2 = *(uint32_t *)0x10000134ul;
  8329. }
  8330. #elif defined (NRF52805_XXAA) || defined (DEVELOP_IN_NRF52805)\
  8331. || defined (NRF52810_XXAA) || defined (DEVELOP_IN_NRF52810)\
  8332. || defined (NRF52811_XXAA) || defined (DEVELOP_IN_NRF52811)\
  8333. || defined (NRF52820_XXAA) || defined (DEVELOP_IN_NRF52820)\
  8334. || defined (NRF52833_XXAA) || defined (DEVELOP_IN_NRF52833)\
  8335. || defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  8336. uint32_t var1 = *(uint32_t *)0x10000130ul;
  8337. uint32_t var2 = *(uint32_t *)0x10000134ul;
  8338. #endif
  8339. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  8340. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  8341. if (var1 == 0x06)
  8342. {
  8343. switch(var2)
  8344. {
  8345. case 0x03ul:
  8346. return false;
  8347. case 0x04ul:
  8348. return false;
  8349. case 0x05ul:
  8350. return true;
  8351. case 0x06ul:
  8352. return true;
  8353. default:
  8354. return true;
  8355. }
  8356. }
  8357. #endif
  8358. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  8359. if (var1 == 0x08)
  8360. {
  8361. switch(var2)
  8362. {
  8363. case 0x00ul:
  8364. return true;
  8365. case 0x01ul:
  8366. return true;
  8367. case 0x02ul:
  8368. return true;
  8369. case 0x03ul:
  8370. return true;
  8371. default:
  8372. return true;
  8373. }
  8374. }
  8375. #endif
  8376. #if defined (NRF52810_XXAA) || defined (DEVELOP_IN_NRF52810)
  8377. if (var1 == 0x0A)
  8378. {
  8379. switch(var2)
  8380. {
  8381. case 0x00ul:
  8382. return true;
  8383. case 0x01ul:
  8384. return true;
  8385. default:
  8386. return true;
  8387. }
  8388. }
  8389. #endif
  8390. #if defined (NRF52833_XXAA) || defined (DEVELOP_IN_NRF52833)
  8391. if (var1 == 0x0D)
  8392. {
  8393. switch(var2)
  8394. {
  8395. case 0x00ul:
  8396. return true;
  8397. case 0x01ul:
  8398. return true;
  8399. default:
  8400. return true;
  8401. }
  8402. }
  8403. #endif
  8404. #if defined (NRF52811_XXAA) || defined (DEVELOP_IN_NRF52811)
  8405. if (var1 == 0x0E)
  8406. {
  8407. switch(var2)
  8408. {
  8409. case 0x00ul:
  8410. return true;
  8411. default:
  8412. return true;
  8413. }
  8414. }
  8415. #endif
  8416. #if defined (NRF52805_XXAA) || defined (DEVELOP_IN_NRF52805)
  8417. if (var1 == 0x0F)
  8418. {
  8419. switch(var2)
  8420. {
  8421. case 0x00ul:
  8422. return true;
  8423. default:
  8424. return true;
  8425. }
  8426. }
  8427. #endif
  8428. #if defined (NRF52820_XXAA) || defined (DEVELOP_IN_NRF52820)
  8429. if (var1 == 0x10)
  8430. {
  8431. switch(var2)
  8432. {
  8433. case 0x00ul:
  8434. return true;
  8435. case 0x01ul:
  8436. return true;
  8437. case 0x02ul:
  8438. return true;
  8439. default:
  8440. return true;
  8441. }
  8442. }
  8443. #endif
  8444. return false;
  8445. #endif
  8446. }
  8447. static bool nrf52_errata_220(void)
  8448. {
  8449. #ifndef NRF52_SERIES
  8450. return false;
  8451. #else
  8452. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  8453. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  8454. uint32_t var1;
  8455. uint32_t var2;
  8456. if (*(uint32_t *)0x10000130ul == 0xFFFFFFFF)
  8457. {
  8458. var1 = ((*(uint32_t *)0xF0000FE0ul) & 0x000000FFul);
  8459. var2 = ((*(uint32_t *)0xF0000FE8ul) & 0x000000F0ul) >> 4;
  8460. }
  8461. else
  8462. {
  8463. var1 = *(uint32_t *)0x10000130ul;
  8464. var2 = *(uint32_t *)0x10000134ul;
  8465. }
  8466. #endif
  8467. #if defined (NRF52832_XXAA) || defined (DEVELOP_IN_NRF52832)\
  8468. || defined (NRF52832_XXAB) || defined (DEVELOP_IN_NRF52832)
  8469. if (var1 == 0x06)
  8470. {
  8471. switch(var2)
  8472. {
  8473. case 0x03ul:
  8474. return false;
  8475. case 0x04ul:
  8476. return false;
  8477. case 0x05ul:
  8478. return true;
  8479. case 0x06ul:
  8480. return true;
  8481. default:
  8482. return true;
  8483. }
  8484. }
  8485. #endif
  8486. return false;
  8487. #endif
  8488. }
  8489. static bool nrf52_errata_223(void)
  8490. {
  8491. #ifndef NRF52_SERIES
  8492. return false;
  8493. #else
  8494. #if defined (NRF52820_XXAA) || defined (DEVELOP_IN_NRF52820)\
  8495. || defined (NRF52833_XXAA) || defined (DEVELOP_IN_NRF52833)
  8496. uint32_t var1 = *(uint32_t *)0x10000130ul;
  8497. uint32_t var2 = *(uint32_t *)0x10000134ul;
  8498. #endif
  8499. #if defined (NRF52833_XXAA) || defined (DEVELOP_IN_NRF52833)
  8500. if (var1 == 0x0D)
  8501. {
  8502. switch(var2)
  8503. {
  8504. case 0x00ul:
  8505. return true;
  8506. case 0x01ul:
  8507. return true;
  8508. default:
  8509. return true;
  8510. }
  8511. }
  8512. #endif
  8513. #if defined (NRF52820_XXAA) || defined (DEVELOP_IN_NRF52820)
  8514. if (var1 == 0x10)
  8515. {
  8516. switch(var2)
  8517. {
  8518. case 0x00ul:
  8519. return true;
  8520. case 0x01ul:
  8521. return true;
  8522. case 0x02ul:
  8523. return true;
  8524. default:
  8525. return true;
  8526. }
  8527. }
  8528. #endif
  8529. return false;
  8530. #endif
  8531. }
  8532. static bool nrf52_errata_225(void)
  8533. {
  8534. #ifndef NRF52_SERIES
  8535. return false;
  8536. #else
  8537. #if defined (NRF52820_XXAA) || defined (DEVELOP_IN_NRF52820)\
  8538. || defined (NRF52833_XXAA) || defined (DEVELOP_IN_NRF52833)
  8539. uint32_t var1 = *(uint32_t *)0x10000130ul;
  8540. uint32_t var2 = *(uint32_t *)0x10000134ul;
  8541. #endif
  8542. #if defined (NRF52833_XXAA) || defined (DEVELOP_IN_NRF52833)
  8543. if (var1 == 0x0D)
  8544. {
  8545. switch(var2)
  8546. {
  8547. case 0x00ul:
  8548. return true;
  8549. case 0x01ul:
  8550. return true;
  8551. default:
  8552. return true;
  8553. }
  8554. }
  8555. #endif
  8556. #if defined (NRF52820_XXAA) || defined (DEVELOP_IN_NRF52820)
  8557. if (var1 == 0x10)
  8558. {
  8559. switch(var2)
  8560. {
  8561. case 0x00ul:
  8562. return true;
  8563. case 0x01ul:
  8564. return true;
  8565. case 0x02ul:
  8566. return true;
  8567. default:
  8568. return true;
  8569. }
  8570. }
  8571. #endif
  8572. return false;
  8573. #endif
  8574. }
  8575. static bool nrf52_errata_228(void)
  8576. {
  8577. #ifndef NRF52_SERIES
  8578. return false;
  8579. #else
  8580. #if defined (NRF52810_XXAA) || defined (DEVELOP_IN_NRF52810)\
  8581. || defined (NRF52811_XXAA) || defined (DEVELOP_IN_NRF52811)\
  8582. || defined (NRF52820_XXAA) || defined (DEVELOP_IN_NRF52820)\
  8583. || defined (NRF52833_XXAA) || defined (DEVELOP_IN_NRF52833)\
  8584. || defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  8585. uint32_t var1 = *(uint32_t *)0x10000130ul;
  8586. uint32_t var2 = *(uint32_t *)0x10000134ul;
  8587. #endif
  8588. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  8589. if (var1 == 0x08)
  8590. {
  8591. switch(var2)
  8592. {
  8593. case 0x00ul:
  8594. return true;
  8595. case 0x01ul:
  8596. return true;
  8597. case 0x02ul:
  8598. return true;
  8599. case 0x03ul:
  8600. return true;
  8601. default:
  8602. return true;
  8603. }
  8604. }
  8605. #endif
  8606. #if defined (NRF52810_XXAA) || defined (DEVELOP_IN_NRF52810)
  8607. if (var1 == 0x0A)
  8608. {
  8609. switch(var2)
  8610. {
  8611. case 0x00ul:
  8612. return false;
  8613. case 0x01ul:
  8614. return true;
  8615. default:
  8616. return true;
  8617. }
  8618. }
  8619. #endif
  8620. #if defined (NRF52833_XXAA) || defined (DEVELOP_IN_NRF52833)
  8621. if (var1 == 0x0D)
  8622. {
  8623. switch(var2)
  8624. {
  8625. case 0x00ul:
  8626. return true;
  8627. case 0x01ul:
  8628. return true;
  8629. default:
  8630. return true;
  8631. }
  8632. }
  8633. #endif
  8634. #if defined (NRF52811_XXAA) || defined (DEVELOP_IN_NRF52811)
  8635. if (var1 == 0x0E)
  8636. {
  8637. switch(var2)
  8638. {
  8639. case 0x00ul:
  8640. return true;
  8641. default:
  8642. return true;
  8643. }
  8644. }
  8645. #endif
  8646. #if defined (NRF52820_XXAA) || defined (DEVELOP_IN_NRF52820)
  8647. if (var1 == 0x10)
  8648. {
  8649. switch(var2)
  8650. {
  8651. case 0x00ul:
  8652. return true;
  8653. case 0x01ul:
  8654. return true;
  8655. case 0x02ul:
  8656. return true;
  8657. default:
  8658. return true;
  8659. }
  8660. }
  8661. #endif
  8662. return false;
  8663. #endif
  8664. }
  8665. static bool nrf52_errata_230(void)
  8666. {
  8667. #ifndef NRF52_SERIES
  8668. return false;
  8669. #else
  8670. #if defined (NRF52820_XXAA) || defined (DEVELOP_IN_NRF52820)
  8671. uint32_t var1 = *(uint32_t *)0x10000130ul;
  8672. uint32_t var2 = *(uint32_t *)0x10000134ul;
  8673. #endif
  8674. #if defined (NRF52820_XXAA) || defined (DEVELOP_IN_NRF52820)
  8675. if (var1 == 0x10)
  8676. {
  8677. switch(var2)
  8678. {
  8679. case 0x00ul:
  8680. return true;
  8681. case 0x01ul:
  8682. return false;
  8683. case 0x02ul:
  8684. return false;
  8685. default:
  8686. return false;
  8687. }
  8688. }
  8689. #endif
  8690. return false;
  8691. #endif
  8692. }
  8693. static bool nrf52_errata_231(void)
  8694. {
  8695. #ifndef NRF52_SERIES
  8696. return false;
  8697. #else
  8698. #if defined (NRF52820_XXAA) || defined (DEVELOP_IN_NRF52820)
  8699. uint32_t var1 = *(uint32_t *)0x10000130ul;
  8700. uint32_t var2 = *(uint32_t *)0x10000134ul;
  8701. #endif
  8702. #if defined (NRF52820_XXAA) || defined (DEVELOP_IN_NRF52820)
  8703. if (var1 == 0x10)
  8704. {
  8705. switch(var2)
  8706. {
  8707. case 0x00ul:
  8708. return true;
  8709. case 0x01ul:
  8710. return false;
  8711. case 0x02ul:
  8712. return false;
  8713. default:
  8714. return false;
  8715. }
  8716. }
  8717. #endif
  8718. return false;
  8719. #endif
  8720. }
  8721. static bool nrf52_errata_232(void)
  8722. {
  8723. #ifndef NRF52_SERIES
  8724. return false;
  8725. #else
  8726. #if defined (NRF52810_XXAA) || defined (DEVELOP_IN_NRF52810)\
  8727. || defined (NRF52811_XXAA) || defined (DEVELOP_IN_NRF52811)
  8728. uint32_t var1 = *(uint32_t *)0x10000130ul;
  8729. uint32_t var2 = *(uint32_t *)0x10000134ul;
  8730. #endif
  8731. #if defined (NRF52810_XXAA) || defined (DEVELOP_IN_NRF52810)
  8732. if (var1 == 0x0A)
  8733. {
  8734. switch(var2)
  8735. {
  8736. case 0x00ul:
  8737. return false;
  8738. case 0x01ul:
  8739. return true;
  8740. default:
  8741. return true;
  8742. }
  8743. }
  8744. #endif
  8745. #if defined (NRF52811_XXAA) || defined (DEVELOP_IN_NRF52811)
  8746. if (var1 == 0x0E)
  8747. {
  8748. switch(var2)
  8749. {
  8750. case 0x00ul:
  8751. return true;
  8752. default:
  8753. return true;
  8754. }
  8755. }
  8756. #endif
  8757. return false;
  8758. #endif
  8759. }
  8760. static bool nrf52_errata_233(void)
  8761. {
  8762. #ifndef NRF52_SERIES
  8763. return false;
  8764. #else
  8765. #if defined (NRF52820_XXAA) || defined (DEVELOP_IN_NRF52820)\
  8766. || defined (NRF52833_XXAA) || defined (DEVELOP_IN_NRF52833)\
  8767. || defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  8768. uint32_t var1 = *(uint32_t *)0x10000130ul;
  8769. uint32_t var2 = *(uint32_t *)0x10000134ul;
  8770. #endif
  8771. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  8772. if (var1 == 0x08)
  8773. {
  8774. switch(var2)
  8775. {
  8776. case 0x00ul:
  8777. return true;
  8778. case 0x01ul:
  8779. return true;
  8780. case 0x02ul:
  8781. return true;
  8782. case 0x03ul:
  8783. return true;
  8784. default:
  8785. return true;
  8786. }
  8787. }
  8788. #endif
  8789. #if defined (NRF52833_XXAA) || defined (DEVELOP_IN_NRF52833)
  8790. if (var1 == 0x0D)
  8791. {
  8792. switch(var2)
  8793. {
  8794. case 0x00ul:
  8795. return true;
  8796. case 0x01ul:
  8797. return true;
  8798. default:
  8799. return true;
  8800. }
  8801. }
  8802. #endif
  8803. #if defined (NRF52820_XXAA) || defined (DEVELOP_IN_NRF52820)
  8804. if (var1 == 0x10)
  8805. {
  8806. switch(var2)
  8807. {
  8808. case 0x00ul:
  8809. return true;
  8810. case 0x01ul:
  8811. return true;
  8812. case 0x02ul:
  8813. return false;
  8814. default:
  8815. return false;
  8816. }
  8817. }
  8818. #endif
  8819. return false;
  8820. #endif
  8821. }
  8822. static bool nrf52_errata_236(void)
  8823. {
  8824. #ifndef NRF52_SERIES
  8825. return false;
  8826. #else
  8827. #if defined (NRF52810_XXAA) || defined (DEVELOP_IN_NRF52810)\
  8828. || defined (NRF52811_XXAA) || defined (DEVELOP_IN_NRF52811)\
  8829. || defined (NRF52820_XXAA) || defined (DEVELOP_IN_NRF52820)\
  8830. || defined (NRF52833_XXAA) || defined (DEVELOP_IN_NRF52833)\
  8831. || defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  8832. uint32_t var1 = *(uint32_t *)0x10000130ul;
  8833. uint32_t var2 = *(uint32_t *)0x10000134ul;
  8834. #endif
  8835. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  8836. if (var1 == 0x08)
  8837. {
  8838. switch(var2)
  8839. {
  8840. case 0x00ul:
  8841. return true;
  8842. case 0x01ul:
  8843. return true;
  8844. case 0x02ul:
  8845. return true;
  8846. case 0x03ul:
  8847. return true;
  8848. default:
  8849. return true;
  8850. }
  8851. }
  8852. #endif
  8853. #if defined (NRF52810_XXAA) || defined (DEVELOP_IN_NRF52810)
  8854. if (var1 == 0x0A)
  8855. {
  8856. switch(var2)
  8857. {
  8858. case 0x00ul:
  8859. return false;
  8860. case 0x01ul:
  8861. return true;
  8862. default:
  8863. return true;
  8864. }
  8865. }
  8866. #endif
  8867. #if defined (NRF52833_XXAA) || defined (DEVELOP_IN_NRF52833)
  8868. if (var1 == 0x0D)
  8869. {
  8870. switch(var2)
  8871. {
  8872. case 0x00ul:
  8873. return true;
  8874. case 0x01ul:
  8875. return true;
  8876. default:
  8877. return true;
  8878. }
  8879. }
  8880. #endif
  8881. #if defined (NRF52811_XXAA) || defined (DEVELOP_IN_NRF52811)
  8882. if (var1 == 0x0E)
  8883. {
  8884. switch(var2)
  8885. {
  8886. case 0x00ul:
  8887. return true;
  8888. default:
  8889. return true;
  8890. }
  8891. }
  8892. #endif
  8893. #if defined (NRF52820_XXAA) || defined (DEVELOP_IN_NRF52820)
  8894. if (var1 == 0x10)
  8895. {
  8896. switch(var2)
  8897. {
  8898. case 0x00ul:
  8899. return true;
  8900. case 0x01ul:
  8901. return true;
  8902. case 0x02ul:
  8903. return false;
  8904. default:
  8905. return false;
  8906. }
  8907. }
  8908. #endif
  8909. return false;
  8910. #endif
  8911. }
  8912. static bool nrf52_errata_237(void)
  8913. {
  8914. #ifndef NRF52_SERIES
  8915. return false;
  8916. #else
  8917. #if defined (NRF52810_XXAA) || defined (DEVELOP_IN_NRF52810)\
  8918. || defined (NRF52811_XXAA) || defined (DEVELOP_IN_NRF52811)\
  8919. || defined (NRF52820_XXAA) || defined (DEVELOP_IN_NRF52820)\
  8920. || defined (NRF52833_XXAA) || defined (DEVELOP_IN_NRF52833)\
  8921. || defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  8922. uint32_t var1 = *(uint32_t *)0x10000130ul;
  8923. uint32_t var2 = *(uint32_t *)0x10000134ul;
  8924. #endif
  8925. #if defined (NRF52840_XXAA) || defined (DEVELOP_IN_NRF52840)
  8926. if (var1 == 0x08)
  8927. {
  8928. switch(var2)
  8929. {
  8930. case 0x00ul:
  8931. return true;
  8932. case 0x01ul:
  8933. return true;
  8934. case 0x02ul:
  8935. return true;
  8936. case 0x03ul:
  8937. return true;
  8938. default:
  8939. return true;
  8940. }
  8941. }
  8942. #endif
  8943. #if defined (NRF52810_XXAA) || defined (DEVELOP_IN_NRF52810)
  8944. if (var1 == 0x0A)
  8945. {
  8946. switch(var2)
  8947. {
  8948. case 0x00ul:
  8949. return true;
  8950. case 0x01ul:
  8951. return true;
  8952. default:
  8953. return true;
  8954. }
  8955. }
  8956. #endif
  8957. #if defined (NRF52833_XXAA) || defined (DEVELOP_IN_NRF52833)
  8958. if (var1 == 0x0D)
  8959. {
  8960. switch(var2)
  8961. {
  8962. case 0x00ul:
  8963. return true;
  8964. case 0x01ul:
  8965. return true;
  8966. default:
  8967. return true;
  8968. }
  8969. }
  8970. #endif
  8971. #if defined (NRF52811_XXAA) || defined (DEVELOP_IN_NRF52811)
  8972. if (var1 == 0x0E)
  8973. {
  8974. switch(var2)
  8975. {
  8976. case 0x00ul:
  8977. return true;
  8978. default:
  8979. return true;
  8980. }
  8981. }
  8982. #endif
  8983. #if defined (NRF52820_XXAA) || defined (DEVELOP_IN_NRF52820)
  8984. if (var1 == 0x10)
  8985. {
  8986. switch(var2)
  8987. {
  8988. case 0x00ul:
  8989. return true;
  8990. case 0x01ul:
  8991. return true;
  8992. case 0x02ul:
  8993. return false;
  8994. default:
  8995. return false;
  8996. }
  8997. }
  8998. #endif
  8999. return false;
  9000. #endif
  9001. }
  9002. static bool nrf52_errata_248(void)
  9003. {
  9004. #ifndef NRF52_SERIES
  9005. return false;
  9006. #else
  9007. return false;
  9008. #endif
  9009. }
  9010. #endif /* NRF52_ERRATAS_H */